Better Search UX Through Microcopy

Original Source:

Better Search UX Through Microcopy

Better Search UX Through Microcopy

Andrew Millen


It’s hard to overstate the importance of web search. Searching is as old as the Internet itself, and by some measures, even older. A well-designed search benefits both you and your users; it increases conversions, reduces bounce rates, and improves the user experience.

Search is especially important on large scale sites and e-commerce experiences, where the majority of revenue comes from search-driven sessions. Studies show that up to 50% of users go straight to the internal search bar of a website, and that 15% outright prefer using the search function to browsing the hierarchical menu. This means that for all the love and care that goes into determining the information architecture of a site, just as much has to go into designing the search experience.

Complicating the problem is the fact that users’ search skills are flimsy at best, and incompetent at worst. Getting good results from a search engine often requires multiple attempts and reformulations, which users rarely do. And as search technology improves over time, users are increasingly likely to accept the results of a search as the answer to their question, even if their query was flawed. Users who favor searches tend to move quickly, scanning the page for that familiar-looking rectangle, and bouncing quickly when they don’t find what they’re looking for.

Communicating with those users “at speed” is a tricky job that requires a specialized tool: microcopy. The name ‘microcopy’ belies its own importance. It may be small, but big successes often hinge on it. It’s a place where voice can shine through, where good impressions are made, and where utility and branding intersect. With that in mind, let’s dive into the many ways that microcopy and contextualization can vastly improve a search experience.

Placing And Labeling Your Search

In accordance with Jakob’s Law, your first instinct when designing a search bar should be to put a rectangular box in the upper right or upper left corner. You should add a label or A11y-friendly placeholder text, and include a submit button that says “Search.”

Hiding the search bar behind a link, forgoing placeholder text, or opting for magnifying glass icon CTA instead of plain text are all valid design decisions in the right context. Just make sure you’re not abstracting the function of the search bar unnecessarily because searching already has a higher interaction cost than browsing.

Every barrier, however inconsequential you may find it as a designer, risks negatively affecting the UX and your bottom line. If there’s a risk your users may confuse the magnifying glass icon for a “zoom” button, you should mitigate that.

Placeholder Text

Placeholder text is a great place to enhance the experience. It can be informational, it can be a place for brand expression, and it can nudge wavering users in the right direction. Anytime I see a search bar that just says “Search,” I see a missed opportunity.

So what’s a better approach? It varies from site to site. First, familiarize yourself with your business goals, your brand, and your users’ existing habits. Then, consider how you can be the most helpful.

Nudge The User

A suggestive approach can reduce the user’s anxiety. Clue your users into the fact that they can search in multiple ways, especially if they may not be familiar with your full range of products or services. ASOS suggests searching for inspiration in addition to products and brands:

The search bar on the ASOS website

(Image source: ASOS) (Large preview)

Be Informative

Tell the user exactly what they’ll be getting when they hit submit. On Shutterstock, a site wholly devoted to the search of a massive photo archive, this placeholder text cleverly doubles as a tagline when paired with the logo:

The search bar on the Shutterstock website

(Image source: Shutterstock) (Large preview)

Reinforce The Brand

Home Depot’s search bar doesn’t lead the user, but instead presents a helpful, personal tone which I’m sure is in line with their brand voice guidelines. This is probably the best approach considering the size of their product catalog:

Home Depot’s search bar

(Image source: The Home Depot) (Large preview)

Using Search Logs To Your Advantage

If you’re not sure the best way to optimize your placeholder text, a good place to start is your search log database. Learning how to break down these results can be incredibly valuable when formulating helpful content design. You’ll be able to see first-hand the vocabulary people use to search your site, and more importantly, the gaps between what you offer and what your users are looking for.

Suggested, Related, And Recent Searches

During the search process, your copy should offer as much help along the way as possible without being overbearing. That includes everything from an obvious “Cancel” or “Clear” button to logging each user’s recent searches for surfacing later. When choosing the right microcopy to accompany these features, add a dash of brown sauce.


Users who use the search bar are doing so because they’re looking for something specific, which makes autosuggestions a valuable (and increasingly expected) tool. Specificity, in this case, may be as focused as “Women’s gray shoe size 9M” or as open-ended as “Sandwich shops near me.”

Autosuggestions also reduce the risk of returning bad results, alleviate the mental effort on the user, and present an opportunity to surface your most popular products.


(Image source: Chewy) (Large preview)

Often these don’t require additional context or copy at all, but can just be listed below the search bar as the user types, as shown in the example above.

Related Searches

Showing related searches on the results page is another way to help guide users without getting in the way. A common pattern is providing a few clickable keywords related to the original query above the results. A little copy that states “Other users searched for” is a good way to incorporate social proof into the search experience.

Recent Searches

If your technology allows it, saving and resurfacing recent searches is another way to helpfully reduce the memory load on the user. Make sure you add context with copy, but it can be as straightforward as this:

The search bar on the Macy’s website

(Image source: Macy’s) (Large preview)

Handling Results

There are a two pieces of copy that I’d consider required when displaying search results:

The query itself.
If the search bar is highly visible, it can be displayed here. You can also create an H1 that states “Results for {{terms}}.”
The number of results.
If the results are paginated, you might also include the number of pages.

The search bar on the REI Co-op website

(Image source: REI Co-op) (Large preview)

No Results

Whether through their own error not, users will inevitably encounter a “no results” page at some point. Luckily, there are ways to handle this gracefully; in fact, with the right approach, this dead end can actually be a great opportunity for content discovery.

First of all, don’t expect your users to refine their search if they get no results — at least not without a UI that encourages it. Users are reluctant to reformulate their query and have trouble when trying to. They’re more likely to engage with whatever information they’re presented with and take it from there, or abandon the task entirely. (When was the last time you clicked through to the second page of Google search results?)

That said, it’s easy to see how a little copywriting and contextualization can improve the experience. Nielsen Norman Group has a comprehensive guide on how to handle No Results SERPs, with the gist being:

Make it obvious there are no results.
It’s easy to get cute and accidentally bury the lede. It’s also tempting to intentionally hide the “no results” messaging to obfuscate the error entirely. Either way, don’t trick the user.
Offer paths forward.
Suggest ways to refine the search query (such as checking your spelling), and also provide links to popular content or products that have the highest likelihood of connecting with the user.
Strike the right tone.
Use your brand voice, but don’t run the risk of exacerbating the situation with humor that might be ill-received by a frustrated user.

Also, bear in mind that empty SERPs may arise because a user mistakenly submitted without entering any query at all. You should have a content plan for this scenario as well rather than returning all items in the database, for example.

Wrapping Up

Writing a good search experience comes down to thoughtfulness. As designers, we’ve probably used and created hundreds of different web search experiences, so we breeze through the process. But when we consider every small step of the process (every microinteraction and every edge case), the minor changes we make can have a major impact on the experience. Next time you find yourself reaching for a visual solution to a search problem, consider using your words instead.

Further Reading on SmashingMag:

How To Run A Content-Planning Workshop
How Copywriting Can Benefit From User Research
Designing The Words: Why Copy Is A Design Issue
How To Deal With Redundant, Out-Of-Date And Trivial Content ROT

Smashing Editorial
(dm, yk, il)

Comparing Popular WordPress Form Plugins

Original Source:

There are a lot of WordPress form plugins out there. And we mean a lot. If you’ve found yourself lost in a sea of forms, we’re here to rescue you with this comparison of the six most popular, general-purpose form plugins.

These are Gravity Forms, Contact Form 7, WPForms (Lite), Ninja Forms (Free), Formidable Forms (Free), and Caldera Forms (Free).

We’ll help you get much closer to making a decision by collecting the top features of these popular plugins here – so you don’t have to go sifting through their sites yourself.


Contact Form 7 is the only plugin in this list that is fully free, but WPForms, Ninja Forms, Formidable Forms, and Caldera Forms all have a lite version. Of these free versions, Caldera Forms contains the most advanced features like conditional logic and multi-page.

Here’s a breakdown of the minimum to maximum prices for each premium plugin:

Formidable Forms: $99/year – $449/year.
Gravity Forms: $59/year – $259/year.
WPForms: $79/year – $599/year (not including introductory pricing).
Ninja Forms: $99/year – $499/year.
Caldera Forms: $164/year – $549/year.


Payment Integrations

Gravity Forms integrates with a variety of payment processors starting at the Pro license including PayPal, Stripe,, and 2Checkout. Caldera also supports numerous processors from the Individual license onward.

WPForms supports PayPal and Stripe at the Pro license. For Ninja Forms, the Personal license supports PayPal and Professional Stripe and Recurly. Formidable Forms’ Business license includes PayPal while Elite nets you Stripe and

Contact Form 7 contains none by default. However, it’s the only form plugin that enables you to accept payments for free, albeit with third-party addons.

Person swiping a credit card.


All these plugins except Contact Form 7 use a drag and drop live interface, and are responsive by default. You can use plugins and CSS to make CF7 responsive or have a different interface than the markup it uses to generate forms. All also come with some form of anti-spam protection.

Conditional logic, multi-page, and file uploading are among the most wanted features in a form builder.

You can find them in the base plans of every plugin – except Caldera Forms, which provides them in the lite version instead. Contact Form 7 includes only file uploading by default but – you know the drill – third-party plugins can add these extra features.

Conditional Fields for Contact Form 7

As for customization, Gravity Forms comes with 30+ form fields and plenty of options to configure. Contact Form 7 has various tags you can include, like text, email, URL, and checkbox input. WPForms offers pre-built templates as well as various helpful fields and addons that include more form types.

Ninja Forms also offers 30+ field types and templates to base your forms off of as well, plus plenty of fine-tuning options. The Personal plan includes extra layouts and styles to customize with.

Formidable Forms includes flexible layout design and a visual styling tool that lets you change colors and appearance on the spot. There are lots of custom fields as well. And Caldera Forms is built to match your theme styling, and there are dozens of field types to work with.

Out of these, Ninja Forms and Formidable forms include the most visual styling options, while WPForms, Gravity Forms, and Ninja Forms win in flexibility with many field and form types to choose form.

Final Comparison

Now that you’ve got the basics, let’s do a quick summary of these six form builders.

Gravity Forms is geared for businesses and professionals. It has a ton of useful integrations and is cheaply priced.
Contact Form 7 was made for individuals who need a no-frills form plugin, now. You’ll need to use third-party plugins to get the most out of it.
WPForms is designed for an all-around audience, beginners and advanced. It’s the most balanced of these with a good number of features and integrations. Simple but powerful.
Ninja Forms is defined by the sheer amount of addons available for it. Purchasing plans are centered around those addons – but its free version makes a decent simple form builder even without them.
Formidable Forms is great for developers as well as general users. It’s powerful, cheap, and devs will love using its API to extend it.
And Caldera Forms is a great one for beginners and businesses both who need an easy-to-set-up plugin. It has the most expensive entry price, but this is balanced by the advanced features available in the free version.

Armed with this knowledge, you should be able to choose a form plugin that perfectly suits your needs. We hope this helped you find what you were looking for – now get out there and start building your first form!

U.S. Women's National Soccer Team Web Design Concept

Original Source:

U.S. Women’s National Soccer Team Web Design Concept
U.S. Women's National Soccer Team Web Design Concept

AoiroStudioJun 07, 2019

Oliver Gareis has shared with us through our Facebook, a cool web design concept for U.S. Women’s National Soccer Team. Oliver has worked on projects like the web design for the Batman V Superman: Dawn of Justice movie. He has this great ability at adjusting text, layout, and imagery with style to enhance our desktop experience. For U.S. Women’s National Soccer concept, I just love how his design is empowering women through big bold fonts, enforcing colours and at the same time paying tribute to the flag. I wish to see more of responsive design in the near future, a suggestion!

I love to watch soccer in any form. When I see the United States Womens National Team site I came up with the idea to give this whole thing a digital rebrand. I love to explore new styles in my free time and try out new things. My goal was, to create a unique sport driven look with a touch of femininity.

More Links

Personal Site
Web Design & UI/UX

U.S. Women's National Soccer Team Web Design ConceptU.S. Women's National Soccer Team Web Design ConceptU.S. Women's National Soccer Team Web Design ConceptU.S. Women's National Soccer Team Web Design ConceptU.S. Women's National Soccer Team Web Design Concept

Follow Oliver on Behance

Name Your Price for the Hardcore Game Dev Bundle

Original Source:

Being a game developer is hard and challenging. They put so much time and effort into developing an amazing game only for it to fail within a week or two. There are hundreds of new games being released on the mobile platform on almost a daily basis – 20% of which are withdraw as unprofitable […]

The post Name Your Price for the Hardcore Game Dev Bundle appeared first on

The Benefits of Attending a WordCamp

Original Source:

Of all the tools web designers use to make a living, WordPress stands out as unique. And it’s not necessarily because of the software itself (which is excellent, by the way).

No, what really separates WordPress from just about everything else out there is the amazing community built around it. It’s made up of an incredibly diverse group – web professionals, bloggers, business owners and educators (to name just a few). They hail from all over the world and pretty much every background you can imagine.

Among the crown jewels of this community are the many WordCamps held annually. These events have taken place in over 60 countries, spanning 6 continents (sorry, Antarctica – your time will come).

If you haven’t gotten around to attending an event, it’s definitely something to put on your bucket list. There are a number of benefits to doing so, including:

A Low-Cost Day Out

Everyone needs some time out of the office – even if it’s work-related (though WordCamps rarely feel like work). And you can’t get one much more affordable than a WordCamp. Prices are generally kept to around $20 USD per day! How many pro-level conferences can you attend for about the price of dinner at a pizza place?

Speaking of which, you won’t go hungry while you’re there. For that more-than-reasonable price, you’ll often get a meal (typically lunch), while snacks and beverages are also included. Plus, just walking in the door nets you a giveaway item, like a custom T-Shirt.

Prices are generally kept low due to the kindness of sponsors – both corporate and individual. As a bonus, they often attend the conference with their own collection of swag to give away.

Depending on the location of the camp, the largest expense for attendees tends to be travel (and, if necessary, a hotel). However, various organizations may provide grants to those in need of assistance, such as the Kim Parsell Memorial Scholarship.

A jar of pennies spilled on a table.

The Chance to Meet New People

Part of the WordPress community’s strength lies in its ability to attract people from all walks of life. Go to a WordCamp and you’re likely to run into experts and novices alike – not to mention everyone in-between those two skill levels.

And you can’t help but find yourself in at least a few good conversations. This is particularly true between sessions and at meal time, when attendees often congregate in a common area. Therefore, you’ll want to be prepared to answer the question, “How do you use WordPress?”

It’s also worth noting that the atmosphere is generally laid back. There is no corporate stiffness to be found and the dress code is pretty much come-as-you-are.

Overall, people are friendly and willing to chat. But even if you’re a bit shy – not to worry. You’ll find yourself in a place that lets you be you and move at your own pace.

A woman and man speaking at a desk.

Learning Opportunities

As much as anything, WordCamps are about learning. Many camps split their sessions into multiple “tracks”, each one aimed at a specific skill level or use type. For instance, you may find a track for hardcore developers along with others for visual designers, content creators or marketers.

It can be very worthwhile to attend sessions across a variety of tracks. Even if you don’t know a lot about a particular subject, you may be surprised at how much knowledge you can pick up. At the very least, you’ll have a better idea of, say, what React does or how the Gutenberg editor affects design choices.

Not only that, but you might also just discover a new favorite plugin or technique for getting things done. Everyone approaches building a WordPress website differently, and there is a chance to pick up some pointers from both speakers and attendees.

People sitting in a conference session.

Expand Your Reach

Of course, professionals primarily attend conferences to get their names out there, and a WordCamp provides a perfect opportunity to do so. And there are a number of ways to achieve your goal.

Volunteering to speak can be very effective, allowing you to show off your expertise in a particular WordPress-related area. If you’re comfortable giving presentations, this provides you with a room full of people who are eager to learn whatever knowledge you can share. Just know that you must apply to speak ahead of time, as there is often stiff competition for spots.

Even if you aren’t a featured speaker, there are still plenty of chances to network. As mentioned earlier, you’ll have opportunities to connect with other attendees, so make sure to bring lots of business cards! You never know when a casual conversation can lead to a new project.

People shaking hands across a desk.

A Worthwhile Experience

WordCamps provide a fun, affordable and potentially profitable experience. And, no matter your experience or skill level, there is an opportunity both meet new people and advance your career.

Sound interesting? To get started, watch a few of the top presentations from past events. Then, check out the upcoming schedule and register for an event in your neck of the woods.

Creating Grid-to-Fullscreen Animations with Three.js

Original Source:

Animations play a big role in how users feels about your website. They convey a lot of the personality and feel of your site. They also help the user navigate new and already known screens with more ease.

In this tutorial we want to look at how to create some interesting grid-to-fullscreen animations on images. The idea is to have a grid of smaller images and when clicking on one, the image enlarges with a special animation to cover the whole screen. We’ll aim for making them accessible, unique and visually appealing. Additionally, we want to show you the steps for making your own.

The building blocks

Before we can start doing all sorts of crazy animations, timing calculations and reality deformation we need to get the basic setup of the effect ready:

Initialize Three.js and the plane we’ll use
Position and scale the plane so it is similar to the item’s image whenever the user clicks an item
Animate the plane so it covers the complete screen

For the sake of not going too crazy with all the effects we can make, we’ll focus on making a flip effect like the one in our first demo.



To begin, lets make a basic Three.js setup and add a single 1×1 plane which we’ll re-use for the animation of every grid item. Since only one animation can happen at the time. We can have better performance by only using one plane for all animations.

This simple change is going to allow us to have any number of HTML items without affecting the performance of the animation.

As a side note, in our approach we decided to only use Three.js for the time of the animation. This means all the items are good old HTML.

This allows our code to have a natural fallback for browsers that don’t have WebGL support. And it also makes our effect more accessible.

class GridToFullscreenEffect {


const segments = 128;
var geometry = new THREE.PlaneBufferGeometry(1, 1, segments, segments);
// We’ll be using the shader material later on 😉
var material = new THREE.ShaderMaterial({
side: THREE.DoubleSide
this.mesh = new THREE.Mesh(geometry, material);

Note: We are skipping over the Three.js initialization since it’s pretty basic.

Setting the the plane geometry’s size to be 1×1 simplifies things a little bit. It removes a some of the math involved with calculating the correct scale. Since 1 scaled by any number is always going to return that same number.

Positioning and resizing

Now, we’ll resize and position the plane to match the item’s image. To do this, we’ll need to get the item’s getBoundingClientRect. Then we need to transform its values from pixels to the camera’s view units. After, we need to transform them from relative to the top left, to relative from the center. Summarized:

Map pixel units to camera’s view units
Make the units relative to the center instead of the top left
Make the position’s origin start on the plane’s center, not on the top left
Scale and position the mesh using these new values

class GridToFullscreenEffect {

// getBoundingClientRect gives pixel units relative to the top left of the pge
const rect =;
const viewSize = this.getViewSize();

// 1. Transform pixel units to camera’s view units
const widthViewUnit = (rect.width * viewSize.width) / window.innerWidth;
const heightViewUnit = (rect.height * viewSize.height) / window.innerHeight;
let xViewUnit =
(rect.left * viewSize.width) / window.innerWidth;
let yViewUnit =
( * viewSize.height) / window.innerHeight;

// 2. Make units relative to center instead of the top left.
xViewUnit = xViewUnit – viewSize.width / 2;
yViewUnit = yViewUnit – viewSize.height / 2;

// 3. Make the origin of the plane’s position to be the center instead of top Left.
let x = xViewUnit + widthViewUnit / 2;
let y = -yViewUnit – heightViewUnit / 2;

// 4. Scale and position mesh
const mesh = this.mesh;
// Since the geometry’s size is 1. The scale is equivalent to the size.
mesh.scale.x = widthViewUnit;
mesh.scale.y = heightViewUnit;
mesh.position.x = x;
mesh.position.y = y;


As a side note, scaling the mesh instead of scaling the geometry is more performant. Scaling the geometry actually changes its internal data which is slow and expensive, while scaling the mesh happens at rendering. This decision will come into play later on, so keep it in mind.

Now, bind this function to each item’s onclick event. Then our plane resizes to match the item’s image.

It’s a very simple concept, yet quite performant in the long run. Now that our plane is ready to go when clicked, lets make it cover the screen.

Basic animation

First, lets initialize the few uniforms:

uProgress – Progress of the animation
uMeshScale – Scale of the mesh
uMeshPosition – Mesh’s position from the center
uViewSize – Size of the camera’s view

We’ll also create the base for our shaders.

class GridToFullscreenEffect {
constructor(container, items){
this.uniforms = {
uProgress: new THREE.Uniform(0),
uMeshScale: new THREE.Uniform(new THREE.Vector2(1, 1)),
uMeshPosition: new THREE.Uniform(new THREE.Vector2(0, 0)),
uViewSize: new THREE.Uniform(new THREE.Vector2(1, 1)),

const viewSize = this.getViewSize();
this.uniforms.uViewSize.x = viewSize.width;
this.uniforms.uViewSize.y = viewSize.height;
var material = new THREE.ShaderMaterial({
uniform: this.uniforms,
vertexShader: vertexShader,
fragmentShader: fragmentShader,
side: THREE.DoubleSide


const vertexShader = `
uniform float uProgress;
uniform vec2 uMeshScale;
uniform vec2 uMeshPosition;
uniform vec2 uViewSize;

void main(){
vec3 pos =;
gl_Position = projectionMatrix * modelViewMatrix * vec4(pos,1.);
const fragmentShader = `
void main(){
gl_FragColor = vec4(vec3(0.2),1.);

We need to update uMeshScale and uMeshPositon uniforms whenever we click an item.

class GridToFullscreenEffect {


// Divide by scale because on the fragment shader we need values before the scale
this.uniforms.uMeshPosition.value.x = x / widthViewUnit;
this.uniforms.uMeshPosition.value.y = y / heightViewUnit;

this.uniforms.uMeshScale.value.x = widthViewUnit;
this.uniforms.uMeshScale.value.y = heightViewUnit;

Since we scaled the mesh and not the geometry, on the vertex shader our vertices still represent a 1×1 square in the center of the scene. But it ends up rendered in another position and with a different size because of the mesh. As a consequence of this optimization, we need to use “down-scaled” values in the vertex shaders. With that out of the way, lets make the effect happen in our vertex Shader:

Calculate the scale needed to match the screen size using our mesh’s scale
Move the vertices by their negative position so they move to the center
Multiply those values by the progress of the effect

const vertexShader = `
uniform float uProgress;
uniform vec2 uPlaneSize;
uniform vec2 uPlanePosition;
uniform vec2 uViewSize;

void main(){
vec3 pos =;

// Scale to page view size/page size
vec2 scaleToViewSize = uViewSize / uPlaneSize – 1.;
vec2 scale = vec2(
1. + scaleToViewSize * uProgress
pos.xy *= scale;

// Move towards center
pos.y += -uPlanePosition.y * uProgress;
pos.x += -uPlanePosition.x * uProgress;

gl_Position = projectionMatrix * modelViewMatrix * vec4(pos,1.);

Now, when we click an item. We are going to:

set our canvas container on top of the items
make the HTML item invisible
tween uProgress between 0 and 1

class GridToFullscreenEffect {


this.itemIndex = -1;
this.animating = false;
this.state = “grid”;
if (this.state === ‘grid’ || this.isAnimating) return;
this.animating = true;
this.tween =
value: 0,
onUpdate: this.render.bind(this),
onComplete: () => {
this.isAnimating = false;
this.state = “grid”; = “0”;
if (this.state === ‘fullscreen’ || this.isAnimating) return;
this.animating = true; = “2”;
this.tween =
value: 1,
onUpdate: this.render.bind(this),
onComplete: () => {
this.isAnimating = false;
this.state = “fullscreen”;


this.itemIndex = itemIndex;

We start the tween whenever we click an item. And there you go, our plane goes back and forth no matter which item we choose.

Pretty good, but not too impressive yet.

Now that we have the basic building blocks done, we can start making the cool stuff. For starters, lets go ahead and add timing.

Activation and timing

Scaling the whole plane is a little bit boring. So, lets give it some more flavor by making it scale with different patterns: Top-to-bottom, left-to-right, topLeft-to-bottomRight.

Lets take a look at how those effects behave and figure out what we need to do:

Grid Effects

By observing the effects for a minute, we can notice that the effect is all about timing. Some parts of the plane start later than others.

What we are going to do is to create an “activation” of the effect. We’ll use that activation to determine which vertices are going to start later than others.

Effects with activations

And lets see how that looks like in code:

const vertexShader = `

void main(){
vec3 pos =;

// Activation for left-to-right
float activation = uv.x;

float latestStart = 0.5;
float startAt = activation * latestStart;
float vertexProgress = smoothstep(startAt,1.,uProgress);


We’ll replace uProgress with vertexprogres for any calculations in the vertex shader.

const vertexShader = `

void main(){

float vertexProgress = smoothstep(startAt,1.,uProgress);

vec2 scaleToViewSize = uViewSize / uMeshScale – 1.;
vec2 scale = vec2(
1. + scaleToViewSize * vertexProgress
pos.xy *= scale;

// Move towards center
pos.y += -uMeshPosition.y * vertexProgress;
pos.x += -uMeshPosition.x * vertexProgress;


With this little change, our animation is not much more interesting.

Note that the gradients on the demo are there for demonstration purposes. They have nothing to do with the effect itself.

The great thing about these “activation” and “timing” concepts is that they are interchangeable implementations. This allows us to create a ton of variations.

With the activation and timing in place, lets make it more interesting with transformations.


If you haven’t noticed, we already know how to make a transformation. We successfully scaled and moved the plane forwards and backwards.

We interpolate or move from one state to another using vertexProgress. Just like we are doing in the scale and movement:

const vertexShader = `

void main(){

// Base state = 1.
// Target state = uScaleToViewSize;
// Interpolation value: vertexProgress
scale = vec2(
1. + uScaleToViewSize * vertexProgress

// Base state = pos
// Target state = -uPlaneCenter;
// Interpolation value: vertexProgress
pos.y += -uPlaneCenter.y * vertexProgress;
pos.x += -uPlaneCenter.x * vertexProgress;


Lets apply this same idea to make a flip transformation:

Base state: the vertex’s current position
Target state: The vertex flipped position
Interpolate with: the vertex progress

const vertexShader = `

void main(){

float vertexProgress = smoothstep(startAt,1.,uProgress);
// Base state: pos.x
// Target state: flippedX
// Interpolation with: vertexProgress
float flippedX = -pos.x;
pos.x = mix(pos.x,flippedX, vertexProgress);
// Put vertices that are closer to its target in front.
pos.z += vertexProgress;


Note that, because this flip sometimes puts vertices on top of each other we need to bring some of them slightly to the front to make it look correctly.

Combining these flips with different activations, these are some of the variations we came up with:

If you pay close attention to the flip you’ll notice it also flips the color/image backwards. To fix this issue we have to flip the UVs along with the position.

And there we have it! We’ve not only created an interesting and exciting flip effect, but also made sure that using this structure we can discover all kinds of effects by changing one or more of the pieces.

In fact, we created the effects seen in our demos using the configurations as part of our creative process.

There is so much more to explore! And we would love to see what you can come up with.

Here are the most interesting variations we came up with:

Different timing creation:


Activation based on mouse position, and deformation with noise:


Distance deformation and mouse position activation:


We hope you enjoyed this tutorial and find it helpful!

Creating Grid-to-Fullscreen Animations with Three.js was written by Daniel Velasquez and published on Codrops.

Inspirational Websites Roundup #5

Original Source:

Another wonderful month has passed and the level of web design goodness leaves nothing to be desired: bold typography and artistic details are the expressive means of many. Creative uniqueness is wanted more than ever these days and its reflected in details like custom cursors and distinctive WebGL-powered distortion animations.

We hope you enjoy this month’s collection and get inspired!





Martin Ehrlich








Eva García


Hôtel Particulier


PAM Studio




Nike Circular Design Guide –








The Avener










Kuwait Case Landing




Inspirational Websites Roundup #5 was written by Mary Lou and published on Codrops.

How to Find a Marketplace to Sell Your Designs

Original Source:

Once you have finished your batch of logos, website design, or whatever creative work you made, you need a marketplace to sell it on. There are a vast number of websites out there for you to choose from.

Selling your designs is a very easy way to make some extra money and to expand your brand. Whether you are an illustrator, 3D artist or logo maker, there is a demand for your creative work.

There is no longer a need to build your own website to sell designs. Now, it is easier than ever to list your work on ecommerce websites to help you reach thousands (if not millions) of people. This article will help you find the one that best suits your needs.

Creative Market

Screen from Creative Market

“Empowering creators to make a living doing what they love” is a phrase that Creative Market uses to describe what they offer and this holds very true. Creative Market has a network of about 5.9 million potential customers that could be interested in purchasing your work.

This marketplace is used to sell graphics, WordPress themes, stock photos, and many other digital goods. There are many success stories from sellers using Creative Market to sell their goods and making a lot of money doing so. Stories such as Nicky Laatz, a South African shop owner, who has earned more than $1,000,000 selling her work on Creative Market.

Envato Elements

Screen from Envato Elements

Envato Elements is a digital marketplace that allows creators to sell multiple digital goods such as graphics, fonts, WordPress themes, web templates and photos – along with many more digital items.

The company believes in supporting independent designers and that when the community succeeds, the company succeeds. With this belief they share an even 50% of the net revenue with their designers and sellers. This marketplace is driven exclusively by the community of designers who sell their work with them. Envato Elements is a great way to get paid for your creative work.


Screen from DesignCuts

DesignCuts is a digital marketplace that is driven by the community. They are very selective in who they allow to sell on their marketplace. Taking a visit to their website, you will see the quote “We’re very exclusive and work with only the best designers in the world, curating the highest quality marketplace around.”

This means it is tough to become a seller on their marketplace. But once you do, you will be part of a small group who has access to a large share of potential customers.

The Hungry JPEG

Screen from The Hungry JPEG

The Hungry JPEG began in late 2014 as a website to help designers and crafters navigate the design world. By mid-2015, they launched a shop to give designers a way to make money from their craft.

They offer a wide range of products, from handmade goods to website templates. If you choose to sell on The Hungry JPEG, you will earn 70% of every sale you make – one of the highest numbers of all the websites on this list.

Also, they do not ask for an exclusivity deal – meaning you can list your products on their website and any other websites of your choosing. They also offer an automated product delivery system so your items are always selling, even when you are away.


Screen from YouWorkForThem

YouWorkForThem has been around since 2001 and is one of the oldest online marketplaces. They are privately owned and run by a group of designers who know what is best for the designer.

They are used by many major brands such as Nike, Coca-Cola, Whole Foods Market, Starbucks, Amazon, Samsung and many others. YouWorkForThem splits the profits 50/50 with all the designers who sell fonts and stock art. On top of that, they will market your designs on their social media outlets, like Facebook and Twitter, that have a combined audience of nearly 80,000 people.


Screen from Etsy

Etsy is one of the largest global marketplaces around. With a concentration on handmade goods, jewelry, and clothing, you can also find digital goods such as website designs.

They are also one of the easiest places to sell your work, but this ease and large user base also creates more competition. Etsy does offer affordable ways to list your work with prices as low as $0.20. With the many tools that Etsy provides, it is very possible to become a successful seller on their website.


Screen from Society6

Society6 is very similar to Etsy in that it focuses on selling handmade crafts and goods. Their market mostly consists of artwork that goes on products like mugs, phone cases, and t-shirts. This is the place to get your work in front of thousands of people and a network that grows every day.

Template Monster

Screen from Template Monster

Template Monster has been in business since 2002 and from the get-go they changed the way websites are built. They specialize in offering web templates and other related digital goods.

You’ll find WordPress themes and plugins, CMS templates, fonts, and illustrations along with many more digital products to sell and buy. Every month they add nearly 400 new products in all the categories mentioned above.

They also offer 24/7 customer support for sellers and buyers, making it easy to handle any problems you may come across when using their marketplace.

Big Cartel

Screen from Big Cartel

Big Cartel has been around for 14 years and in that time, they have helped artists sell over $2.5 billion in creative work. They enable sellers to create their own store with many customizable features to make the experience as personal as possible.

The freedom they allow you to have with selling your work is everything a designer could want from a marketplace.

The Power of Community

One of the common threads of each of the marketplaces above is their reliance on a community. The strength of these virtual places, and the work they produce, is what keeps them going. The stronger the community, the bigger potential audience you’ll find.

In that way, deciding where to sell your own work is just as much about deciding which community is the best fit as it is about profits. Fortunately, there are a lot of high-quality options for just about every designer!

Increase Customer Centricity With Workshops

Original Source:

Increase Customer Centricity With Workshops

Increase Customer Centricity With Workshops

Claire Mason


Workshops are interactive group activities and exercises cohesively designed to meet a goal. Generally, workshops are in-person with a facilitator guiding participants. They take people out of their normal day-to-day environment and laser focus them on the task at hand.

In this distraction-free zone, what normally takes weeks or months to accomplish takes just a few days. You can harness this efficiency to build and nurture a customer-centric culture by introducing participants to thinking tools that they can apply to everyday decision-making and that can be shared with their teams.

During my time as a customer experience manager, I have designed, facilitated, and made speeches about workshops that do just that. In this article, I have distilled key components from these workshops and documented the process around four types of workshops that you (“you” as the facilitator or organizer of a workshop) can use to drive customer-centricity in your own companies.

For discussion purposes, I have broken the workshops into two categories: “general” and “project-specific”. General refers to workshops that are designed for anyone to participate. They introduce many basic customer-centric concepts with the end-goal of equipping participants to think about the customer differently and more often.

This article will cover two types of general workshops:

Customer Bowl
Customer Canvas

Project-specific workshops are best run with a particular, actionable outcome in mind. They are designed to be run in the context of a broader project or effort. Therefore, they are best suited for participants involved in the project (more specifics later).

Project-specific workshops are the most powerful because they contextually apply customer-centric tools to the project at hand, minimizing the mental leap participants have to make between the tools they gain and how to apply them first-hand.

I discuss two types of project-specific workshops:

Journey Mapping
Google Design Sprints

Workshop Decision Table: When To Use Which Workshop


Name of workshop
Who can participate
Time commitment
Increase customer centricity by…
After the workshop, participants will have learned how to…

Customer Bowl
3 days
Introducing customer centric principles in a fun, interactive competition
Empathize to understand customer needsApply design thinking principlesInnovate based on needsSketch/visualize ideasUse customer feedback to iterate

Customer Canvas
Anyone (but particularly good for product and sales)
½-1 day
Teaching a customer centric mindset rather than a product-first mindset
Empathize to understand customer needsHave meaningful conversations with customers based on what is important to them (and recommend relevant solutions)Create and design products and services that provide value for customers

Journey Mapping
2 days
Taking the customer’s perspective to identify experience improvements
Be empathetic towards customers’ experience and interaction with brandUse research insights to uncover pain points and opportunitiesDesign experience improvements to address pain points and opportunities

Google Design Sprints
5 days
Rapidly designing and testing ideas to address customer needs
Empathize to understand customer needsApply design thinking principlesMake decisions based on customer feedbackSketch/visualize ideas

Customer Bowl

Workshop type: General

Who should participate: Anyone

In summary: This introduction workshop gamifies basic customer-centric concepts by having participants compete in the Customer Bowl, a contest to see who can innovate a solution that best meets customer needs.

Why it drives customer-centricity: It introduces thinking tools and methods that encourage participants to think differently and more often about customers.

Outcome: After the workshop, participants will learn how to empathize to understand customer needs, apply design thinking principles, innovate based on needs, sketch/visualize ideas, and use customer feedback to iterate.

Context: The Customer Bowl splits participants into groups. Each group is assigned a customer for whom they will be designing a solution. Groups will follow a basic design thinking framework, using tools such as personas, journey mapping, sketching, and testing in the hopes of having the customer-sanctioned “best” innovation at the end of the workshop.

Along the way, participants can also receive individual points for showcasing customer-centric behavior, such as stepping into the customer’s shoes, talking about value to the customer rather than features, and encouraging other group members to put on their customer hats.

This is my favorite comment from a participant after facilitating this workshop:

“Wow, customers are real people!”

The CX Bowl can be modified for any industry and context, but because I work at a travel company, the workshop example I outline focuses on travelers as customers with participants acting as travel agents or experience providers.


Three day agenda for the Customer Bowl workshop

Customer Bowl agenda (Large preview)

Start With The Customer (1 Hour)

The Customer Bowl starts with an explanation of the contest and end-goal. To stoke the competitive spirit, break participants into groups, have them name themselves, and showcase the amazing prizes they stand to gain by winning the contest or earning the most individual points (amazing prizes generally means cheap candy).

Introduce each group to their customer, the person they are designing for and who ultimately decides their fate. If you can get actual customers to join the workshop and play along, great! If not, use personas to represent customers. If using personas, explain the concept of them, when you use them and why, and assign a different one to each group.

For fun, let’s use Pinterest’s newly released high-level traveler personas based on data from their 250 million monthly users:

The Group Vacationer
Values spending time with friends, family or fellow travelers.

The Culture Chaser
Values learning about local culture and history.

The Spa Sojourner
Values rest and relaxation

The Adventure Lover
Values being active.

The Eating Explorer
Values a good dining experience.

Get groups to name their personas and add context around the persona’s goals and motivations. Encourage teams to make the personas their own and really step into their shoes.


Your goal in this activity is to teach participants how to empathize with a persona, so it is ok if you create proto-personas not 100% based on data and research

Five sample persona images representing typical travelers

Print off persona sheets and let teams fill them in. (Large preview)

Map Journey (1 Hour 30 Minutes)

The groups will put themselves in the mind of a traveler and map the journey of their persona going on a trip: from research to shopping, booking, pre-trip, traveling, on trip, and post-trip.

Journey map: visualization of the process a persona goes through as they try to accomplish a goal.


I like to use journey maps in the Customer Bowl workshop as the method to uncover opportunities for innovations, but there are many other approaches you can use as well, particularly if you are able to secure a real customer to participate.

Provide a simple journey mapping template for participants to use with the journey phases running horizontally on top and the customer jobs-to-be done, thoughts, and emotions running vertically on the side.

Journey map template with phases running horizontally across the top and jobs-to-be-done, thoughts, and emotions running vertically down the side

Journey map snapshot (Large preview)

Note that the first row in each phase is titled “jobs-to-be-done.” This refers to the things that a person is trying to get done or accomplish — problems they are trying to solve or needs that are trying to satisfy. This is a more powerful lens than focusing on “actions” or “steps” typically used in journey maps. Jobs-to-be-done encourages participants to consider not only the functional actions but also social as well as the emotional components to an experience (more on jobs-to-be-done later).

After groups complete their persona’s journey map, they vote on the most important or compelling jobs-to-be-done, thoughts, and emotions, paying attention to areas in the journey where there are pain points, opportunities and/or gaps.

With the journey map in mind, participants put on their traveler agent hats. For the rest of the workshop, they will use the journey map as the foundation for an innovation exercise in which they ideate solutions to address a need they uncovered in the journey.

Create A Problem Statement (30 Minutes)

Based on the top voted jobs, thoughts, and/or emotions, participants pick the area that they think travel agents could add the most value and articulate this by writing a problem statement.

This may sound basic, but this activity is important. It directs participants to define what problem they are trying to solve from their customer’s point of view. There is not one right format for problem statements. The key is to focus the statement on customer need.

I like this template from the Interactive Design Foundation:

User… (descriptive)] needs [need… verb)] because [insight… (compelling)]


Encourage participants to find the right level of detail for a problem statement. Too broad and you won’t be able to narrow in on any solutions. Too narrow and you are limiting the potential solutions you could come up with.

For example, a group that mapped the journey of Ellen (the “Adventure Lover”) may have highlighted a pain point related to Ellen’s wardrobe. As a busy on-the-go adventure lover, Ellen might not have the time or money to wash her clothes while she is traveling. Therefore, a group could focus their problem statement on this aspect of Ellen’s journey.

Too broad: Ellen, the adventure lover, needs to be able to travel cheaply…
Too narrow: Ellen, the adventure lover, needs to be able to clean her clothing while traveling…
Just right: Ellen, the adventure lover, needs access to clean clothing while traveling…

Ideate Solutions To Address Problem Statement (Approx. 2 Hours)

Now that participants know what problem they want to solve, walk them through a process to ideate potential solutions to the problem. I like the Google Design Sprint process for ideating (check out the Google Sprint workshop section about sketching), which starts with individual brainstorming and ends with a collective vote.


Participants review their persona, journey map, and problem statement, taking notes and reminding themselves of the problem they are trying to solve. and who they’re trying to solve it for.
20 minutes

Sketch out rough ideas or solutions.
20 minutes

Crazy 8s! Picking the best idea, participants draw 8 iterations to explore the solution from all angles).
8 minutes

Solution sketch. Participants create a shareable visualization that represents their idea.
45 minutes

Participants vote on the top sketches to create final solution sketch.
5 minutes


A lot of people will be intimidated by the sketch and drawing portion of ideation. Let them know if they can draw boxes and circles, they can sketch!

Example of a sketch that has progressed from notes, to rough ideas, to many iterations, to the final solution sketch

Sketch process outlined in Google Venture’s Sprint book (Large preview)

Show Sketch To Customers For Feedback (1 Hour For Preparation, Half A Day For Interviews)

Now that participants have a solution sketch, they will prepare to share their ideas with customers (travelers) for feedback. As preparation, encourage participants to do a role-playing exercise in which one participant pretends to be the traveler and the other an interviewer. The goal of the interviewer is twofold.

First, the interviewer should learn what is important to the traveler, what their biggest pain points are, and where their opportunities for improvements are along with their travel experience. This will be validated against the assumptions made in the journey mapping exercise.

Second, the interviewer should validate the idea or solution they designed in order to gauge the traveler’s interest in the idea. Does it address a pain point? Is it useful? Would you buy it?


Keep looking for customer-centric behavior to reward. A fun way to do this is to design your own Customer Bowl money to give out.

A couple of useful guidelines for interviewers:

Listen more than you talk;
Don’t be afraid of silence;
Keep asking why — dig into emotions and motivations;
Don’t ask leading questions;
Do ask open-ended questions.

With participants feeling confident in their interviewing abilities, get them out of the building! Encourage participants to find out what it is like to talk to customers or potential customers in the real world. They can go to airports, train stations, bus stops (really wherever as most people have traveled before, there aren’t any limitations of who participants can talk to or where to find them). Each group should talk to at least five people. After groups talk to customers, they should debrief and prepare for their pitches.

Wrap-Up (2 Hours Pitch Prep, 5 Minutes Each Per Group To Pitch, 15 Minutes Judge Feedback, 30 Minute Wrap-Up Discussion)

To wrap it all together, give participants a chance to “pitch” their innovations to the group. Give them prompts to answer as part of their presentation, such as:

What were the emotional highs and lows of your persona on their journey?
What needs does your solution address?
How did input from real travelers change your idea?

After each group has pitched, it’s time to pick a winner!

If you were able to secure real customers to participate, these will be your judges. If not, you can recruit a panel of impartial judges (it always helps if these folks are more senior, not only so participants will take the judging seriously but also so more senior executives are exposed to customer-centric principles).

Regardless of who judges, give them a scorecard to fill in after each group has presented, assessing things such as: familiarity of who customer is and what is important to them, extent to which solution maps to customer needs and an indication that customer feedback was incorporated into solution. Once the votes are tallied, announce the winners and celebrate*!

* By “celebrate”, I mean have a discussion on how to apply the principles from the workshop to their roles.

Customer Canvas

Workshop type: General.

Who should participate: Anyone but particularly good for sales and product people.

In summary: Introduction to the value proposition canvas as a tool to build empathy and understand products and services in terms of customer needs.

Why it drives customer centricity: Gives participants framework they can use in conversations with customers and product decisions.

Outcome: After the workshop, participants will learn how to empathize to understand customer needs, have meaningful conversations with customers based on what is important to them (and recommend relevant solutions), and create and design products and services that create value for customers.

Context: The Customer Canvas workshop introduces the concept of value proposition design based on Stategzyer’s Value Proposition Design book by lan Smith, Alexander Osterwalder, Gregory Bernarda, Trish Papadakos, and Yves Pigneur. It focuses on customer profiles which represent the “who” that a company serves with the “what” of products and services. This exercise is typically used as a way to innovate new offerings or act as a check that new ideas for products and services map to customer needs. However, I find that the workshop also works well as a way to teach customer-centric thinking rather than product-first thinking.

Though suited for anyone looking to become more customer-centric, the Customer Canvas workshop is particularly good for sales and product people.

For salespeople, it teaches how to speak the customers’ language, and better equips them to recommend solutions based on a deeper understanding of what customers are trying to accomplish. For product people, it provides a simple and practical framework for creating and improving products and services that map to customer needs.


This is another good workshop to gamify with points for customer centricity (and candy)!


One day Customer Canvas workshop agenda

Customer Canvas workshop agenda (Large preview)

Start With The Customer (1 Hour 30 Minutes)

Like with Customer Bowl, start with a discussion of personas and assign one to each group. Have participants familiarize themselves with their personas and modify as needed to make them feel real.

Introduce Stategyzer’s value proposition canvas, and give an overview explanation of the intent of the canvas. As Strategyzer summarizes:

“A simple way to understand your customers’ needs, and design products and services they want.”

Explain that they will be leveraging this framework in order to move from a product-first mindset to a customer-centric mindset.

There are two sides to the value proposition canvas. The right side is called the customer profile. It represents the observed or assumed set of characteristics that represent one of the customers.* It is comprised of three components: customer jobs-to-be-done, pains, and gains.

Value Proposition canvas with the customer profile to the right and the value proposition to the left

Stategyzer’s Value Proposition canvas (Large preview)

Note: Strategyzer calls the right side of the canvas the “customer (segment) profile” and focuses on customer segments. However, I find that using a persona and choosing a context for the persona is a much stronger training tool to build customer centricity. For example, focus on Ellen, the adventure traveler, who is planning her next trip (persona and context based) rather than focusing on millennial travelers living in Atlanta, GA (customer segment based). Therefore, I refer to the right side of the canvas as just “customer profile”.

Groups will stick their persona onto their customer profile. They will then proceed to fill in the jobs-to-be done, pains, and gains segments of the profile.

Jobs-To-Be-Done (20 Minutes)

As mentioned earlier, the jobs-to-be-done framework is a great way to understand what is truly important to customers from the perspective of what they are trying to accomplish in a given circumstance. This brings customers to life in a way that big data about customers and buyer segments correlations cannot.


If you are tight on time and can only focus on one thing, focus on jobs-to-be-done!

Jobs-to-be done can be functional, emotional, or social. They represent the things customers are trying to get done in a given circumstance. Here are a few sample prompt questions:

What is your customer trying to accomplish?
What emotional and/or social needs are they trying to satisfy?
How do they want to feel and what do they need to do to make this happen?

For the persona Ellen in a travel scenario, a few examples of her jobs-to-be done could be: functional — book a trip, social — go to a cool place to get Instagram likes; and emotional — feel a sense of adventure or excitement.

Example jobs-to-be done section filled out for an adventure traveler. Sample jobs include looking cool, feeling excited, and booking a tript

A few examples of customer jobs. A proper profile should be more filled out. (Large preview)

Pains (20 Minutes)

Customer pains are the things that prevent customers from accomplishing their jobs to be done, are risks, or are simply annoying. They also can be functional, emotional, or social. A few sample prompt questions:

What is keeping your customer awake at night? What are their big issues, concerns, and worries?
What makes them feel bad? What are their frustrations, annoyances, or things that give them a headache?
What negative social consequences do they encounter or fear? Are they afraid of a loss of face, power, trust, or status?

Pains for Ellen could be: travel costs too much; as a single female, I don’t want to travel to dangerous places; I don’t have that much money, but I want to be perceived as glamorous and adventurous.


Really drive empathy for the pains and gains that travelers experience. It helps to frame statements from a first-person point of view “I’m scared of flying!”

Example pains section filled out for an adventure traveler. Sample pains include too much money, danger, and scared to fly

A few examples of customer pains (Large preview)

Gains (20 Minutes)

The last section of the customer profile centers around Customer Gains. These represent the functional, social, and emotional benefits a customer might need, expect or desire (or be unexpected positive outcomes).

A few sample prompt questions:

What would be a dream come true for them?
What would make their jobs easier?
What savings in terms of time, money, or effort would be beneficial?

Gains for Ellen could be: I found a really great deal on this flight!; wow, I am going to look so cool for my Instagram followers; getting to fly 1st class is a dream come true.


People can have a hard time coming up with gains. Encourage them to think about the opposite of the pains they defined. For example, if a pain is “travel is so expensive”, then a gain could be “I found a really great deal on this flight!” It may seem repetitive, but it will be important later on when participants think of ways to address pains.

Time permitting, have participants rank each segment of the profile in terms of importance to highlight the most important jobs-to-be done, pains, and gains.

Example gains section filled out for an adventure traveler. Sample gains include great deal, flying first class, and great social media content

A few examples of customer gains (Large preview)

Profile Wrap-Up And Intro To Value Proposition

The last section of the exercise fills out the left side of the canvas, called the value proposition. The value proposition represents the value that a company offers in terms of its products and services, pain relievers, and gain creators.

When mapping the left side of the canvas (the value proposition) to the right side of the canvas (the customer profile), participants assess how well the products and services enable customer jobs-to-be done, relieve pains, and create gains. This mapping teaches participants how to frame the company’s products and services in terms of customer needs (stop leading the conversation with product features, and instead, talk about the jobs they enable and the value they provide!).


As a takeaway, encourage participants to post their customer profiles around their offices to be a constant reminder of who their customer is and what is important to them. They can also print off the full list of jobs-to-be done, pains, and gains prompt questions to help focus future customer conversations.

Products And Services (20 Minutes)

Participants start filling out the left side of the canvas by listing out the products and services that their company offers. These could be physical products (i.e. the iPhone), or more intangible services (i.e. offer training on the iPhone), digital (i.e. online photo storage for your iPhone), and so on. Simply list offerings — this should be the easiest part of the exercise!


Products and services may or may not enable your jobs-to-be-done. That’s ok, a good value proposition doesn’t need to address everything, but knowing where the gaps are can help facilitate more effective conversations with customers and lay the groundwork for future innovation and product improvements.

Example products and services section filled out for a travel agency. Sample products and services include booking travel, planning experiences, and handling emergencies

A few examples of products and services (Large preview)

Pain Relievers (20 Minutes)

Next is the pain relievers section. Here, participants outline how products and services reduce or remove pains or things that annoy customers. This section helps participants see products and services in terms of how they are eliminating pains.

A few sample prompt questions:

How does your product or service help your customer sleep better at night? Or address issues or concerns?
How does it make your customer feel better?
How does it remove barriers and obstacles?

Example pain relievers section filled out for a travel agency. Sample pain relievers include discount travel deals, peace of mind, and removing logistical detail work

A few examples of pain relievers (Large preview)

Gain Creators (20 Minutes)

Gain Creators describe how products and services create customer gains or positive outcomes for customers to enjoy.

Sample prompts questions:

How do your products and services save time, money, or effort for your customers?
How do they outperform other related products or services customers could be using?
How do they create positive emotional or social reactions?


This section of the workshop can be tricky. People really struggle with this area of the canvas feeling redundant, and it is a little tedious after filling out five other sections of the value canvas already. It might be a good idea to take a little break here or do a quick exercise to get people’s energy up.

Example gain creators section filled out for a travel agency. Sample gain creators include more value for your money, travel upgrades, and time savings

A few examples of gain creators (Large preview)

Assessing Fit (1 Hour 30 Min Including Wrap-Up Discussion)

The last activity in the workshop is assessing how well the value proposition offerings map to the needs uncovered in the participant’s customer profiles.

Are there major jobs to be done that your products and services aren’t enabling?
Are there important pains and gain opportunities that are being left on the table?

Have participants discuss the “fit” and what they learned. Some great questions here:

How will this impact the way you think about customers?
How will this impact the way you talk to customers?
How can you use this framework to ensure you are designing and building the right things?

As an ideal after-workshop-activity, participants should test the assumptions they’ve made with real customers. This really brings customers to life.

Wrap-Up And Alternative Approaches

Tailored For Sales Training

Another way to run the workshop which is especially helpful for salespeople is to do the same exercise, but this time, have one person role play as the customer. And the other can only fill out the customer profile based on asking the “customer” questions about what is important to them, what jobs they are trying to accomplish, what their pains are, and so on. This not only gives salespeople a more customer-centric way to think about their products, but it also trains them to be able to talk (and listen!) to customers.

Tailor For Product Innovation

The canvas is intended to be used to design products and services that customers want. It acts as a gut check to ensure time and money isn’t wasted on designing something that doesn’t enable customer jobs-to-be done, relieve pains, or create gains. If this sort of innovation is your goal, simply have participants fill in the left side, or value proposition canvas, with their new product or service ideas and assess fit to see if the idea is worthwhile.

Journey Mapping

Workshop type: Project-specific.

Who should participate: Participants should be specific to a project and represent different business units supporting the relevant phases of the journey you are mapping.

In summary: Workshop to map specific phases of a customer’s journey, uncover pains/gaps/opportunities, and (end-goal) provide a more seamless end-to-end experience for customers. While the Customer Bowl taught journey mapping as an introduction to customer-centric tools (and innovation), this method is more geared towards experience improvements of existing products and services.

Why it drives customer centricity: encourages participants to step into the customer’s shoes and understand how the customer sees their business.

Outcome: After the workshop, participants will learn how to be empathetic towards the customer’s experience and interaction with the company brand, use research insights to uncover pain points and opportunities, and design experience improvements to address pain points and opportunities.

Context: Journey mapping is a critical activity that scales to any business size and a particular element of a journey. For example, people can map the customers’ end-to-end experience with a business, from the moment they discover it, sign up for a product or services, install and use it, get support, and so on. This high-level view ensures that the customer experience is seamless across each phase in their journey. This end-to-end view is especially important as so much focus can be given how the customer uses a product or service (the “use” phase), that other components of the customer journey are ignored.

People can also focus on one area of the journey in more detail. For example, people can map customers’ support journey from when they first encounter an issue, to seeking help, to waiting for a response, and issue resolution (or not). This secondary-level view is equally useful to ensure every aspect of the customer experience is understood because even seemingly inconsequential experiences can have a big impact on the customer’s perception of a business.


Two day journey mapping agenda

Journey mapping agenda (Large preview)

Start With The Customer (1 Hour Readout, 30 Min Discussion)

Start the Journey Mapping workshop with a review of customer research that has been conducted prior to the session. For example, during a workshop focused on the customers’ support experience, do a readout of the qualitative and quantitative research conducted — customers talked to, survey results, and operational data analyzed. Your job here is to bring customer experiences to life. Have participants take notes because these will be useful when mapping the journey later on.


If possible, record and play audio clips of customer conversations.
It can get a little sensitive when participants in the workshop are directly responsible for the negative experiences customers are sharing. Be sure to start the session by explaining that the feedback is not a commentary on anyone in the room but is an opportunity to improve.

Create A Customer Promise (30 Minutes)

After a discussion of the customer research, have participants create something called a “customer promise.” This is a statement written from the customer’s point of view that represents the ideal experience that they want, expect, and desire. It then becomes the participants’ promise to try to provide this experience for them.

As a customer, I want/expect/deserve:

To have easy access to useful help (without being made to feel stupid).
To have the impact to my business understood.
A response at the pace that I have to respond to my own customers.
An answer (either a solution or at least honest and frequent communication around my issue).

You will point back to (and update if needed) this promise throughout the workshop to ensure that the decisions being made support the promise.

Map The Existing Journey (1 Hour, 30 Minutes)

Journey maps are most effective when they tell a story. Therefore, focus on one customer in one specific scenario and map the corresponding jobs-to-be done, thoughts, and emotions (high and lows of the journey). Use examples from research to select a persona and scenario that best represent a typical customer and situation.

As an example, a scenario could be: Bonnie Jones, a travel agent, receives an error while using travel booking software and wants resolution quickly in order to be able to support a client’s travel schedule:

Same journey mapping template that includes the persona, goal of persona, phases running horizontally across the top with the jobs-to-be-done, thoughts, and emotions running vertically down the side

Sample template for journey map (Large preview)


Generally, selecting a persona and scenario that represent the typical experience of a customer is representative enough of most customers’ experience and thus one journey map is sufficient. However, if a different persona and corresponding set of behaviors change the outcome of the journey in significant ways, or a different scenario would uncover key insights, you may choose to do another journey map.
You can modify what components of the journey you want to map depending on how you want to tell the customer story. For example, you can add additional components, such as touch points, images, and expectations.
Come prepared with the phases of your journey already defined, i.e. for a support journey map: experience an issue, analyze, seek help, wait for an update, and issue resolution (or not). This is easier than starting from scratch — you can always update if needed.

Start by mapping the customer’s jobs-to-be done along with the scenario. What are they trying to accomplish? What functional, emotional, or social tasks do they need to do? Then, capture the corresponding thoughts they have while trying to accomplish the jobs-to-be-done using actual verbatims from research. Last, plot a line to represent the emotional highs and lows the customer feels as their story progresses.


Throughout the journey map, add notes from the customer research.

A sample journey map representing the existing customer’s experience when raising a support ticket when they need help. The emotional curve of the journey goes down as the experience becomes worse and worse

Simplified sample existing support journey map (Large preview)

Vote And Prioritize (10 Minutes)

Once the group has filled in the journey map, take a step back and walk through the journey again, telling the customer’s story from their perspective. Hopefully, what emerges is a rich narrative based on real customer insight. Discuss as a group — what surprised people? What did they learn?

Now it’s time to pinpoint the areas of the journey that could be improved. An easy and fast way to do this and build consensus is to give each participants dots or stickers that represent votes. They each have a number of votes they can use to indicate where the pain points/gaps/opportunities are along the journey. Give people infinite votes; this will create a sort of heat map and make sure that smaller, potentially easier-to-address areas are captured as well as the big and obvious issues.

Also, let people vote on the biggest or most important areas. Here, limit dots to around three in order to force people to prioritize. These big areas will serve as a gut check, making sure the group addresses the things that matter in the “to be” journey.

Journey map with examples of dot voting exercise. Green and purple dots on journey map to indicate where people have voted

Simplified sample of dot voting with heat map effect and priority items identified (Large preview)

Design The “To Be” Journey (2 Hours)

Now that the group has mapped the existing journey, it is time to design what they want that journey to look like in the future, or what the “to be” journey is. The “to be” aspect of journey mapping is often overlooked but critically important to drive improvements for the customer. It is not enough to identify the pains, gaps, and opportunities associated with the existing journey. Take it one step further, and design the end-to-end journey that customers desire. This also ensures that any improvements flagged are executed in the context of the full journey, supporting a more seamless experience.

Before designing the “to be” journey, revisit the customer promise for inspiration and guidance. Also review the top voted pains, gaps, and opportunities to make sure the future journey addresses these.

The easiest way to create a new journey is to overlay new aspects of the experience on top of the old journey. Retell the narrative, but this time, tell it from the perspective of someone who has just had a really good experience. For example, if the existing journey tells the story of a travel agent who has to wait weeks for an answer to a support ticket (in the meantime, making their own client upset), then the “to be” journey should tell the story of an agent who not only receives an immediate answer to their issue but receives it contextually without ever having to leave their workflow. And even better if they never experienced an issue at all.

After completing the “to be” journey, check it against the top voted pains, gaps, and opportunities of the existing journey. Are they addressed? Would the experience that the group designed enable them to deliver on the customer promise?

A sample journey map representing the “to be” customer’s experience when raising a support ticket when they need help. The emotional curve of the journey goes up as the experience gets better and better

Simplified sample “to be” support journey map (Large preview)

Wrap-Up And Next Steps (1 Hour)

If the group has time during the workshop, it is ideal to look at the internal actions and processes (the backstage and offstage) accompanying the customer journey (front stage). This helps the group pinpoint exactly what needs to change internally to be able to support the improved experiences designed in the “to be” journey. At a minimum, the workshop needs to wrap with a strategy of how to execute this journey. Ideally, the workshop will be run as part of a fuller program to drive change. The actions and recommendations uncovered in the workshop can be integrated into the overall program plan.

As a post-workshop activity, convert the existing and “to be” journey maps into nice visualizations, with the jobs-to-be-done, thoughts, and emotions clearly articulated. This is easy to share and consume and will serve as a reminder to participants of what it is like to be a customer and interact with their brand, and what participants can do to deliver improved experiences at every phase of the customer journey.


Start every PowerPoint, presentation, readout, with following the workshop with the customer promise. Don’t let people forget what they promised and why. Everything they do should map back to this!


For more journey mapping and workshop resources, Oracle’s Designing CX website is useful.

Google Design Sprints

Workshop type: Project-specific

Who should participate: Individuals supporting the ideation and validation of a new value proposition. In general, a technical person, product person, designer, and decision-maker.

In summary: Google Design Sprints enable participants to understand quickly if a new idea resonates with (potential) customers.

Why it drives customer centricity: Encourages decision-making based off of customer understanding and feedback.

Outcome: After the workshop, participants will learn how to apply design thinking principles in action: learn about customer need, define the problem to solve, ideate ideas to address the problem, create a prototype to represent the idea, and test with customers.

Context: The Google Sprint process was introduced by Google Ventures and documented in the book Sprint: How to Solve Big Problems and Test New Ideas in Just Five Days by Jake Knapp with John Zeratsky and Braden Kowitz. Designed to “solve big problems,” the Sprint can be run in 5 days or less. It is a great, hands-on way to introduce participants to the customer-centric design thinking framework in a way that is fun and results-driven.

There are many resources you can reference if you are interested in learning about Sprints in more detail, such as the Sprint book, newsletter, and an overview article that I wrote a couple of years ago. With these available, I will only summarize salient points below.


Five day agenda of a google design sprint with map on day 1, sketch on day 2, decide on day 3, prototype on day 4, and test on day 5

Google Design “Sprint” agenda for the five days (Image source: Sprint) (Large preview)

Overview Of The Process

Day 1

Participants have to come into the Sprint process with a high-level understanding of the problem they are trying to solve or at least a general idea of what to focus on. Day 1 acts as a way to gather the information necessary to narrow focus enough to target the area of the problem to solve.


Make sure to start the workshop with the customer — either a readout of research or interview actual customers in addition to the recommended customer experts.

Day 2

Day 2 starts with a review of existing products and services that each participant “lightning demos” to see if any ideas can be leveraged. I’ve never found this activity to be particularly helpful. While it makes sense from a design perspective not to have to “reinvent the wheel,” most designers already have tool kits and templates to draw from, so it’s not the best use of everyone’s time.

It is also not a useful exercise in uncovering potential ideas or value propositions. Rather, it is better to start with customer needs and ideate solutions that address those needs without relying on preconceived notions of what those solutions should be. So, if you’re looking to shorten a Sprint workshop, you might want to cut the lightning demos.

A more worthwhile exercise on day 2 is the ideate and sketch process. Participants use this process to come up with different ideas of solutions that may address customer needs. The Sprint book suggests a great step-by-step process to accomplish this.

Rather than group brainstorming, the process centers around individual ideating and sketching — resulting in more varied and diverse ideas. The process is also repetitive and iterative, encouraging participants to push past the most basic ideas and think of truly innovative ones.

Tips for ideation and sketching:

Sketch out different ideas. Asking people to capture ideas visually gets their creative juices flowing. It also helps frame solutions from the perspective of how a customer might interact with and obtain value from an idea.
Individual Brainstorming
“Group think” does not encourage ideas that are out-of-the box. Instead, create as many individual divergent ideas as possible before converging as a group.
Everything Goes
Ideation needs to be a criticism-free zone to allow creativity to emerge.
The More The Better
As more and more ideas are generated, people start to push past the obvious answers and start thinking of new and innovative ideas.

For more ideas, check out Slava Shestopalov’s article on brainstorming workshops.

Illustration of a piece of paper being folded into eight quadrants to allow for the crazy 8s rapid iteration sketch

Crazy 8s, one method in the Sprint process, involves rapid iterations of ideas from different angles encourages people to think outside of the box. (Large preview)

Day 3

Participants review the sketches, vote on the top ideas, and create a storyboard to represent how a customer will interact with the winning idea.


Some people are intimidated with the idea of drawing a storyboard. Don’t sweat it! The most important aspect of a storyboard is to communicate and tell a story in a customer-centered way. Do this by thinking about what the customer is trying to accomplish and how a solution might enable them to do so.

Day 4

After storyboarding, create a visual and interactive representation of an idea called a prototype. A prototype allows someone to interact with an idea to give a realistic picture of the value offered. A prototype can be a physical object, a clickable website, app — whatever best represents the idea.


Participants often feel like they need to create an entire prototype to test ideas. This is generally not necessary. All that is needed is a representation of the value proposition to validate with potential customers. One easy way to do this is to create a fake landing page with an overview of what the idea is and why it is useful. For solutions further down the validation process, more complex prototypes may be more useful.

Day 5

After creating a prototype to represent the idea, participants conduct customer testing sessions. These sessions allow the group to see how customers will react to the idea before making expensive commitments. This initial round of testing should be aimed at understanding if the idea resonates with customers. Would they use it? Would they buy it?


Create a test script ahead of time: this helps keep the flow of conversation going and standardizes feedback results for easier analysis. But be sure to still leave room for organic conversation and flexibility to go off script.
Ask open-ended questions: this encourages customers to talk more and gives more information about their reaction to an idea. Get them talking!
Be comfortable with silence: people have a tendency to want to fill silence to avoid awkwardness, resist the temptation and customers will talk more.
Turn questions back on the customer: when customers are interacting with a prototype for the first time, they’ll naturally have some questions. When they ask something like, “What does this do?” then turn it back on them and ask, “What do you think it does?” Again, get them talking.

Use the feedback heard from customers as a way to decide how to move forward (or don’t) with the idea. Maybe customers loved everything about it and can’t wait to see more. Maybe customers didn’t think it was entirely useful, or maybe customer feedback was somewhere in between. Whatever the outcome, remind participants that they learned something they didn’t know before.

In addition, even if customers hated the idea, think of all the money potentially saved by not further investing in the idea. As icing on the cake, the sprint outlines a formulaic approach that participants can use again and again for more customer-centric decision making.

General Facilitation Tips And Tricks

Rapid-fire facilitation tips and tricks for any workshop!

Before The Workshop

Understand the objective, define the scope (drive stakeholders to narrow focus and create clear definitions)​.
What is the problem you are trying to solve?​
Define your desired end-state. What would make your workshop a success?​
Identify and execute pre-work needed to make the workshop a success .​
Design high-level workshop to drive towards desired end-state. ​
Break down into more detail (define timings, breaks, lunch, and so on) for you to follow as a guideline. ​
Create and share a high-level agenda with participants to let them know what to expect​.

Day Of Workshop Prep

Hang up area for next steps/action items and parking lot.
Setup supplies (paper, snacks, etc.). ​​

During The Workshop​

Kick-off with a high-level intro (project sponsor, why are we here, what are we trying to accomplish, and so on). ​
Team intros & icebreakers.
Housekeeping: set expectations that you will be keeping people on track. ​
Document high-level goal, get team agreement​.
Continue into the flow of the workshop.

Best Practices

Set clear expectations with stakeholders and participants. ​
Stay neutral​.
Keep people on track (“Great feedback, I’m going to capture that in our parking lot and move on…”).​
Individual brainstorming and sketching​.
Dot voting as a quick way to prioritize​.
Get people to take notes during presentations to stay engaged, use during later exercises.
Delegate other people to help facilitate or run different sessions.
Visualize as much as possible.
Breaks every 1.5-2 hours.
Define clear next steps and ownership.
Elicit participant feedback after the workshop.

Image of a woman holding a pencil to a green smiley face. There is also a yellow face and mad red face

Use participant feedback to design more effective and engaging workshops. (Large preview)

In Conclusion

The list of general and project-specific workshops discussed is neither exhaustive nor static. There is great flexibility to add, modify, or remove workshops and elements depending on what works, doesn’t work, or is missing.

It is my hope that we can create a collective bag of tools to enable us and our colleagues to think about things differently — about the customer more often — and ultimately make decisions that are first filtered through the customer lens. So the next time you want to jolt your organization with a good dose of customer centricity, run a workshop (and tell us about it!).

Smashing Editorial
(cc, il)

Collective #521

Original Source:


Self-Host Your Static Assets

Harry Roberts outlines the disadvantages of hosting your static assets “off-site”, and shows the overwhelming benefits of hosting them on your own origin.

Read it


W3C and WHATWG to work together to advance the open Web platform

The announcement of the W3C on collaborating with the WHATWG working group and how the WHATWG will be taking care of the HTML and DOM standards.

Read it


This content is sponsored via Syndicate Ads
Northwestern’s Online MS in Information Design and Strategy

Build the in-demand skills, such as UX, UI, and HCI, to drive user interactions. Choose a track in content strategy, analytics, or learning design.

Apply now


Why I’m still using jQuery in 2019

Martin Tournoij explains why he still uses jQuery despite all the Vanilla JS hype.

Read it


Implementing Private Variables In JavaScript

Khari McMillian explore the various ways you can implement private variables in JavaScript.

Read it


Grids WordPress plugin

Grids is a layout builder for Gutenberg based on CSS Grid.

Check it out



Uibot is an experiment on how far one could automate the generation of visual designs, what kinds of advantages it would lead to and what issues one would face.

Check it out


Nerd Free Flat Icons

50 maths, space, chemistry and physics-related icons free for a subscription.

Get it


Zdog Space Scene

A really nice demo by Jack Rugile made with the new Zdog library.

Check it out


Future is now

An amazing WebGL cube demo made by r21nomi.

Check it out



Slice up those cubes in this great game by Caleb Miller.

Check it out


Medium to own blog

Switch from Medium to your own blog in a few minutes. By Mathieu Dutour.

Check it out


Wrapping long words with CSS or HTML

Chris Cid shows how to manage wrapping long words with various techniques.

Read it


Space Tourist

A Three.js game of a rocket exploring space. Made by the folks of Onload.

Check it out


Characteristics of a Strong Performance Culture

Tim Kadlec shares what’s important for maintaining a strong performance culture.

Read it


Overshooting Motion

Darin Senneff’s tip on overshoot animations.

Check it out


Flamingo (ZDog + GSAP)

A fantastic flamingo demo made by ChenXin.

Check it out


Creative Machine (Beta)

Easily create one ad template and generate any number of dynamic creatives with one click. Free in beta.

Check it out



Create an automatic portfolio based on your GitHub profile.

Check it out


Rainbow Star Generator

A very nice star generator made by Jack Rugile.

Check it out


Material Icons Library

A gigantic set of 1000+ vector icons for Sketch App, Figma, Invision Studio, Adobe XD and Photoshop.

Get it

Collective #521 was written by Pedro Botelho and published on Codrops.