Design is more than just good looks – something all designers should know. Design also covers how users engage with a product. Whether it’s a site or app, it’s more like a conversation. Navigation is a conversation. It doesn’t matter how good your site or app is if users can’t find their way around.
In this post, we’ll help you better understand the principles of good navigation for mobile apps, then show you how it’s done using two popular patterns. If you want to take a go at prototyping your own navigation, you can download and test Adobe’s Experience Design CC1 for free and get started right away.
Navigation UI patterns are a shortcut for good usability. When you examine the most successful interaction navigation designs of recent years, the clear winners are those who execute fundamentals flawlessly. While thinking outside the box is usually a good idea, there are some rules that you just can’t break. Here are four important rules for creating a great mobile navigation:
First, and most importantly, a navigation system must be simple. Good navigation should feel like an invisible hand that guides the user. An approach to this is to prioritize content and navigation for mobile apps according to the tasks a mobile user is most likely to carry out.
As Jakob Nielsen says2, recognizing something is easier than remembering it. This means that you should minimize the user’s memory load by making actions and options visible. Navigation should be available at all times, not just when we anticipate a user needs it.
Navigation function must be self-evident. You need to focus on delivering messages in a clear and concise manner. Users should know how to go from point A to point B on first glance, without any outside guidance. Think of the shopping cart icon; it serves as an identifier to check out or view items. Users don’t have to think about how to navigate to make a purchase; this element directs them to the appropriate action.
The navigation system for all views should be the same. Don’t move the navigation controls to a new location on different pages. Do not confuse your user — keep words and actions consistent. Your navigation should use “The Principle of Least Surprise.”3 Navigation should inspire users to engage and interact with the content you are delivering.
In his research4 on mobile device usage, Steven Hoober has found that 49% of people rely on one-thumb to accomplish things on their phones. In the figure below, the diagrams on the mobile phones’ screens are approximate reach charts, in which the colors indicate what areas of a screen a user can reach and interact with their thumb. Green indicates the area a user can reach easily; yellow, an area that requires a stretch; and red, an area that requires users to shift the way they’re holding a device.
When designing, take into account that your app will be used in several contexts; even people who prefer to use a two-handed grip will not always be in a situation where they can use more than one finger, let alone both hands to interact with your UI. It’s veryimportant to place top-level and frequently-used actions at the bottom of the screen. This way, they are comfortably reached with one-handed and one-thumb interactions.
Another important point — bottom navigation should be used for the top-level destinations of similar importance. These are destinations that require direct access from anywhere in the app.
Last but not least, pay attention to the size of targets. Microsoft suggests7 you set your touch target size to 9 mm square or greater (48×48 pixels on a 135 PPI display at a 1.0x scaling). Avoid using touch targets that are less than 7 mm square.
Many apps use the tab bar for an app’s most important features. Facebook makes main pieces of core functionality available with one tap, allowing rapid switching between features.
Three Crucial Moments For Bottom Navigation Design Link
Navigation is generally the vehicle that takes users where they want to go. Bottom navigation should be used for the designated top-level destinations of similar importance. These are destinations requiring direct access from anywhere in the app. Good bottom navigation design follows these three rules.
Avoid using more than five destinations in bottom navigation as tap targets will be situated too close to one another. Putting too many tabs in a tab bar can make it physically difficult for people to tap the one they want. And, with each additional tab you display, you increase the complexity of your app. If your top-level navigation has more than five destinations, provide access to the additional destinations through alternative locations.
Partially hidden navigation seems to be an obvious solution for small screens — you don’t have to worry about the limited screen estate, just place your navigation options into a scrollable tab. However, scrollable content is less efficient, since users may have to scroll before they’re able to see the option they want, so it is best to avoid if at all possible.
The single most common mistake seen on app menus is failing to indicate the user’s current location. “Where am I?” is one of the fundamental questions users need to answer to successfully navigate. Users should know how to go from point A to point B based on their first glance and without any guidance from the outside. You should use the proper visual cues (icons, labels, and colors), so the navigation doesn’t require any explanation.
Bottom navigation actions should be used for content that can be suitably communicated with icons. While there are universal icons that users know well, mostly they are representing functionality like search, email, print and so on. Unfortunately “universal” icons are rare. Unfortunately, app designers often hide functionality behind icons that are actually pretty hard to recognize.
Shaders are a key concept if you want to unleash the raw power of your GPU. I will help you understand how they work and even experiment with their inner power in an easy way, thanks to Babylon.js371.
Before experimenting, we must see how things work internally.
When dealing with hardware-accelerated 3D, you will have to deal with two CPUs: the main CPU and the GPU. The GPU is a kind of extremely specialized CPU.
The GPU is a state machine that you set up using the CPU. For instance, the CPU will configure the GPU to render lines instead of triangles; it will define whether transparency is on; and so on.
Once all of the states are set, the CPU can define what to render: the geometry.
The geometry is composed of:
a list of points that are called vertices and stored in an array called vertex buffer,
a list of indexes that define the faces (or triangles) stored in an array named index buffer.
The final step for the CPU is to define how to render the geometry; for this task, the CPU will define shaders in the GPU. Shaders are pieces of code that the GPU will execute for each of the vertices and pixels it has to render. (A vertex — or vertices when there are several of them — is a “point” in 3D).
There are two kinds of shaders: vertex shaders and pixel (or fragment) shaders.
Before digging into shaders, let’s step back. To render pixels, the GPU will take the geometry defined by the CPU and will do the following:
Using the index buffer, three vertices are gathered to define a triangle.
Index buffer contains a list of vertex indexes. This means that each entry in the index buffer is the number of a vertex in the vertex buffer.
This is really useful to avoid duplicating vertices.
For instance, the following index buffer is a list of two faces: [1 2 3 1 3 4]. The first face contains vertex 1, vertex 2 and vertex 3. The second face contains vertex 1, vertex 3 and vertex 4. So, there are four vertices in this geometry:
The vertex shader is applied to each vertex of the triangle. The primary goal of the vertex shader is to produce a pixel for each vertex (the projection on the 2D screen of the 3D vertex):
Using these three pixels (which define a 2D triangle on the screen), the GPU will interpolate all values attached to the pixel (at least their positions), and the pixel shader will be applied to every pixel included in the 2D triangle in order to generate a color for every pixel:
We have just seen that to render triangles, the GPU needs two shaders: the vertex shader and the pixel shader. These shaders are written in a language named Graphics Library Shader Language (GLSL). It looks like C.
An attribute defines a portion of a vertex. By default, a vertex should at least contain a position (a vector3:x, y, z). However, as a developer, you can decide to add more information. For instance, in the former shader, there is a vector2 named uv (i.e. texture coordinates that allow you to apply a 2D texture to a 3D object).
Uniforms
A uniform is a variable used by the shader and defined by the CPU. The only uniform we have here is a matrix used to project the position of the vertex (x, y, z) to the screen (x, y).
Varying
Varying variables are values created by the vertex shader and transmitted to the pixel shader. Here, the vertex shader will transmit a vUV (a simple copy of uv) value to the pixel shader. This means that a pixel is defined here with a position and texture coordinates. These values will be interpolated by the GPU and used by the pixel shader.
Main
The function named main is the code executed by the GPU for each vertex and must at least produce a value for gl_position (the position of the current vertex on the screen).
We can see in our sample that the vertex shader is pretty simple. It generates a system variable (starting with gl_) named gl_position to define the position of the associated pixel, and it sets a varying variable called vUV.
The thing about our shader is that we have a matrix named worldViewProjection, and we use this matrix to project the vertex position to the gl_position variable. That is cool, but how do we get the value of this matrix? It is a uniform, so we have to define it on the CPU side (using JavaScript).
This is one of the complex parts of doing 3D. You must understand complex math (or you will have to use a 3D engine such as Babylon.js, which we will see later).
The worldViewProjection matrix is the combination of three different matrices:
Using the resulting matrix enables us to transform 3D vertices to 2D pixels, while taking into account the point of view and everything related to the position, scale and rotation of the current object.
This is your responsibility as a 3D developer: to create and keep this matrix up to date.
Once the vertex shader is executed on every vertex (three times, then), we will have three pixels with the correct gl_position and a vUV value. The GPU is going to interpolate these values on every pixel contained in the triangle produced with these pixels.
Then, for each pixel, it will execute the pixel shader:
The structure of a pixel shader is similar to that of a vertex shader:
Varying
Varying variables are value created by the vertex shader and transmitted to the pixel shader. Here, the pixel shader will receive a vUV value from the vertex shader.
Uniforms
A uniform is a variable used by the shader and defined by the CPU. The only uniform we have here is a sampler, which is a tool used to read texture colors.
Main
The function named main is the code executed by the GPU for each pixel and that must at least produce a value for gl_FragColor (i.e. the color of the current pixel).
This pixel shader is fairly simple: It reads the color from the texture using texture coordinates from the vertex shader (which, in turn, gets it from the vertex).
The problem is that when shaders are developed, you are only halfway there, because you then have to deal with a lot of WebGL code. Indeed, WebGL is really powerful but also really low-level, and you have to do everything yourself, from creating the buffers to defining vertex structures. You also have to do all of the math, set all of the states, handle texture-loading, and so on.
Too Hard? BABYLON.ShaderMaterial To The Rescue Link
I know what you’re thinking: “Shaders are really cool, but I do not want to bother with WebGL’s internal plumbing or even with the math.”
And you are right! This is a perfectly legitimate question, and that is exactly why I created Babylon.js!
To use Babylon.js, you first need a simple web page:
"use strict"; document.addEventListener("DOMContentLoaded", startGame, false); function startGame() { if (BABYLON.Engine.isSupported()) { var canvas = document.getElementById("renderCanvas"); var engine = new BABYLON.Engine(canvas, false); var scene = new BABYLON.Scene(engine); var camera = new BABYLON.ArcRotateCamera("Camera", 0, Math.PI / 2, 10, BABYLON.Vector3.Zero(), scene); camera.attachControl(canvas); // Creating sphere var sphere = BABYLON.Mesh.CreateSphere("Sphere", 16, 5, scene); var amigaMaterial = new BABYLON.ShaderMaterial("amiga", scene, { vertexElement: "vertexShaderCode", fragmentElement: "fragmentShaderCode", }, { attributes: ["position", "uv"], uniforms: ["worldViewProjection"] }); amigaMaterial.setTexture("textureSampler", new BABYLON.Texture("amiga.jpg", scene)); sphere.material = amigaMaterial; engine.runRenderLoop(function () { sphere.rotation.y += 0.05; scene.render(); }); } };
You can see that I use BABYLON.ShaderMaterial to get rid of the burden of compiling, linking and handling shaders.
When you create BABYLON.ShaderMaterial, you have to specify the DOM element used to store the shaders or the base name of the files where the shaders are. If you choose to use files, you must create a file for each shader and use the following pattern: basename.vertex.fx and basename.fragment.fx. Then, you will have to create the material like this:
var cloudMaterial = new BABYLON.ShaderMaterial("cloud", scene, "./myShader", { attributes: ["position", "uv"], uniforms: ["worldViewProjection"] });
You must also specify the names of attributes and uniforms that you use.
Then, you can directly set the values of your uniforms and samplers using setTexture, setFloat, setFloats, setColor3, setColor4, setVector2, setVector3, setVector4, setMatrix functions.
Pretty simple, right?
And do you remember the previous worldViewProjection matrix, using Babylon.js and BABYLON.ShaderMaterial. You just don’t have to worry about it! BABYLON.ShaderMaterial will automatically compute it for you because you’ll declare it in the list of uniforms.
BABYLON.ShaderMaterial can also handle the following matrices for you:
world,
view,
projection,
worldView,
worldViewProjection.
No need for math anymore. For instance, each time you execute sphere.rotation.y += 0.05, the world matrix of the sphere will be generated for you and transmitted to the GPU.
Now, let’s go bigger and create a page where you can dynamically create your own shaders and see the result immediately. This page is going to use the same code that we discussed previously and is going to use the BABYLON.ShaderMaterial object to compile and execute shaders that you will create.
Incredibly simple, right? The material is ready to send you three pre-computed matrices (world, worldView and worldViewProjection). Vertices will come with position, normal and texture coordinates. Two textures are also already loaded for you:
Texture coordinates (uv) are transmitted unmodified to the pixel shader.
Please note that we need to add precision mediump float on the first line for both the vertex and pixel shaders because Chrome requires it. It specifies that, for better performance, we do not use full precision floating values.
The pixel shader is even simpler, because we just need to use texture coordinates and fetch a texture color:
Let’s continue with a new shader: the black and white shader. The goal of this shader is to use the previous one but with a black and white-only rendering mode.
To do so, we can keep the same vertex shader. The pixel shader will be slightly modified.
The first option we have is to take only one component, such as the green one:
Please note that we also use the world matrix because position and normal are stored without any transformation, and we must apply the world matrix to take into account the object’s rotation.
The goal of this shader is to simulate light, and instead of computing smooth shading, we will apply the light according to specific brightness thresholds. For instance, if the light intensity is between 1 (maximum) and 0.95, the color of the object (fetched from the texture) would be applied directly. If the intensity is between 0.95 and 0.5, the color would be attenuated by a factor of 0.8. And so on.
There are mainly four steps in this shader.
First, we declare thresholds and levels constants.
Then, we compute the lighting using the Phong equation (we’ll consider that the light is not moving):
We already used the diffuse part in the previous shader, so here we just need to add the specular part. You can find more information about Phong shading on Wikipedia25.
We’ve played a lot with pixel shader, but I also want to let you know that we can do a lot of thing with vertex shaders.
For the wave shader, we will reuse the Phong pixel shader.
The vertex shader will use the uniform named time to get some animated values. Using this uniform, the shader will generate a wave with the vertices’ positions:
I would like to conclude this article with my favorite: the Fresnel shader.
This shader is used to apply a different intensity according to the angle between the view direction and the vertex’s normal.
The vertex shader is the same one used by the cell-shading shader, and we can easily compute the Fresnel term in our pixel shader (because we have the normal and the camera’s position, which can be used to evaluate the view direction):
Sometimes the best inspiration lies right in front of us. With that in mind, we embarked on a special creativity mission1 eight years ago: to provide you with inspiring and unique desktop wallpapers every month. Wallpapers that are a little more distinctive than the usual crowd and that are bound to fuel your ideas.
We are very thankful to all artists and designers who have contributed and are still diligently contributing to this mission, who challenge their artistic abilities each month anew to keep the steady stream of wallpapers flowing. This post features their artwork for November 2016. Both versions with and without a calendar can be downloaded for free. It’s time to freshen up your desktop!
Please note that:
All images can be clicked on and lead to the preview of the wallpaper,
You can feature your work in our magazine2 by taking part in our Desktop Wallpaper Calendars series. We are regularly looking for creative designers and artists to be featured on Smashing Magazine. Are you one of them?
Welcome Home Dear Winter
“The smell of winter is lingering in the air. The time to be home! Winter reminds us of good food, of the warmth, the touch of a friendly hand, and a talk beside the fire. Keep calm and let us welcome winter.” — Designed by Acodez IT Solutions3 from India.
“It’s Bonfire Night on the 5th, and the nursery rhyme we learn at school in the UK starts ‘Remember, remember the Fifth of November’, so this is my tribute!” — Designed by James Mitchell86 from the United Kingdom.
“I love the changing seasons — especially the autumn colors and festivals here around this time of year!” — Designed by Rachel Litzinger132 from the United States.
“I designed some Halloween characters and then this idea came into my mind – a bat family hanging around in the moonlight. A cute and scary mood is just perfect for autumn.” — Designed by Carmen Eisendle159 from Germany.
“Thanksgiving is coming and I think one of the things we should be thankful for are the unlikely friendships.” — Designed by Maria Keller188 from Mexico.
“Look at the baby’s smiling face! Babies are always happy. There is an untouched innocence behind their smile that we adults fail to enjoy and cherish. When a baby’s smile can present you with hope, dreams and the aspiration to spread happiness and love, then why can’t you? Yes, let us spread the dream of love, happiness and peace all over the world.” — Designed by Krishnankutty KN321 from India.
“No man’s your enemy. No man’s your slave. Looking at people in an Apartheid way is a thing of the past. My blood is the same as yours, so why must we hurt our brothers and sisters when we are all the same? Believe in love, it will show wonders.” — Designed by Faheem Nistar364 from Dubai.
“It’s the time for being at home and enjoying the small things… I love having a coffee while watching the rain outside my window.” — Designed by Veronica Valenzuela399 from Spain.
“One of the first things that everyone thinks of when they think of November is Thanksgiving. When I think of Thanksgiving, I think of my dad cooking tons of delicious food all day while my sisters and I sit in front of the fire and watch the Macy’s Day Parade. This is my favorite time in November.” — Designed by Gabi Minnich420 from the United States.
“As an assignment for my Digital Theory & Skills class, we were asked to design a wallpaper for Smashing Magazine. I centered my idea around the idea of hot drinks because, in the U.S., we have three National days during the month of November dedicated to beverages that warm our cold, ‘sloth-like’ selves up!” — Designed by Rachel Keslosky433 from the United States.
Please note that we respect and carefully consider the ideas and motivation behind each and every artist’s work. This is why we give all artists the full freedom to explore their creativity and express emotions and experience throughout their works. This is also why the themes of the wallpapers weren’t anyhow influenced by us, but rather designed from scratch by the artists themselves.
Is a person who is sitting by herself in a room alone? From an outside perspective, it might seem so, but the human brain is way more interesting in these regards. We carry a map of relationships inside ourselves, and it depends on this map if the person actually does feel alone or not.
I just read “Stress and the Social Self: How Relationships Affect Our Immune System1”, and I feel that we can learn a lot from it. In fact, I might see social media from a different perspective now. We’re social beings, I love sharing good content with you, so, without further ado, here’s this week’s web dev reading list.
Opera 41 and Chrome 54 are out2, and they come with some interesting new features. The updates now support Custom Elements v1 as well as some new and convenient JavaScript methods like ParentNode.prototype.append() or unprefixed CSS user-select. On the other hand, they removed TouchEvent.prototype.initTouchEvent (you’ll need to use the constructor from now on), and KeyboardEvent.prototype.keyIdentifier has been replaced by KeyboardEvent.prototype.key.
Following a suggestion by other major browser vendors, Mozilla will distrust WoSign and StartCom certificates3 from January 1st, 2017 due to backdated certificates and non-disclosure and denial of an acquisition of the two companies. A great step for better CA security.
With the upcoming Chrome 556 (now in beta), the browser will finally get support for Pointer Events. It will also support JavaScript async/await-functions and revive the CSS hyphens property after years of absence in Chromium browsers. The once Event Listener option will also be added and, to improve load times and prevent failed navigations, cross-origin and parser-blocking scripts injected using document.write() will no longer load over 2G connections (which also means that 3rd-party fallbacks as used by the HTML5Boilerplate7 won’t work anymore in upcoming Chrome versions).
Last week, Smashing Magazine had to deal with an expiring SSL certificate. While this is usually an easy thing to renew, problems may arise if you have HTTP Public Key Pinning (HPKP) enabled and set to a long expiry date (which usually is intended). Mathias Biilmann Christensen now wrote about the lessons learned from this and why you should be aware (and afraid!) of HPKP15 and how to issue a new certificate with an old key16 so that the site won’t break for your users with HPKP enabled.
Brian Armstrong from Canopy explains why you shouldn’t rely on default DNS settings19, as the recent Dyn DNS outage has shown. He covers how to configure DNS the right way, why a longer TTL is important, and why having different nameservers from different providers can save your service’s uptime.
20Having multiple nameservers is good, but make sure that they come from different DNS providers so that requests can be resolved by others if one fails. (Image credit: Brian Armstrong21)
Roman Komarov wrote about conditions in CSS Custom Properties23, about solutions, challenges, and how you can benefit from preprocessors when it comes to more complex conditions. The article also mentions a couple of interesting ideas on how the web standard could be extended.
It’s really interesting to see this kind of back-story: Katie Singer reveals the real amount of energy used to power the internet25 and puts these figures into perspective by comparing how much power anyone of us would need to generate to power a website.
After a few years of designing products for clients, I began to feel fatigued. I wondered why. Turns out, I’d been chasing metric after metric. “Increase those page views!” “Help people spend more time in the app!” And it kept coming. Still, something was missing. I knew that meeting goals was part of what a designer does, but I could see how my work could easily become commoditized and less fulfilling unless something changed.
I thought of how bored I’d be if I kept on that path. I needed to build some guiding principles that would help me find my place in design. These principles would help grow and would shape my career in a way that fits me best.
What I’d like to share here is how I found my principles and regained a sense of fulfillment. I’ll also discuss one of them and hopefully convince you that it’s worth considering when we design products. Speaking of convincing, I’d also like to help you convince your boss that these things are important.
One small string that began to tie it together was watching Bret Victor’s talk “Inventing on Principle1.” The first half is mostly a code demo; then, he gets philosophical and talks about how goals and principles help you. I believe that living by principles can lead you to some really interesting places — for me, they’ve helped me to find the right ways (and places) to work and the right projects to take on (like designing a typeface), and they’ve helped me to identify which areas of my life need to be nurtured so I don’t burn out.
I’ve worked on projects whose goals varied from increasing email signups by 10% to boosting ad impressions by 30%. It was honest work, to be sure. It’s important that our designs meet the needs of the product owners and our clients — this isn’t art school, and there are real constraints and requirements we need to address.
However, it’s not enough to do metrics-based design. That in itself is a bit too clinical and detached, and where’s the fun in that? We need more.
Validating and then meeting a project’s requirements should be the minimum of what we set out to do. Once we set those metrics as our baseline, we’re allowed to be more impactful and thoughtful as we get to the root of a design problem.
What we need to shoot for is to help people fall in love with our products. That means pushing to give our designs a soul.
Here’s what “emotionally connecting” means: It means you’ve created a product that stands out in someone’s heart. The product becomes what people reach for because it’s the most helpful. People might not be able to understand what you’ve done, but they’ll perceive that it’s better. This is one way to make a product that’s indescribably good.
I usually ask these two questions, which get at part of what helps people fall in love with a product:
What’s going to help someone really find this useful?
What’s going to make them care about it?
For years, we’ve focused on making our websites and products be functional, reliable and usable. These qualities are the bedrock of any good product, but it’s when we add a soul to a product that it really comes alive.
My first hint of a design having soul came back in 2005 when I logged into Flickr2 for the first time. Sure, Flickr has undergone many, many changes since then, but I’d like to explain how it helped me, as someone who hadn’t shared much online before. I wasn’t sure how to share something, but I noticed right away that the website greeted me with a friendly “Hello.” The website helped me breeze through the process, and the friendly tone was really assuring.
My Flickr experience was like a pal gently leading me through the process, making it easy to succeed. It was a warm experience that made me want to return. Incidentally, I can say “hello” in a lot more languages now, thanks to what Flickr taught me.
Moving forward to newer examples, we can also consider Slack3, its competitors and email. All of these options help people communicate, but Slack has a personality that helps you feel more connected with it. Slackbot helps you get started by asking you questions in a conversation, much like a real human would when you meet them for the first time. The makers of Slack eschewed the standard idea of filling in a registration form in favor of something more conversational — this makes other services feel stale and unfriendly by comparison. Slack has soulful flourishes everywhere: from smooth animations to a cute little emoji that is shown when you’ve scrolled all the way to the newest message in your group.
To be fair, Slack and Flickr (which, by the way, share cofounders) weren’t the first to try for something more human — that desire has spanned centuries. Lovers of typographic history may recall that Gutenberg wanted the movable type he created to mimic the look of handwriting. He used blackletter-style letters, which were similar to the bible manuscripts that monks illuminated.
These examples makes a strong case for design having a soul. The personality that develops from having one is what wins someone’s heart and makes competitors feel like poor (or, at best, passable) copies. Consider this statement by John Medina in “Brain Rules7“:
Emotionally arousing events tend to do better remembered than neutral events… Emotionally charged events persist much longer in our memories and are recalled with greater accuracy than neutral memories.
In other words, we’re wired to remember products with a soul. Let’s use that to our advantage.
Next, let’s get a little more specific and see how that can play out.
One example of a way to give a product a soul is by adding a “fiddle factor.” A fiddle factor is a playful part of a product that imparts a sense of joy or playfulness when used. I first heard this term in Jony Ive’s unofficial biography, Jony Ive: The Genius Behind Apple’s Greatest Products. Ive had a new take on, of all things, a pen. Noticing that people tend to fiddle with their pens when not writing, he added something to his pen design to give people something to play with when they were idle. Of course, Ive started by making the best possible pen, then added the fiddle factor.
This was a new idea back then, to put something on a pen that was purely there to fiddle with. He was really thinking differently. The pen’s design was not just about shape, but also there was an emotional side to it.
Fiddle factors invite people to idly toy with them and form a deeper connection with what you’ve made. They become that warm little blanket that wraps a product around your heart and makes you want it more.
I’ve described one already with Slack and its emoji use, but here are a few more digital fiddle factors:
That pull-to-refresh spinner with the really cool spinning animation? A fiddle factor.
That fun animation you click to like something on Twitter? Fiddle factor.
In MailChimp, when you find out that Freddy’s arm can extend almost forever when you’re testing an email’s responsive breakpoints? That’s a fiddle factor (albeit a cruel one).
To give a project a soul is to cultivate a relationship with it. You need to know what it needs and understand its nature. In this sense, this relationship is the same as a potter with clay or an architect with wood and steel. Once you understand the nature of your materials, you will know what it can become and what its limits are. This will help you to mold a soul in the right ways. Not doing this will ultimately cause your project to feel inauthentic and fail.
Let’s say you’ve built a playful iOS app. It’s meant to send short, fun replies to friends. In the app, you’ve got an overview page showing the latest emails, and the user can go into a detail view to read a particular message. You could go the standard route of sliding in the email from the right — it’s a simple thing to do, and it’s built right into iOS.
The drawback with built-in transitions is well covered: Anyone can use them. Sure, there are definite benefits to them (namely, that they’re cheaper and faster to implement), but it’s difficult to build something that’s soulful if you only use stock components and animation.
Instead, consider an alternative kind of transition. Think about it like this: Consider the personality you think the app should have. Think about the people who will use this app. I use this chart to help me determine the tone of a project:
Back to our email app. Let’s say it’s a fun email client. In this chart, it shows most strongly in the casual, energetic and easygoing categories. If we think about the animations we’ll use here, it makes sense to be more playful.
So, let’s animate the email message to come up from the bottom of the screen with a little spring in its step. When you’re finished with it, you can swipe it away or pull it back down.
Let’s take that even further, based on the chart and animation:
Maybe the animation could be the basis for how you approach other animations in the app. Your other animations could be similarly fun (but don’t overdo it).
Maybe it will affect which typefaces you choose.
What’s important here is to avoid forcing something in where it doesn’t belong. Don’t be different just for the sake of being different, and don’t overdo it. If we saw the President of the United States deliver the State of the Union address in a Hawaiian shirt, we’d probably feel like something’s amiss and might not take him as seriously as we should. Same here — what we do has to feel natural.
Any interaction, be it with a button or a scroll, is a perfect place to explore adding a fiddle factor. Explore what might happen when the user scrolls to the bottom of the content. Or perhaps you could come up with something unexpected when the user hovers over a photo for a long time. Maybe you could make a neat hover or focus animation.
Adding soul isn’t limited to animation, either. It goes much deeper!
How does it sound? Each person’s voice is totally unique, and your product’s should be, too.
How does it look? We need to stand out and be ourselves; so do the things we make.
How does it act? Could your product know the user on a deeper level and anticipate their needs? That would be deeply soulful.
It’s all well and good for designers to talk about giving their products a soul, but here’s where it gets real: You have a deadline, and a budget. Your boss might not want to go for it, and your engineers might be resistant because it would take them extra time. Let’s talk about a framework for those conversations.
The framework I use to have these discussions centers on the effort required to implement an idea and the idea’s impact on the customer and the business.
While there will inevitably be high-impact, high-effort items in a project, the sweet spot is low-effort, high-impact ideas. These types of ideas help the user in meaningful ways, without significantly affecting your timeline and budget.
This way of looking at ideas also helps me to let go of ideas that might be a little too egocentric. Those usually have low levels of impact and high levels of effort. Mapping them out in this way helps me to focus on what matters most.
I’ve found this approach effective because it enables us to differentiate our products, while making the most of our time.
Let’s go back to custom animations for a moment. If we’re talking about adding fiddle factors and animation to our email app, we can’t build something great by assembling it entirely from off-the-shelf components. If we use only basic components and built-in animations, the product wouldn’t be memorable enough to matter to people. Plus, it will make it difficult for us to fall in love with what we’re building and to give the product a soul.
The soul of a product lives in the attractive needs. The Kano model invites us to think of one or two features that set the product apart from its competition. Framing your high-impact, low-effort ideas with this model will help you make a strong case for soul.
At our core, we’re people who care about our craft. We want to build great products, and the products need to have those nice touches. Being able to fully ply our trade also helps with employee retention. We’re happier when we’re able to do our best work. If we’re able to fully stretch ourselves to make something great, we’re going to keep giving our best in future. Conversely, if we’re prevented from doing our best work, we’ll become disconnected and disinterested, motivating us to go elsewhere when the opportunity presents itself.
If your boss or company doesn’t give you this freedom and you think it’s important, it might be time to plan your next transition.
It’s not enough to simply design something and meet a goal. This is a surefire way to burnout and boring products. We’ve got to do more for ourselves, our products and our industry. Finding our principles will help us find the right place to work and to do our best work.
Giving our products a soul will make them better, more engaging products. The next time you’re designing, ask yourself what would make someone find your product useful, and what would make them care about it more than another product? Once you do that, you’ll be well on your way to cultivating a healthy relationship with your products and building things that people really love.
Also, it’s not enough for us to have these ideas; convincing our team members and bosses to come along with us is important. Once we test and articulate the value of what we do, we’ll have a much easier and more rewarding time.
One of the most popular children’s television heroes here in the Czech Republic is The Little Mole1, an innocent, speechless and cheerful creature who helps other animals in the forest.
TV heroes often fight against people who destroy their natural environment. When watching The Little Mole with my kids, I sometimes picture him as a mobile website user. Do you want to know why?
We, as web designers, often treat our users the same way the “bad guys” treat The Little Mole, especially on mobile websites.
One episode of the series is particularly dramatic. An old man tries to get rid of the mole in the garden by any means and eventually tries to poison him. Web designers do the same thing when they make it difficult to use the mobile version of a website and try to “poison” the user, eventually making them leave the website.
So let’s be a little sarcastic today and try to poison the mobile user. How does that sound? Just follow my instructions.
Let’s make a slow website, disable zooming, hide the navigation and fill up the page with fixed-positioned elements. I’ll bet the poor mobile user won’t be able to survive this.
Making the website load slowly is the best weapon against the mobile user. Can the visitor go to and return from the post office before the website has finished loading? Then you’re doing a great job! You are poisoning the mobile user effectively.
Now, let’s be serious. The transmission speed of mobile networks is slow, and even though speeds are increasing to 3G and 4G, the networks aren’t everywhere2, and they just can’t compete with wired ones.
Various test and surveys show that the website speed has a significant impact3 on conversions and a website’s overall effectiveness. The user shouldn’t have to wait more than a couple of seconds for a website to render, even when using an EDGE connection.
Moreover, don’t forget that website speed is one of the criteria4 that Google considers for search results and AdWords campaigns. Therefore, it affects not only conversions but also whether users will land on your website at all.
The solution is quite simple: Think about speed when you are developing a website’s concept. Start with a performance budget5.
Don’t have time to read this now? I completely understand. Save the text for later. Fortunately, tools are available to tell you what is wrong with your website. First, test your website with PageSpeed Insights16, and then continue to WebPagetest17.
It is true that various studies on carousels do not explicitly say they are inappropriate. However, carousels are complicated both in implementation and for the user experience. So, using them is risky.
18 Nike’s carousel (left) does not make it clear that the content continues to the right. Best Buy’s (right) does it better: Subsequent items are visible, and therefore it is evident you can scroll to the right. (View large version19)
It is highly probable that, by using carousels, you will be hiding some content, instead of promoting it. According to some surveys, the vast majority of users see only the first image20, and banner-based carousels are usually just ignored because of “banner blindness.”
Don’t use the carousel just as eye candy or to hide unnecessary content.
Carousels are great at advertising secondary content that is related to the main content.
Use the first slide to announce the other slides.
The main purpose of that first slide is entice the user to view the second and third slides.
Make the navigation usable on small phones.
Those small dots used as navigation on the desktop do not count as “usable” on mobile phones!
Make sure custom gestures don’t conflict with default browser gestures.
Are you using the swipe gesture? Make sure it does not conflict with a built-in browser gesture.
Don’t slow down the website.
This has to do primarily with data demand and implementation of the carousel.
22 Newegg’s carousel (left) represents a conventional approach. B&H’s (right) is a good example, saving vertical space and enticing the user to browse additional slides by showing the next one. (View large version23)
Make the navigation easily accessible? Come on, get serious! You could end up with thousands of users.
When you hide the menu on a website, people will stop using it. In a recently published study, Nielsen Norman Group found24 that hidden navigation on mobile has a negative effect on content discoverability, task completion and time spent on task.
If there is something important in the navigation, and you can display it, do it. If you can’t show the whole menu, then simplify it, or at least show the important parts of it. For this reason, I tend to recommend the “priority plus” navigation pattern25.
26 If the navigation also carries content, always display at least a few items. (View large version27)
What if you can’t show the important items? OK, then, hide it under a hamburger icon, label it “Menu”28, and make sure users can use the website without the menu.
I regard less common gestures to be risky for a mobile UI, for two reasons29:
Custom gestures might conflict with the browser’s default gestures.
If your carousel supports swipe gestures, for example, the user might accidentally perform an “edge swipe” (a gesture very similar to a regular swipe), which some mobile browsers interpret as a command to navigate the browsing history.
Less common gestures are unknown to many users.
Therefore, you’ll have to teach the user. This makes sense if we are talking about daily-used apps, but not about websites.
Using a carousel does not have to be such a problem. However, I have seen news websites support swipe gesture for navigation between articles. For the user, this is unusual and confusing.
The swipe gesture is not the only problem here. Tapping the bottom part of the Safari browser on iOS will reveal a hidden menu. Therefore, if you stick navigation elements at the bottom, the user might be forced to tap twice30.
Before using any uncommon gesture, test that it doesn’t conflict with any browser’s built-in gestures.
OK, let’s be serious. Are your tap targets big enough that a basketball player could easily hit them with their thumb?
In his book Designing For Touch31, Josh Clark refers to a study by Steven Hoober and Patti Shank32. The researchers found that, if placed at the center of the mobile screen, a tap target can be as small as 7 square millimeters; however, if placed at the top or bottom, it should be at least 11 square millimeters.
However, millimeters are rather impractical for web use. We use pixels, right? So, how do we deal with the variety of DPIs on mobile devices? Probably to most readers’ surprise, Josh Clark says in his book:
Nearly all mobile browsers now report a device-width that sizes virtual pixel at roughly the same pixel density: 160 DPI is the de facto standard for touchscreen web pixels.
Again, all you need to do is set the viewport meta tag correctly:
There is one more step: Use em or rem units that best suit the responsive design. The default font size for most browsers is 16 pixels, so we can use the following conversion:
37 Even if your website is not “meant” for mobile devices, there is no reason not to let mobile users get a sneak peek. Some websites don’t adapt to particular viewport sizes. What a shame! (View large version38)
We can’t assume that smartphone screens are around 320 pixels, that tablets are around 768 pixels and that desktops are over 1024 pixels. A page should seamlessly adjust to screens that are 768 pixels and lower.
So, what resolutions should we take into account? All of them, my friend.
In my development career, I have been testing responsive websites from 240 to approximately 2600 pixels wide. I admit that making all sizes look perfect is sometimes not humanly possible, but the bottom line is that the layout should not fall apart — assuming your intention is not to scare away mobile users.
Like most of you, I simply expand the browser window (or use the developer tools’ responsive mode) from the smallest size to full width. It is a kind of “Hay! mode”, found in the Brad Frost’s testing tool39.
Also, Don’t Change the Design When the Phone Switches from Portrait to Landscape Mode Link
I think that users expect the same, or at least a very similar, look when browsing a website, regardless of how they hold their phone. I remember one of my lecture participants telling me a story. When his company redesigned a website, a lot of people started calling the support desk. They were all complaining about a particular error: The website menu was disappearing. After a while, they discovered that these were tablet users. When they viewed the website in landscape mode, the menu was there. If the tablet was rotated into portrait mode, the menu was hidden under a “hamburger” icon.
We have a problem, though. People usually can’t make calls from a desktop browser41. However, instead of ignoring phone links, desktop browsers open an incomprehensible dialog box that invites the user to select an app to make the call. In most cases, no such app is available.
Dear friend, we don’t want to poison desktop users either. So, on this rare occasion, I recommend using device detection and inserting an active link for mobile users only.
In the HTML, the phone number would be inactive. We’ll just wrap it in a span tag and apply Javascript later:
Phone: <span>123456789</span>
Using jQuery and the isMobile42 detection library, we’ll replace the element with a phone-number class and a link:
Disable the zoom if you really want to stick it to users. It’s inhumane — and very effective.
But seriously, by disabling zooming, you are not only making life a little more complicated for users with poor eyesight. Even users with good eyesight43 zoom on mobile devices, for various reasons:
to see an image up close,
to more easily select text,
to magnify content with low contrast.
Zooming is actually disabled on a sizeable proportion of mobile websites. Consider the importance of viewing image details in an online store. Zooming is disabled on 40% of e-commerce websites44 tested by the Baymard Institute. Mind-boggling, isn’t it?
Just as desktop users can’t do without the back button and scrolling, so too do mobile users need zooming.
The WCAG’s accessibility guidelines tell us that users must be able to increase text size by 200%.45
Sure, there are cases when you have to disable zooming — for fixed elements, for example. But zooming is sometimes disabled by accident, such as by insertion of the wrong meta viewport tag. The one below is the only correct one, whereas incorrect tags contain parameters such as maximum-scale=1 and user-scalable=no.
9. Set * { user-select: none }, And All Is Good Link
Some users will visit your beloved website and copy all of the text. This is shocking and must be stopped.
Dear friends, setting the user-select property46 to none can be useful, but only in parts of an interface that you expect users to interact with, where selection might do no good.
Therefore, I recommend using user-select: none for the following elements only:
icon navigation items,
carousels with overlaid text,
control elements such as dropdowns and navigation.
Please, never ever disable the selection of static text and images.
If the user lives to see the page load, kill them for good by making the font flicker or hide the content completely.
Using web fonts is not wrong, but we have to make sure they are the first elements of the website to load. Some browsers wait for web fonts to load before displaying the content. This is known as a flash of invisible text (FOIT). Other browsers (Edge and Explorer) show a system font right where you least want it, known as a flash of unstyled text (FOUT).
There is a third possibility, flash of faux text47 (FOFT). Here, content is rendered with a regular cut of the web font, and then bold and italic cuts are displayed right after that.
48 FOUT in practice: Showing system fonts is better than showing a blank screen while the web fonts load. (View large version49)
My projects are usually content-based websites, so I prefer to display the content as quickly as possible using a system font (FOUT). This is when I like Microsoft browsers. I also use a small library named Font Face Observer50. Let’s look at the code. First, the JavaScript:
var font = new FontFaceObserver('Webfont family'); font.load().then(function () { document.documentElement.className += ' webfont-loaded'; });
And here is the CSS:
body { font-family: sans-serif; } .webfont-loaded body { font-family: Webfont Family; }
11. Clutter The Page With Social Media Buttons Link
If you can’t poison them with your own concoction, use your neighbor’s.
Facebook, Twitter and Google buttons are uncomfortable for mobile users, for two reasons:
They download a huge amount of data and slow the loading and rendering of websites.
Tests show that when the official social sharing buttons are used, visitors will download 300 KB more over more than 20 requests.
They are usually useless. Social sharing is often integrated in the operating system.
A Moovweb study carried over the course of one year across 61 million mobile sessions showed that only 0.2% of mobile users do any social sharing.
The vast majority of social buttons are useless, even on desktop. Sharing is particularly useless in an online store, because a low sharing count is demotivating52 for the buyer. But let’s not go there. We are trying to poison the mobile beast.
If you don’t want to poison the mobile user but you need social sharing buttons, try using social sharing URLs53 or a plugin such as Social Likes54, which implements them with less impact on loading speed.
12. Faulty Redirection From Desktop To Mobile Link
A “killer” developer who has an m-dot version of a website has one more way to poison the user. Hooray!
We see faulty redirects55 on practically every other website with an m-dot version.
The correct implementation looks something like this:
If a mobile visitor goes to www.example.com/example, the server detects their device and redirects them to m.example.com/example (not to m.example.com). The same happens on a mobile version accessed from a desktop.
If that URL does not exist, then leaving the user on the desktop version is better than redirecting them to the m-dot home page.
Let search engines know about the two versions of the website by using <link rel="alternate"> or by indicating it in the sitemap.xml file. A detailed guide56 is in Google’s help section for webmasters.
The ideal solution is a responsive website that serves the same URLs to all devices. An m-dot version of a website increases development and maintenance costs. Also, it is not the only type of website that can be optimized for a strong smartphone UX or for mobile network speed.
Read what Karen McGrane says in her book Going Responsive57, referring to a study by Doug Sillars58, the technical lead for performance in AT&T’s Developer Program:
It’s a myth that the only way to make a fast-loading site on mobile is an m-dot. Good coding and decision-making practices can serve up responsive sites that are every bit as fast as any other method.
Now, the only thing left to do is hide what is not necessary — the content, for example.
Hide content from the mobile user. They don’t need it anyway.
Whether you like it or not, people visit websites to see the content. Yes, we are forced to live among such spiteful creatures.
59 The user seeks content. Give it to them as quickly as possible. Then, you can force them to download an app or submit their contact details. (View large version60)
Unfortunately, a lot of websites hide content, for reasons I don’t understand. Perhaps the content is not worthwhile, but I find that hard to believe. Numerous elements can cause content to be hidden:
Cookie bar
Some European websites are obliged to show the unfortunate cookie consent61 notification. And we can do nothing about it. However, this doesn’t mean that a cookie bar should be fixed and take up half the screen.
Online chat window or newsletter subscription ad
Positioning elements as fixed is very unfortunate on mobile devices. You are hiding content that the user came to see and are displaying content that they are not interested in. Using these elements is OK, but avoid fixing their position on mobile devices.
App-download interstitials
These are painful. Some websites invite you to install the accompanying app, instead of showing you the content. But users came to see the website! Instead, use smart app banners62 on iOS or native app install banners63 on Android to advertise your native app.
Google has decided64 that, effective January 2017, overlapping content on mobile websites will be penalized:
[Content that is visually obscured by an interstitial] can frustrate users because they are unable to easily access the content that they were expecting when they tapped on the search result.
Pages that show intrusive interstitials impair the user experience more than pages whose content is immediately accessible.
For the record, Google will not penalize websites that show interstitials, such as cookie bars or age confirmations on adult websites.
How Many Mobile Users Have You Poisoned Today? Link
That’s about it. Now, let’s be serious. There wasn’t anything “new” above, was there?
All the more reason to be sorry that the vast majority of responsive websites poison the mobile user.
Let’s summarize the critical information in a short checklist:
Does your website render quickly enough on mobile?
Do less important elements block more important ones? Have you chosen the optimal strategy to render web fonts? Are third-party plugins (such as for social media) slowing down the website?
Are you hiding content?
Are fixed elements getting in the way? Are you hiding content for particular resolutions or in landscape or portrait mode?
Is the UI mobile-friendly?
Are the tap targets large enough? Are complex UI elements such as carousels implemented correctly on mobile? Are phone numbers clickable? Does content selection remain enabled? Do you make navigation visible wherever possible?
Do you respect the native browser?
Have you disabled zooming by accident? Do you support gestures that conflict with browser defaults?
Is your redirection implemented correctly (if you’re using an m-dot version)?
Be kind to mobile users. Do not be the wicked old man who tries to get rid of The Little Mole in his yard. Do you want to know how the fairy tale ends? The Little Mole survives, laughs at the old man and moves to another garden.
Editor’s note: So you’ve attended a conference, listened to some truly inspiring talks, made quite a few valuable connections, maybe even attended a hands-on workshop and learned a thing or two. What now? How do you bring back the new knowledge and ideas and connections to your team and to your work? This article highlights a practical strategy of getting there without much effort. With SmashingConf Barcelona1 taking place next week, we thought this article would come in handy.
Have you ever been to a conference with top speakers, awesome people to network with and such a great energy that you got fired up and couldn’t wait to get home to start applying everything you’ve learned? How do things look two weeks later? Did you implement all of that learning into action? How about two months later? Were you still taking action on that knowledge?
If you got off track, don’t worry. That happens to most participants at any conference, no matter how great it is. In fact, the better the conference, the more likely you’ll be overwhelmed and won’t implement everything you wish to implement — unless you create a game plan to put the knowledge you acquire into action in a way that doesn’t overload you.
Here are a few tips on how you can do that in just a few minutes between sessions.
It is easy to tell yourself, “I’ll implement this strategy in my organization as soon as I get back home,“ or “Two months from now, I’ll have mastered this skill.” The hardest part is ensuring that you actually implement the strategy or that you practice enough to master the skill.
To solve this problem, at the end of each presentation, commit yourself to applying the newly acquired knowledge for a certain period of time or for a certain number of times each day. Setting aside 30 minutes to focus on that subject every day is a lot more effective than completely transforming how you work in just a week, particularly if you have trouble acquiring habits.
2 Thirty minutes in twenty-four hours is not much. Set them aside daily and use them wisely. (Image credit3)
Write Down The Reason Why You Are Implementing This New Action Link
Will this new action save you time in the future? Will it triple your productivity? Will it make you a better web designer? How so?
Write down your motivation right after the presentation is over, so that once you are back home and face the first setback, you can read again why you decided on it in the first place. This will help you to persevere until it works for you.
Be Clear On How This New Action Will Affect You Link
For every action there is a reaction. It would be naive to think that this new action won’t have any impact on you.
Maybe you will incur some extra costs. Maybe you will get frustrated until you master the new skill. Or maybe you will have to work a bit more in the beginning. When you become clear on those possible setbacks, you can create strategies to minimize or even eliminate them.
Also, be clear on the positive impact it will have on you. When things are in place and you start reaping the rewards of your actions, what will those rewards look like? Will you be making or saving more money? Will the quality of your work skyrocket? Once you know the rewards, you can create strategies to get the most out of them.
You don’t need to come up with those strategies at the conference. All you need is a quick brainstorm on the positive and negative impact of this new action. You can come up with the strategies later on, once the conference is over. For now, just have an idea of what might get in your way, so that you can prepare for it, and know what you might get out of it, so that you can leverage it.
Be Clear On How This New Action Will Affect Others Link
If you work on a team, your new action will directly or indirectly affect them, especially if you are the only one who attended the conference. Ideally, your whole team would go to the conference with you, but that is not always possible.
When you get back from a conference and start working harder, some of your team members might get jealous and try to undermine your efforts (even if subconsciously). You may have learned of a great idea at the conference that your colleagues don’t find so great because they don’t share the context in which you learned it; and, because of that, they might turn down your idea. That can be discouraging.
Once you’re clear on how your ideas or new work ethic might affect your colleagues, you can come up with ways to give them the context they need, so that they see the power of the idea before you present it to them.
4 Share recordings of talks with your colleagues (if available), or walk them through your notes explaining key concepts. (Image credit5)
If you feel comfortable presenting, you could even offer a mini-workshop for them based on what you’ve learned. That’s a double-win because, first, they will learn the key points and, secondly, by teaching them, you will assimilate about 90% of what you learned at the conference.
Once again, you don’t need to come up with strategies during breaks between sessions, but at least brainstorm on how this new action could impact those around you.
Every conference has two types of audience members, the ones who are always with their head down taking notes and the others who don’t bother to write anything. Both types miss out on important aspects of live presentations. The person who is always writing very often gets so focused on the content that they end up missing the broader context. That leads to confusion and abstract content when they get around to reviewing their notes. The person who pays attention but doesn’t take notes might understand the context and learn a lot better, but because our brains can process only seven pieces6 of information at a time (give or take two), that person will have a hard time recalling everything they learned.
7 The act of writing stuff down helps you to remember it. (Image credit8)
To solve this dilemma, develop the habit of taking notes quickly and effectively. Sketchnotes9, mindmaps and flowcharts are great options. Familiarize yourself with them, and apply whichever you feel is most appropriate for the moment. For instance, sketchnotes could be your standard method of note-taking; when you want to take notes about a complex strategy, you could draw a mindmap; and when you are learning about a process that has multiple steps and a certain order to those steps, you could opt for a flowchart. As you become familiar with these note-taking options, you’ll notice what works best for you in each situation. For now, just pick one and start with it.
In most cases, when you start implementing what you’ve learned, you won’t get results right away. Most likely you will go through some frustration before succeeding. Encountering challenges in implementing a new strategy or concept is perfectly natural. It simply means you are learning something new, and as a result, it will help you to become a better at what you do.
According to the four-stage model of learning a new skill, created by Noel Burch and made famous by Abraham Maslow, when we learn any new skill we move first from unconscious incompetence (where we have no idea that we don’t know something) to conscious incompetence (where we are aware of our lack of skill). This is the time when most people might get frustrated and give up.
To get yourself excited about the initial challenges and avoid the initial discouragement, set up a reward system. This will remind you that you are on the right track.
You could simply give yourself a small prize to reward your commitment. If you have taken the action you have committed to take for the entire week, reward yourself with a massage, a few hours of playing that video game you love or going to your favorite restaurant. This will keep you going when frustration would normally set in.
By using rewards to keep you from giving up, you will carry yourself through the initial challenges of the conscious-incompetence phase, and soon you will reach conscious competence, when you can perform the new skill quite well but still need to think about it. The great news is that, once you are at the conscious-competence level and keep performing this new skill, very soon it will become automatic, and you won’t need to even think about it — you will just do. This is the fourth stage, of unconscious competence.
Rewards will facilitate this process because they will condition you to perform the action more often.
Setting up a reward system is quite simple. Think of one or more small rewards you can give yourself each time you take the action you’ve committed to take. For example, If you’ve committed to working with a particular skill set for an hour every work day, by the end of that hour, give yourself a 30-minute break or your favorite candy bar or a bottle of your favorite beer. The reward doesn’t have to be big, but it has to feel like an acknowledgement of your effort.
You might be thinking, “This reward stuff won’t work for me; I’d rather reward myself when I finish the project.” Well, consider the famous research of Ivan Pavlov12 on conditioning. If you reward yourself only when you complete a project, you will condition yourself to complete projects more quickly, and you will most likely grow willing to sacrifice the quality of your work for it. This process happens unconsciously. On the other hand, if you reward yourself for working hard, you will condition yourself to work hard and focus. By working hard and being focused, you will automatically get more work done in a shorter period of time, without sacrificing quality.
Pro tip: Think of many different rewards, write them down, and put the paper in a jar. Every time you earn a reward, pull a paper from the jar and give yourself that reward. This relies on the same psychological trick that subscription boxes and scratch cards use to hook you in, but this time you are the one in control, and you win every single time.
During the conference, you will be among awesome people with objectives very similar to yours. You will also have plenty of opportunities to network with them. Why not take advantage of that?
When you meet a couple of fellow web designers with similar aspirations, and you are constantly in touch with them, even if only via Facebook, you can support each other to stay on track with your goals. You will also have a great source of learning because they will be implementing the same things as you.
Instead of asking the standard questions like, “Where are you from?” and “What do you do?,” ask questions that will reveal whether you could be good accountability partners for each other:
“What topic have you liked most so far, and what are you most likely to put into practice right away?”
“What inspired you to come to this conference?”
“I really liked what the last speaker said. Have you tried doing that?”
Questions like these take the pressure off because, while they still count as small talk, they allow you to talk about many subjects without stalling the conversation. And you will be able to more easily spot who among the attendees would be a good accountability partner.
Perhaps a few pressing projects are awaiting your return. Or maybe some things will distract you in the coming weeks. Or perhaps you have a history of losing enthusiasm quickly.
Whatever it is, now is the time to become aware of those things. Devote a couple of minutes to thinking of what could prevent you from following through with your actions. After the event, you can devise ways to avoid those obstacles and to follow through on the actions until they get you the result you want.
Let’s face it: You are a busy person and have a lot of things going on in your life right now. Chances are, when you get back to your daily life, your schedule will be full of activity. If you try to fit in the action “whenever you can,” you will either push it to the end of the day (causing you stress) or not do it at all.
Before you go home, schedule a specific time every day to take the action. Treat the time as if it were a meeting with someone else. Do not try to justify moving it around anytime something comes up. Move it only when something truly urgent comes up.
You will learn a ton of great content at the conference, content that could help you a lot. Most people try to implement everything at once; after all, they don’t want to miss out on the potential benefits. What happens instead is that they end up getting overwhelmed and start slacking off. This is a waste of a great conference.
If you can successfully implement just one strategy or action in your daily life, then the conference will have been more than worth your investment of time and money. That being said, you can still try to implement everything you believe would be useful to you. All you need to do is to write a list of things to implement; as soon as you have successfully implemented one item on the list, and it is now a habit or requires little conscious effort on your part, move on to the next item.
Beware! There is a popular myth that developing a new habit takes 21 days. This myth is based on a misreading of Maxwell Maltz’ book Psycho-Cybernetics. The myth was debunked when researchers at the University College London found that developing a habit takes on average 66 days. You don’t have to take two months to move on to the next item in your list, though. The study just shows the average; according to the same study, some people developed habits in as little as 18 days, and others in as long as 254 days. What matters is not the time, but how much repetition and intensity you put into implementing the new skill.
Getting to the next item in the list might take a few days or a few months. Either way, you will eventually get through the list and have implemented everything you find valuable.
So, get excited to attend your next conference, because if you follow the steps in this article, you will have a concise and effective action plan, one that will bring you more results than all of the previous conferences you’ve attended combined!
As people working in front of a screen all day, we often struggle to find the right balance. I’m not talking about work-life balance alone here, but of how our life that is completely virtual during the day often causes us to not take real life into account.
We tend to forget that our bodies need something else than coding all day. And we need to take care of our fellow human beings in real life as well. Just think about this number: The average US person will spend over 9 hours in front of a screen1 today. Time to become more aware of how we can keep the balance between the virtual and the real world.
Do you remember jsPerf2? It has been down for years (due to spam), now it celebrates its revival. Finally a chance to use this great, great tool again.
Automated browser testing usually causes a lot of trouble and custom build solutions. TestCafé7 now tries to solve this with a Node.js tool that takes care of all the stages: starting browsers, running tests, gathering test results, and generating reports without the need for a browser extension.
Jason Grigsby explains how we can use Client Hints for responsive images8. With Client Hints, the browser can tell a server via HTTP headers what types of content it prefers based on information about the device pixel ratio, viewport width, and width of the image element on the page. This allows the server to serve the most appropriate image back to the client.
As developers, do we really need to code all day? Is it necessary to have side projects and participate in open-source? Belén Albeza doesn’t think so. She shares why having a life away from coding matters15 and why you can be a passionate developer nonetheless. It’s important to have a balance between your computer time and other life activities (to help gathering data on this matter, please fill out this survey 16), and that’s also the message we have to send across to new developers17. You can do great coding in a normal workday.
Icons are an essential part of many user interfaces, visually expressing objects, actions and ideas. When done correctly, they communicate the core idea and intent of a product or action, and they bring a lot of nice benefits to user interfaces, such as saving screen real estate and enhancing aesthetic appeal. Last but not least, most apps and websites have icons. It’s a design pattern that is familiar to users.
Despite these advantages, icons can cause usability problems when designers hide functionality behind icons that are hard to recognize. An icon’s first job is to guide users to where they need to go, and in this article we’ll see what it takes to make that possible. If you want to take a go at creating your own icons, you can download and test Adobe’s Experience Design CC1 for free and get started right away.
5 Icons can be compact enough to allow for more controls to be displayed in a relatively small space. (Image: Adobe6) (View large version7)8 Every app needs a beautiful, memorable icon that attracts people in the app stores and stands out on the home screen. (Image: Apple9) (View large version10)
As mentioned, an icon is a visual representation of an object, action or idea. If that object, action or idea is not immediately clear to users, the icon will be reduced to visual noise, which will hinder users from completing their task.
There are three types of icons: “universal,” “conflicting” and unique icons. Let’s focus on each type and its impact on the user experience.
There is only one problem: Universal icons are rare. Beyond the examples cited above, most icons are ambiguous. They can have different meanings depending on the interface.
Trouble comes when you implement a commonly used pictogram that has contradictory meanings. The heart and the star are excellent examples. Not only does the functionality associated with these icons vary from app to app, but these two icons compete with each other.
As a result, these icons are hard to interpret precisely. Even in the context of an individual app, these symbols can be very confusing when the user expects one outcome and gets another. This impedes the user’s understanding of these icons and discourages them from relying on them in future experiences.
Consider other popular icons that have multiple meanings:
Icons are especially bad for anything abstract because they generally are not strong visual representations. How do you describe a unique object or action? Apple’s icon for its Game Center app, for example, is a group of colorful circles. What does the Game Center icon mean? How does it relate to gaming?
19 The Game Center icon fails to convey the concept of games.
As another example, when Google decided to simplify its Gmail interface and move everything behind an abstract icon, it apparently20 got a stream of support requests like, “Where is my Google Calendar?”
An icon might make complete sense once you know what it’s supposed to represent, but it can take some time for first-time users to figure things out. Another problem is that first-time users tend to avoid interface elements that they don’t understand. It’s human nature to distrust the unknown.
Practical Recommendations For Designing With Icons Link
Let’s take a look at some simple techniques and strategies for choosing a proper icon for a given context. Obviously, picking an icon often is a long story, and whatever the choice is, testing icons in interfaces with real users is crucial.
Use Labels to Clarify Abstract or Unfamiliar Icons Link
Icons can save space by reducing text, but at the price of recognition. An icon can represent a thousand different words, and that is exactly the problem. It would be a serious misconception to assume that users either would be familiar with your abstract pictograms or would be willing to spend the extra time discovering what each means.
Users are often intimidated by unfamiliar interfaces. What they really want is a clear idea of what will happen before they perform an action in an unfamiliar app. That’s why your icons need to set clear expectations for users before they click or tap on them.
A good user experience can be measured in many ways, one of which is how much it frees the user from having to think. Clarity is the most important characteristic of a great interface. To avoid the ambiguity that plague most icons, we can include a text label26 to clarify an icon’s meaning in a particular context, especially for complex actions and abstract functions.
UserTesting conducted27 a series of tests, comparing labelled icons to unlabelled icons. It found that:
users were able to correctly predict what would happen when they tapped a labelled icon 88% of the time;
that number dropped to 60% for unlabelled icons. For unlabeled icons that were unique to the app, users correctly predicted what would happen when they tapped an icon only 34% of the time.
Even for universal icons, including a label is usually safer.
So, not all users are familiar with conventional icons, which makes an icon-only interface potentially harder for them to use. On the other hand, experienced users might regard an interface with text labels everywhere to be cluttered. How do we make everyone happy? As Michael Zuschlag mentions31, icons alone will suffice when at least two of the following three conditions are met:
space is very limited (i.e. too small for text alone);
the icons are standardized (e.g. they are universal);
the icons represent objects with strong physical analogs or visual attributes (e.g. a red rectangle to set the page’s background as red).
Some designers believe labels defeat the purpose of icons and clutter the interface. To avoid using labels, they use tooltips. However, tooltips are a poor substitute for text labels. The fact that text labels never need graphic tooltips is a pretty good clue that text is better than icons. Another major disadvantage is that tooltips fail to translate well to touchscreens.
Another common technique is to use tutorials or coach marks or popover hints. However, users might simply rush through the tutorial or forget everything they’ve learned when they next launch your app. Like tooltips, tutorials are no substitute for intuitive design; rather, the opposite. As Matthew at CocoaLove32 says, “Your app’s tutorial screen is just a list of ways you’ve failed.”
Icons accompanied by labels make information easier to find and scan, as long as they’re placed in the right spot. Place icons according to the natural reading order. As argued by UX Movement36, there are two important factors in an icon’s location:
In order for icons to serve as a visual scanning aid, users need to see them before they see the accompanying label. Place icons to the left of their labels so that users see them first.
Align the icon with the label’s heading, instead of centering it with the heading and body. Seeing the icon first will help users to scan the page more easily.
Let’s imagine that you have a table with numbers in rows, and you need icons as supporting elements to indicate whether a value is good, mediocre or bad. What is the proper placement for icons next to numbers — to the right or left? As Don Nickel explains40, icons to the left of a number usually indicate the intent of the data, whereas icons to the right usually indicate the quality of the data. As with icons with button labels, the placement of icons should follow the natural reading order. There are two possibilities for icon placement:
Status icons would appear at the end of the line. As seen in the example below, the user will see the subject first, then the value associated with the subject and, finally, the status of the value. 41 (Image: Stack Exchange4442)
If the icons themselves are the subject, then they would appear at the start of the line, and everything else would follow thereafter. 43 (Image: Stack Exchange4442)
The accordion menu is a UI pattern that collapses long lists into manageable groups. It is useful for navigation menus and particularly for search filters.
Beyond the decision of whether to use an accordion menu, designers often wrestle with the specifics of designing one. The most common questions are:
What icon should I use? In terms of usability, is an icon really necessary at all?
Should the icon go on the left or right of the menu item?
Lance Gutin conducted an experiment48 with different type of icons (chevrons, plus and minus signs, and triangles) and locations (to the left and right). With three icon choices in two locations and a control group with no icon at all, he identified seven total designs to investigate.
Analyzing the results, he mentioned two important findings:
The most convincing data involved icon location. Presented with an icon to the right of the menu item, many users preferred to click the icon rather than the text label. It’s quite possible that some users believed the icon and the label functioned differently; the icon’s small size and distance from the label increased the recorded task times, resulting in slower task times for accordions with icons to the right.
In terms of icon choice, the accordion menu with a plus placed on the left measured the fastest, with 90% of participants predicting that the menu would change. However, most of the task times did not differ statistically, and none of them differed practically.
Please notice that the study doesn’t mean that we all should use the icon with a “plus” icon placed on the left in accordion menus. However, if we put the icon on the right side, it’s safer to make sure that this icon is of a big enough size (at least 44×44px), so it’s easy to hit with a finger or a mouse.
However, take into account two important factors when deciding whether to use a hamburger icon:
A/B testing based on Jon Rundle’s article54 shows a correlation between correct identification of the hamburger icon’s function and the age of users. This icon isn’t familiar to elderly users. Hence, from a usability perspective, ask who the majority of your users are. 55 (Image: Edgar Anzaldúa56) (View large version57)
Research from the Nielsen Norman Group58 found that the hamburger icon still requires labels for clarity. Other research by James Foster59 clearly shows that the hamburger icon is not as clear as the simple word “Menu.” Thus, using the word “Menu” (and making it look like a button) could be more helpful to visitors. 60 Original (baseline); variation 1 (“Menu” + border); variation 2 (“Menu” + hamburger icon + border); variation 3 (“Menu” without border). (Image: Sites for Profit6461) (View large version62)63 (Image: Sites for Profit6461) (View large version65)
When designing user interface elements, consider the principles of usability (consistency, affordance, etc.). Affordance, an important concept, essentially means that elements such as icons should be intuitive:
Keep icons simple and schematic.
In most cases, icons aren’t the place to be creative. If you design a new icon, minimize visual detail and avoid a highly realistic image by focusing on the basic characteristics of the object. Fewer graphic details66 aid recognition.
67 If you have two options for an icon, choose the simpler one. (View large version68)
Choose familiar icons.
A user’s understanding of an icon is based on previous experience. If you decide to include icons in your interface, research first. Familiarize yourself with icons used by your competitors and with icons commonly used on the platforms you’re targeting (i.e. system icons), because those will be most recognizable to your users.
Don’t port platform-specific icons.
As you build your app for Android or iOS, don’t carry over themed UI69 elements from other platforms. Platforms typically provide sets of icons for common functionality, such as sharing, creating a document and deleting. When you migrate your app to another platform, swap out the old platform-specific icons with the target platform’s counterparts.
70 Icons for common functionality in Android (top) and iOS (bottom)
Make Icons Good Touch Targets for Mobile Apps Link
People interact with touch-based interfaces using their fingers. UI controls have to be big enough to capture fingertip actions without frustrating users with unintended actions and tiny targets. The image below shows that the width of the average adult finger is about 11 millimeters (mm) wide, while a baby’s is 8 mm; some basketball players have fingers wider than 19 mm!
71 People often blame themselves for having “fat fingers.” But even baby fingers are wider than most touch targets. (Image: Microsoft72) (View large version73)
Apple recommends a minimum target size of 44 × 44 pixels. Because physical pixel size varies by screen density, Apple’s pixel specifications apply best to the iPhone’s 320 × 480-pixel 3.5-inch display.
Google recommends that touch targets be at least 48 × 48 density-independent pixels (DP). A touch target of 48 × 48 DP results in a physical size of about 9 mm, regardless of screen size. In most cases, icons should be separated by 8 DP or more of space to ensure balanced information-density and usability.
76 Touch targets include the area that responds to user input. (Image: Material Design7977)78 For this touch area, the icon is 24 DP, and the touch target is 48 DP. The values apply to Android apps. (Image: Material Design7977)
But not only is target size important; sufficient space between touch targets matters, too. The main reason to maintain a minimum distance between touch targets is to prevent users from touching the wrong icon and invoking the wrong action. This becomes extremely important when icons such as “Save” and “Cancel” are right next to each other. At least 2 mm of padding80 between targets is extremely important in such cases.
Icons need to be handled with care. Always test them for usability. Watch how a real first-time user interacts with your UI, which will help you to determine whether the icons are clear enough:
Test the icons for recognizability.
Ask people what they think the icons represent. They shouldn’t have to wonder what they do, because they won’t bother trying to find out.
Test the icons for memorability.
Icons that are hard to remember are usually inefficient. Bring back a set of test users and ask whether they remember an icon’s meaning after having been told a couple weeks earlier.
Iconography lies at the heart of UI design. It can make or break the usability of an interface. Every icon should serve a purpose. It should help the user do what they need to do without requiring additional effort. When designed correctly, icons guide users intuitively through a workflow, without relying much on copy. Don’t make your users think. Make clarity in the app a priority!
This article is part of the UX design series sponsored by Adobe. The newly introduced Experience Design app84 is made for a fast and fluid UX design process, as it lets you sketch out ideas, create interactive prototypes, test and share them all in one place.
You can check out more inspiring projects created with Adobe XD on Behance85, and also visit the Adobe XD blog86 to stay updated and informed. Adobe XD is being updated with new features frequently, and since it’s in public Beta, you can download and test it for free87.
Many apps today, such as Google Now, Spotify and Amazon, make assumptions about user preferences based on personal data. They may even use this information to make decisions on our behalf, without any direct input from us. For example, Facebook tailors your news feed and Amazon recommends products — both hiding “irrelevant” information and only showing what they think you will like.
This type of design pattern, where user choice is removed, has recently been coined “anticipatory design”. Its aim is to leverage data on user behavior to automate the decision-making process in user interfaces. The outcome lowers the excessive number of decisions people currently make, thereby reducing decision fatigue and improving decisions overall.
Despite the good intentions imbued in anticipatory design, though, automating decisions can implicitly raise trust issues — especially at a time when trust has been eroded through the use of dark patterns1 in user interfaces. Therefore, in contrast to the deceitful dark patterns that are meant to trick users, this article will look at how we can give people confidence in the decisions made for them by using “light patterns,” which ensure that user interfaces are honest and transparent, while even nudging users to make better decisions for themselves.
In today’s online world, consumers face more options than ever before. For example, consider shopping in marketplaces such as Amazon and eBay. Even when we know exactly what we want (replacement Apple headphones, for example), the choice can still be overwhelming:
Another example is all-you-can-eat music services, such as Spotify, which put huge amounts of music at our fingertips, with no extra cost to listen to more. The additional choices quickly add up:
The overwhelming choice of music on Spotify. (Image: Spotify6)>
While more choice is welcome, too much can create a daunting experience for the user, because then actually making a decision becomes difficult. This problem has been highlighted extensively before, most notably by Barry Shwartz’s paradox of choice and Hick’s Law:
Hick’s law8 “Every additional choice increases the time required to take a decision.”
Both studies suggest that by reducing the amount of choice in a user interface, we can improve a user’s ability to make decisions, thereby reducing frustration and making the user experience better.
Articles about “decision fatigue” back this up, stating that making high numbers of decisions can cause people to be less effective at making the important decisions in life. That’s why Mark Zuckerberg wears the same style of clothes9 every day:
I really want to clear my life to make it so that I have to make as few decisions as possible about anything except how to best serve this community.
Reducing the number of choices for a user has, therefore, become the focus for many of today’s apps. This has been done in a number of ways, two of which we’ll discuss now.
Many products are personalized to individual preferences, limiting options only to those deemed relevant to the current user. This has been done famously by Amazon, both on its website and through tailored email recommendations based on data collected on customers:
Recommendations such as those above might not be enough to reduce the difficulty of choice, because users are still faced with the many relevant options that have been filtered through. This is where products can go a step further by making decisions on the user’s behalf, totally removing the burden of choice.
For example, apps such as Google Now13 are increasingly carrying out actions for users, without any direct user input:
Google Now makes a lot of decisions in the background, from finding out where you’ve parked your car to searching for football scores — and notifying you at the right time without even having to be asked:
Spotify shows another instance of this type of assumptive approach by creating playlists for users before they even think to. As was stated in the announcement20:
It’s like having your best friend make you a personalised mixtape every single week.
The task of searching for new music and deciding which tracks to add to a playlist are carried out for you.
This notion of making decisions for users has been called “anticipatory design24” and has become a topic of debate because of the ethics involved in making decisions on behalf of users.
In the process of reducing choices and making decisions for people using the approaches outlined above, one could be accused of being presumptuous about what users want. This can create distrust if the app doesn’t do what the user expects, especially at a time when many apps have been exposed for exhibiting dark patterns25, tricking users into doing things they don’t want to do.
Consequently, the higher the number of decisions an app makes for users, the more transparent it should be in order to maintain trust. This can be done by avoiding certain dark behaviors and instead favoring transparency through “light patterns,” which keep users informed and in control, even when anticipatory design is used. Let’s explore a few light patterns.
When options are filtered away to show users more of what they might like (through app personalization and recommendation systems), an inherent problem can be created whereby users begin to see more and more of the same type of content:
This can making discovery of new things tricky. It is evident not only on e-commerce websites such as Amazon, but also on social media websites such as Facebook. As Time magazine states29:
Facebook hopes to show more links to people who click lots of links, more videos to people who watch lots of videos and so forth.
Many users might not be happy with this because they don’t want brands to determine what they see. For instance, Joel Spolsky, CEO of Stack Overflow, accuses Facebook of hiding information30:
Facebook is not showing all posts. It is choosing what to show you. An interesting question is to what extent does the Facebook algorithm tend to reinforce your preconceptions? Because that’s what it has been trained to do.
Google Now (top left) prompts users directly underneath its Now cards to check that the information shown is relevant.
Facebook (top right) is slightly less obvious, employing a dropdown caret in the top right of each news item. Clicking the caret reveals options to hide news you don’t want to see.
Amazon (bottom) makes it even more difficult to tailor recommendations. You need to navigate to “Your Account” → “Your Recommendations” → “Improve Recommendations” to adjust what it shows you.
Of these three examples, Google offers the most transparent feedback mechanisms, giving multiple obvious interactions for users to provide feedback on cards, ensuring that the user is in control:
In the case of Facebook and Amazon, even though users can provide feedback to tailor what they see, the underlying news feed and recommendation algorithms have greater control, as outlined by Joel Spolsky38.
Disguising ads as content is a common dark pattern39, and it can happen when actions are carried out without the user’s explicit consent.
As an example, Google Now recently partnered with brands such as Lyft, Airbnb, Uber and Instacart to prompt users with services available from those apps, at the time it thinks you need them. While cards from third-party services can be useful, when the cards are for paid services, it can almost seem like another form of advertising:
When similar dark shades of design can be seen in related products, the motivation behind anticipatory decisions becomes more suspect. Google Maps is a good example of this, appearing to disguise ads as pins43 on map search results:
When making assumptions about users, it’s important that they be accurate. A tried and tested way to do this is to make use of previous user input, as seen in web browsers features such as pre-populated forms, or by remembering credit-card details and passwords in anticipation of future use:
This saves users from having to repeat the same tasks. The same principle can be applied when making more complex assumptions that combine multiple streams of data. Campaign Live48 highlights an example of this when it discussed how the taxi service Hailo’s “Now card” combines time, geolocation and previous user input to rebook taxis in Google Now:
Let’s say you come into London and you book a Hailo cab, and you go into a particular area between 7am and 10am. If you’re still there at 5pm, there’s an assumption you may want to leave and that’s when the Google Now card would prompt you to book a cab.
The assumption is likely to be more accurate in this case (and will appear less like a disguised ad) because the offer is based on a previous booking made by the user via the same service, within a reasonable time period:
49 Hailo card prompts user based on related action (Image: Google525018)
Despite being able to customize the recommendations given to them, sometimes people don’t want apps to make decisions for them at all. In this case, opting out must be easy. Even though you can’t delete the Google Now app, you can disable Now cards in the settings:
51 Google Now lets users disable Now cards. (Image: Google525018)
In contrast, there is no way to turn off Amazon recommendations, unless you log out completely — which makes sense (for Amazon) because 35% of product sales53 are a result of recommendations, according to Venture Beat.
A question remains, therefore, as to whether features that record and make use of user data in these ways should be opt-in by default. There is a big difference between opt-in by choice and presumed consent, as shown in this example of organ donors from Dark Patterns5654:
55 The difference between opt-in by choice and presumed consent for organ donors (Image: Dark Patterns5654)
Basically, when opt-in is the default, consent to be an organ donor is nearly 100%, whereas when the decision to opt-in is not presumed, the consent percentage is very low.
It’s evident that companies use dark patterns to advance their own agendas, and it’s even easier today with the tools that help companies make decisions on behalf of users. However, what if similar methods could be used to help people make better decisions for themselves? Currently, many of us make poor decisions due to human frailties such as lack of self-control or a focus on short-term gains.
59 Nudge: Improving Decisions About Health, Wealth and Happiness (Image: Wikipedia60)
In this vein, the techniques we have seen being used to create dark patterns can also be used to form light patterns that nudge users to make better choices.
For example, as life expectancy has increased, it’s become important for people to save for old age through pension plans such as the US’ 401(k)61. However, as explained by Thaler and Sunstein, even though these plans offer “free money,” many people still don’t choose to enroll. Possibile solutions suggested by Thaler and Sunstein to help people save for old age include:
automatically enrolling people (similar to the organ donor example),
forcing people to make a simple yes or no decision on whether to enroll.
These approaches are examples of light patterns because they serve to benefit users, pushing people to take action and to make good long-term decisions. Even though the latter approach forces people to decide, it simplifies the decision to an easy binary choice, which encourages people to participate.
Alan Shapiro suggests62 that anticipatory apps could actually encourage behavioral patterns in users. By being constantly advised where to go and what to buy, people could become conditioned by app notifications and the decisions made on their behalf.
This could make for some scary scenarios, such as when a company is primarily interested in selling you products, because it’s more likely to instill behavior that favors impulse purchases and the use of its services. For instance, Amazon’s new Prime Pantry service is full of shady patterns, starting with its Pantry Boxes, which encourage people to buy more than they intended:
Amazon has shifted the conversation away from “do I need this?” to “what else do I need to fill up this box?”
Amazon has even gone as far as filing patents for a system that leverages user data to predict and deliver products before the customer has even placed an order. Amazon calls it anticipatory shipping67:
Putting these motives aside, what if the same tactics could be used to help people form good behaviors and habits? There are plenty of examples of this today, with the emergence of many self-improvement and habit-forming apps.
For example, stickK71helps you72 kick bad habits by using “the psychological power of loss aversion and accountability to drive behavior change.”
Duolingo76 reminds you to practice your new language every day, helping you to form a beneficial habit.
77 Duolingo helps you form language-learning habits. (Image: Upquire.com78)
From what we see above, the benefits people get from decisions being made on their behalf in anticipatory design are largely determined by the ethics of the company behind the app. How willing is a company to exploit customer data for its own purposes, and how much data are users willing to trade for convenience?
As explained throughout, giving users control and staying transparent are key to maintaining trust. What do you think about dark patterns used in anticipatory design? Do light patterns really exist, and who is in control when design assumptions are made?
Once upon a time, in the not-so-distant past, people considered websites to be a prime indication of how users’ attention was brief and unforgiving. Remember the dreaded bounce rate? Remember the numerous times you worried that your content and graphics might not be 100% clear to users? That was nothing. Compared to mobile, engaging users on the web is a piece of cake.
Researchers claim that we humans can no longer brag about being able to concentrate for a full 12 seconds on a coherent thought, thanks to the digitization of our lives. We now lose concentration after about 8 seconds1, which, sadly, is 1 second less than the attention span of a goldfish. This is the attention-deficit state of mobile users that you need to overcome in order to successfully engage with them. Mobile users don’t just have brief attention spans — they also expect immediate satisfaction when interacting with your app, otherwise they might be quick to close or even uninstall it.
So, what should you do when tasked with “improving app engagement”? There are several actions you should take, but one of the most crucial is to get up close and personal with users. If you don’t segment and personalize your users’ journeys, then you should expect lower rates of conversion and retention.
Whether your product is a bookstore, baby supplies store or retail app, your users expect you to know who they are, what they want to get from your app and how they prefer to receive it. This means that only using your users’ first names in messages is not enough.
Here are the three fundamentals you should follow:
Show that you understand them.
To become personal with your app’s users, you have to truly know who they are and what they want. Segment your audiences, understand their activity patterns in your app, and respond appropriately to their interests and preferences. Several tools on the market4 enable you to analyze your users’ in-app behavior, and you can also connect the app to your CRM for deeper segmentation.
Communicate with users at the right mobile moment.
Analyzing your users’ general usage and past behavior is just one step. You also have to track their real-time interaction with the app5 and act upon it. People open your app to perform a particular action. Make sure to interact with them using mobile-engagement features such as surveys, messages and banners in a way that respects the reason they opened your app in the first place and that adds value to what they were planning to do.
Provide meaningful content.
Mobile engagement needs to be done in context. You need to know the point a user has reached in their journey, their demographics, their physical location, and information about their overall app usage. All of these should be taken into account for optimal personalization.
To better explain these three points, here are five examples of using personalization to drive mobile engagement.
The first step towards personalization is to segment your users. Collecting data on users’ past interactions with your app will enable you to segment them by how active they are (visit frequency, time in app, actual usage, etc.).
Each and every app has its power users — the people who are most active and loyal. According to Capgemini Consulting, a customer who is loyal to a brand delivers a 23% premium6 in share of wallet, revenue and profitability compared to the average customer. Loyal users should receive a totally different type of in-app message than less active or dormant users, who might feel harassed by gamified messages.
At the right time and in the relevant context, power users should receive in-app messages that are gamified and that drive them to perform a certain action.
In the example below, a frequent user of a bookstore app is asked to recommend a book to a friend to gain 15 points to become a “Super Reader.” This is a great example of how gamified messages give users the feeling that they are an integral part of your app’s community. In addition, they will be thrilled to be recognized for their commitment to your app and to know that you appreciate them.
When users feel this way, they are more likely to rate the app or share it with their friends and connections, helping to create a community of readers who use the app.
7 Encourage your users to engage with gamified incentives. (View large version8)
Gamified in-app messages can be as simple as this one or more complex. You might choose to give your power users credits, points, access to special features and offers, and more.
Whatever type of gamified in-app message you choose, make it fun and make it personal.
Let’s say you want to drive users to learn more about one of your products and to purchase it. Understanding how the product works and its value is a strong motivator for consumers to purchase it, and even to learn about more products that they might purchase in the future.
If you’ve already used banners or in-app messages (triggered at the right time, of course) to promote this particular product, but your users aren’t converting as much as you’d like, then a video could be a great way to improve your conversion rates. In the example below, an explainer video is triggered when users who have already engaged with items such as baby food and baby clothes in past sessions are now visiting your toys section for the first time. The video drives purchasing intent by explaining how the baby toy would nurture their baby’s development.
9 Use videos to trigger an emotional reaction to your brand among your segmented users. (View large version10)
Combining the right video with the right mobile moment could lead to better engagement results.
Don’t forget, too, that video is increasingly popular among mobile users. According to an IAB study11, video is on the rise, with 35% of respondents viewing content on mobile devices (in the US, it’s almost 50%). Using mobile video messages is a great way to communicate with users to convey a message that requires a more detailed explanation, or to deliver an emotional message that connects retail buyers to your brand.
It is not uncommon for a user to add items to their shopping cart but then suddenly not continue with the purchasing process. You want the user to complete the action as soon as possible, though. Push notifications are the ideal solution in this type of scenario, because they can be highly personalized and can contain a deep link that takes the user to exactly where they left off. Push notifications without personalization can drive users insane, whereas one small personalized message — triggered at the right mobile moment — can push (pun intended) users in the right direction.
When possible, add new information to push notifications that can help drive conversion decisions. For example, receiving an offer for free shipping after having added products to their shopping cart could persuade a user to take the next step and finalize the order. Just like the gamification example in our first point, push notifications serve to recognize and reward past activity in the app.
12 Push notifications can drive users to complete actions. You can also use in-app messages after a certain amount of time has passed since a user started a transaction and didn’t complete it.
Use Surveys To Ask And Respond To User Feedback Link
You can’t only talk to your users; you need to listen, too. Whereas tracking their “digital body language” can help you understand what users feel about your app, surveys are more about listening to them and taking the conversation to the next level.
An important step when using surveys is to provide each user with different feedback (such as messages, a secondary survey screen, a video, etc.) and not to use identical “thank you” messages, which are sometimes a turn-off.
In the example below, a user who says that they wouldn’t likely return to a hotel is shown another screen that asks them their main reason for not returning. Meanwhile, those who respond very positively are asked whether they would like to write a short review.
13 Respond differently to each piece of feedback. Keep the conversation going. (View large version14)
A combo survey personalizes the responses of users and drives them to complete the proper action in the right mobile moment.
Offer Coupons Based On The User’s Journey And Purchasing History Link
Coupons have a better chance of being redeemed if they are relevant to the customer’s purchasing history. But you also need to consider the right moment to present a coupon. Choose a time when the user is most likely to be interested in what the coupon offers.
Let’s say you have a customer who has looked at a particular pair of shoes several times throughout the day but has yet to purchase them. To drive the user to purchase, you could offer a time-limited coupon of 20% off the item the next time they visit the screen.
Targeting the right users at the right moment is key to increasing your conversion rate.
15 A coupon offer should relate to past behavior and to real-time interaction in the app.
Understanding the individual user’s journey and how they are using the app overall is key to personalizing your mobile app experience. Mobile users have high expectations16 of the mobile experience and brief attention spans, so careful personalization and in-context awareness are crucial for effective communication and engagement with them.
Hold on, Tiger! Thank you for reading the article. Did you know that we also publish printed books and run friendly conferences – crafted for pros like you? Like SmashingConf Barcelona, on October 25–26, with smart design patterns and front-end techniques.
Let’s say you want to quickly sketch out your idea of a website, or just quickly whip up a small site for testing purposes. Also, neither should take a lot of time to build nor should they need a full-stack toolkit. So, where and how do you start? Have you tried creating a website with some Dropbox-powered hosting tools? Well, they certainly can provide a fast and easy solution for these occasions. You don’t have to fiddle with servers or bother about deployment, some of them even come with pre-configured templates that you can use or customize to spare you coding time.
In today’s article, we’ve collected nine tools for you that hook up to your Dropbox to streamline the process of creating and hosting static websites. However, before you settle on a Dropbox-powered platform, always balance the pros and cons to make sure it is the right choice for your project — including performance-wise. As for prototyping, the following tools are a great way to make your workflow more efficient so you can spend more time on the details that really matter.
One creation tool that is based on Dropbox is Small Victories31. The idea behind it is simple: The tool connects to your Dropbox, creates a special folder there, and whatever you drop into the folder (be it HTML, Markdown or TXT files, images or videos) will automatically be turned into a website. No installation, server, CMS or uploading necessary; every change you make in the Dropbox folder will be pushed to your site instantly. To ease the job, you can draw on nine ready-made themes (among them a homepage, an e-commerce product page and a feed stream) or if you want more control, you can code your own static HTML files instead and use Dropbox essentially as a hosting service.
2 Drop your files into a designated Dropbox folder and Small Victories31 will make a website out of it.
To keep everything as simple as possible, the content will be displayed on your site in the order as it appears in your Dropbox folder. This requires a bit of planning ahead when it comes to choosing file names, and, as it turns out, numbering them is the easiest way to maintain a structure. Alternatively, you can set the order to sort by date or by manually comma-delimiting the file names in the order you want them to appear in the settings.txt file. Despite its simplicity, the tool isn’t inflexible at all, but surprises with quite some customization features. Adding your own styles and scripts to the default CSS and JS files goes without saying, while Google Fonts and Typekit support give you even more freedom.
By default, every site created with Small Victories will be hosted as a subdomain of .smvi.co, but you can also use a custom domain if you prefer. Just enter the domain in the settings.txt file and make sure to register it in your domain’s DNS settings, too. If you want to make your content available only to a selected group of users, to show an idea to a client, for example, or to share slides, you can also set a password protection. Especially when you’re looking for fast results or want to collaborate with your team members, the tool is convenient to work with. A shared Dropbox folder is all it takes.
Here some examples of sites that were built using Small Victories:
Also based on the “drop your files into a Dropbox folder” idea, is Pancake1412. Apart from HTML, it supports .md and .txt and creates a page for every text file you save to the respective Dropbox folder. By default, your project will be hosted as a subdomain of .pancakeapps.com (which is SSL-secured, by the way), but you can also use your own domain with a Pancake site. Apart from Dropbox sync, the platform offers a beta version with git push that comes with version control and supports popular generators such as Jekyll, Sphinx, and Wintersmith.
13 Pancake1412 serves HTML and text files directly from your Dropbox folder.
DropPages1715 already launched back in 2011 and offers the same approach as the tools above. Three sub-folders in your Dropbox’s project folder house text (which can also be written in Markdown), images and CSS, and, finally, HTML files to render the text. You simply edit the files on your computer, save, and they’ll automatically sync with your live site. If you don’t want to edit live content, create a folder called _drafts and get started with your new content in there. When you’re done, overwrite the live version with it. Content is minified, gzipped and cached. DropPages is free to use.
16 DropPages1715 syncs between your Dropbox and your website to make editing content as painless as possible.
Site442018 updates your website as soon as you’ve saved any changes within the folder you’ve created in Dropbox (it constantly monitors it specially for this purpose, too). Sites created with the tool usually live on a .site44.com sub-domain, but using custom domains is possible as well. For fast response times, your content will be cached on Site44’s servers. Advanced features include password protection, custom 404 pages, and support for redirects. A 30-day trial is free, personal plans start at $4.95 per month.
19 Site442018 monitors a Dropbox folder which you use to save your website assets in. As soon as you make changes to this folder, your website will automatically be updated.
Another static site generator living in a symbiosis with Dropbox is Sitebox.io21. You can code your own layout (Markdown is supported) or use one of three ready-made, responsive themes. The possibility to set a meta description for every page helps make your website search-engine friendly. A nice bonus: The tool won’t push all changes you make to the folder live instantly. Instead, you can preview your changes first, and when everything is as you want it to be, you can publish in one click. Sitebox is free to use with up to five pages with a subdomain at .sitebox.io, a professional license with an unlimited amount of websites and the option to connect your own domain is available for $10 a month.
22 An example site created with Sitebox23 and the default Unison theme.
Cloud Cannon2624 is a simple CMS that syncs back and forth with Dropbox or, alternatively, GitHub and Bitbucket, to build and deploy your website to a test or custom domain. Focus lies on collaboration between developers and non-developers. While developers have full control over the source code and can use their favorite tools to build static or Jekyll sites, non-developers can update content visually in the inline editor. For improved performance, websites built with Cloud Cannon are optimized and assets served from a CDN.
Here’s a handy feature: You can set up a staging site for testing purposes and easily push to the live site when you’re ready. Restricting public access to your site or to parts of it is also possible. Plans for Cloud Cannon start at $25 for one user and unlimited websites, more expensive agency and enterprise plans are also available. If you just want to give it a try, there’s a 30-day free trial, too.
25 Cloud Cannon2624 manages the balancing act between giving developers full freedom and empowering non-developers and clients to edit content themselves.
No frills, just a Dropbox-powered hosting service — that’s KISSr2927. You save your website to Dropbox, and when you update files, the changes will be copied to KISSr’s servers. One prototype site is free, for $5 per month you get unlimited sites, storage, and bandwidth.
28 KISSr2927 provides simple Dropbox web hosting without requiring a personal FTP server.
Paperplane3230 spares you fiddling around with FTP by connecting to your Dropbox (or GitHub if you prefer). To use it, pick a name, point Paperplane to your files, and that’s it — the service will transform your assets into a website. Custom domains can be used, too. Paperplane weighs in with $9 per month, but you can also test it out for free with three sites max and no custom domains.
Synkee3533 works differently than the other tools on our list. It connects to your Dropbox but doesn’t replace an FTP server — simple deployment and version control are the magic words here. A typical workflow with Synkee is as follows: You save your website assets to Dropbox, edit them with your favorite text editor, and the changes get synced to your website’s server as your Dropbox syncs. Deployments can be handled via a dashboard either manually, or you set them to apply automatically when you save a file. Built-in version control and the possibility to revert changes on the FTP server also add to a more efficient workflow. Synkee also works with GitHub and Bitbucket and offers a two-week free trial. After the trial has ended, plans start at $5 per month for one user and ten projects, team plans are also available.
34 Synkee3533 lets you deploy and sync websites that you save in Dropbox to your FTP server.
What are your experiences? Have you used one of these tools before? Or do you know of one we haven’t listed? Let us know in the comment section below.
Hold on, Tiger! Thank you for reading the article. Did you know that we also publish printed books and run friendly conferences – crafted for pros like you? Like SmashingConf Barcelona, on October 25–26, with smart design patterns and front-end techniques.
It is often easy to overlook the underlying principles that compel people to take action. Instead, we tend to obsess over minute details — things like button color1, pricing2 and headlines. While these things can compel users to take action, it is worth considering the psychological principles that influence users’ behavior.
Unfortunately, few organizations try to understand what influences user action. Research by Eisenberg Holdings3 shows that for every $92 the average company spends attracting customers, a meager $1 is spent converting them. Real conversion optimization is rooted deeply in psychology.
In this article, we will analyze seven psychology studies that date as far back as 1961. Each experiment raises principles that will help you boost conversions on your website. Some of the experiments are so controversial that they will make you cringe, but the lessons are fundamental.
The Authority Principle: Leverage The Influence Of Authority Figures To Get People To Act Link
In perhaps the most famous study about obedience in psychology, Yale University psychologist Stanley Milgram conducted a series of experiments4 to observe how people react when instructed by an authority figure to do something that conflicts with their conscience. The aim of the experiment was to see how far people would go to obey authority, even if the act of obedience involved harming someone else and acting against their conscience.
For the studies, which began in 1961, Milgram selected participants for his experiment by placing an advert in a newspaper. Once people responded to the advert, Milgram paired the participants and cast lots to determine which of each pair would be the learner and which the teacher. Unbeknownst to the participants, the experiment was rigged — all of them would be teachers, while all of Milgram’s associates would be chosen as learners.
The learner (Milgram’s associate) was taken into a room and connected to an electric chair; the teacher (one of the participants) was then taken to a room next door that contained a row of switches, marked with a scale of 15 to 450 volts — with 15 volts being a “slight shock” and 450 volts producing a “fatal shock.” The teacher was able to see the reactions of the learner through a screen.
Once in the other room, the researcher told the teacher (i.e. the participant) to administer an electric shock every time the learner answered a question incorrectly. The learner was then asked a series of questions and mainly gave wrong answers (on purpose). In return, the authority figure — dressed in a gray lab coat — asked the teacher to administer an electric shock for each wrong answer. The result was stunning: 65% of participants administered the electric shock to the maximum 450 volts, even when the learner long stopped showing signs of breathing. In a variation of the experiment, the authority figure was replaced with an ordinary person, and compliance dropped to a stunning 20%.
Milgram’s experiment7 shows that we will go to great lengths to obey orders, especially from those seen to be as legitimate authorities (whether legal or moral).
How to Use The Authority Principle to Boost Conversions Link
The authority principle can be used to boost conversions in your business. For instance, getting authority endorsements will always go a long way to boosting your conversions and profits. You are far better off, of course, avoiding trying to sell products to people who don’t want them, but even scrupulous websites can boost conversions by tapping into the power of authority. Here are some tips:
Get an authority figure or respected celebrity in your industry to endorse you.
A great example8 of the effectiveness of endorsements from authority figures is Dr. Oz. Dr. Oz is renowned in the health field, and products will sell out at stores as soon as he recommends them. The phrase “Dr. Oz Approved” currently has 1.6 million results in Google (shown below), showing how seriously people take his recommendations.
9 (Image: John Stevens)
Mainstream publications are also regarded as authorities. In the absence of an endorsement from a person, an endorsement from a reputable publication would go a long way to boosting your credibility. Rent the Runway reported a 200% increase in conversions13 from visitors referred by fashion magazines and blogs compared to visitors from paid search ads.
Become an authority yourself.
Why get Oprah to endorse you when you can be Oprah yourself? Establish yourself as an authority figure and an industry leader by writing for relevant publications, speaking at relevant events and conferences and establishing relationships with other authority figures. Think of the difference between receiving an email from a stranger and receiving an email from a known thought leader. Making a name for yourself is a great way to warm up your sales leads before you even reach out to them. Seven-figure blogger Neil Patel14 (pictured below) established himself as an authority by highlighting major brands he has worked with, his recognition from the United Nations and the President of the United States, and major publications that have featured him.
15 (Image: John Steven)
The Amos Tversky And Daniel Kahneman Experiment: Use Anchoring To Make People Feel They Are Getting A Bargain Link
Whether you are working for a company or selling your own products, you have probably seen prospective customers bounce from your website because they feel that your products are too expensive. Well, an experiment16 (PDF) conducted by psychologists Amos Tversky and Daniel Kahneman in 1974 holds a solution to boost conversions with these customers, too.
During the experiment, the researchers observed how an initial perception influenced the subjects’ behavior. They surveyed people and asked them to estimate the percentage of African nations that are a part of the United Nations. Before people were allowed to answer, though, the researchers had them spin a wheel painted with numbers from 0 to 100. Unbeknownst to the participants, the wheel had been rigged to stop at either 10 or 65. The experimenters found that the people who landed on the higher number on the wheel were more likely to choose a higher percentage than people who had landed on the lower number. Those who were shown 10 on the wheel estimated, on average, that 25% of African nations were a part of the UN, while those who were shown 65 estimated that the percentage was 45%.
The study reveals the effect of anchoring on our actions. If you want to buy a bomber jacket, and all of the jackets you find are around $200, and you later see a similar jacket that costs $150, you would think it’s a bargain, even if the jacket actually costs $50.
Amazon does this effectively, and automatically, for most of its products:
17 A listing of books on Amazon (Image: John Stevens)
How to Use the Anchoring Principle to Boost Conversions Link
You can use this psychological effect to boost your sales. First, put your product in high esteem — if possible, make people feel that your product is so amazing that they would never be able to afford it. When they later find out the price you are asking, even if it is expensive, they will see it as a bargain. It is no longer a matter of “$500 is too much,” but rather, “Wow, this could easily sell for $2,500, and I’m getting it for $500!”
Many major brands leverage the anchoring effect by offering deals that appear to be such a great bargain that users might feel that they’re crazy to offer them. Below is shown AT&T deliberately offering both a 32 GB and a 64 GB iPad at the discount price of $529.
The original prices of the 32 GB and 64 GB iPads were $729 and $829, respectively. The latter would be regarded as expensive. At the discounted price of $529, however, it’s a bargain. The user feels, “Wow! I’m getting double the storage for the same price!” They no longer focus on the high cost of the 64 GB model, but rather on the fact that it costs the same as the model with half the storage.
The Little Albert Experiment: Use The Conditioning Principle To Turbocharge Your Conversions Link
The “Little Albert” experiment is pretty extreme compared to the other experiments discussed here, and it probably wouldn’t be allowed today, not only because of the nature of the experiment itself, but also because the subject was just a child at the time. (It was widely reported that the child, known as Little Albert, never recovered from the effects of the experiment.) The experiment, however, does teach some fundamental lessons about how the human brain is wired.
Psychologist John B. Watson conducted the experiment to observe the phenomenon of classical conditioning20. In simple terms21, classical conditioning is “a learning process by which a subject comes to respond in a specific way to a previously neutral stimulus after the subject repeatedly encounters the neutral stimulus together with another stimulus that already elicits the response.”
The study observed a child who Watson referred to as Albert B. and who is popularly known today as “Little Albert.” Little Albert was nine months old at the time, and he loved animals prior to the experiment — particularly, a white rat. However, Watson began to pair the presence of the rat as well as other animals with the loud bang of a hammer hitting metal. Eventually, Little Albert developed a fear of animals, including the white rat he initially loved, due to the associated discomfort that came with the loud bang. Although the two stimuli were completely unrelated, their association was strong enough to elicit a response in Little Albert.
How to Use the Little Albert Principle to Boost Your Conversions Link
Associate a positive emotion with your brand and products.
In Little Albert’s case, the emotion associated with the presence of animals was fear and anxiety. As a result, he came to dislike animals. For Nike, this emotion is a feeling of being able to achieve your goals by using its products. Nike has carefully positioned itself as the brand to help you achieve your goals. From its trademarked “Just do it” slogan to its strategic use of the underdog character who becomes a hero in some of its ads, Nike has associated the positive emotion of achievement with its brand.
Make this positive association obvious.
Constantly repeat the association until an image is created in the mind of your users, and you’ll notice a significant increase in responses to your messages.
In Nike’s “Find Your Greatness22” ad, we see an overweight boy running desperately and not giving up. The implied message is that anyone can do it, which is in line with Nike’s advertising over the decades.
23 Nike’s “Find Your Greatness” ad campaign (Image: DailyMail24)
The Jam Study: Giving People Too Many Choices Can Cripple Sales Link
In his book The Paradox of Choice, psychologist Barry Schwartz famously argues that having too many choices isn’t necessarily good for people and might have unintended effects. This holds true for conversion optimization. The effect was well demonstrated through the famous “jam study.”
Psychologists Sheena Iyengar and Mark Lepper published the jam study in 2000. The study observed the behavior of 754 shoppers25 in an upscale grocery store and how they responded to the choices they were presented with. The shoppers were observed on two consecutive Saturdays. A tasting booth was set up in the grocery store with jam selections on display. The first group of people were exposed to a table displaying 24 varieties of gourmet jam, while the second group were exposed to a table displaying 6 varieties of jam.
The study found that, while the table with more varieties of jam attracted more consumer attention (60% of shoppers stopped at the booth) than the table with fewer varieties of jam (40% of shoppers stopped at the booth), the latter outperformed the former in sales by a factor of 10 to 1.
That’s basically a 900% increase in conversion rate. How would you like the same?
26 The jam study shows that less is more. (Image: Noah Rickun27)
This has a fairly logical explanation. Research shows28 that human attention span is rapidly declining, shrinking from 12 seconds back in 2000 to 8 seconds now. Rather than increasing your conversions, giving people more options will actually harm it by crippling their decision-making ability.
How to Use the Choice Principle to Boost Your Conversions Link
Offering more options sounds like a good thing, until it isn’t. Giving people more options will draw their attention; if you ask them, they will tell you that’s what they want. However, research shows that most people actually respond better to fewer options. Limit the choices you present to users, and you will more likely get them to take the action you desire right away.
Dropbox’s minimalist home page29 is a great example of this. It’s plainly obvious that Dropbox simply wants you to sign up, and its home page focuses on helping you do just that.
30 Dropbox’s minimalist home page shows that less is more. (Image: John Stevens)
In “The Minimal Homepage31,” Mattan Griffel observes that the fastest-growing companies in the world — especially in their early days, when they needed fast adoption — all had something in common: a minimalist home page. Dropbox, Quora, LinkedIn, Twitter and Pinterest are some notable examples.
The Decoy Principle: Drive Users Toward One Option Link
Another famous conversion optimization experiment is known as the economist pricing experiment. Psychologist Dan Ariely popularized this experiment32 in his book Predictably Irrational. Ariely surveyed 100 of his students at the Massachusetts Institute of Technology and asked them to choose between the following three options:
web-only subscription ($59),
print-only subscription ($125),
print and web subscription ($125).
The results of the experiment were amazing33: 16 of the 100 people surveyed chose the web-only subscription, while 84 people chose the print and web subscription. Nobody chose the print-only subscription.
Why is the contrast so sharp? This is the decoy effect in action; the print-only option was introduced to make the print and web option more attractive and to make the web-only option less attractive. Seeing that the print and web option cost the same amount as the print-only option, people felt that there must have been an error and that they were getting a bargain. But this was psychology in action.
The AT&T offer referred to earlier in the section on anchoring is also a form of decoy pricing. The fact that both the 32 and 64 GB iPads were sold at the same price made the 64 GB model an instant bargain. The 32 GB model could be said to be a decoy to boost sales of the 64 GB.
How to Use the Decoy Principle to Boost Your Conversions Link
You can use the decoy principle to boost sales by introducing an appealing offer that costs less and has more features. This way, people will feel that they are getting a bargain and will be compelled to act immediately. When people see that package A has twice the features of package B, yet both cost the same, they will instantly develop a preference for package A.
Here is another example of decoy pricing used by Apple to sell the iPod Touch:
By putting the 8 and 32 GB iPod Touch models side by side and pricing them so closely, some users will feel compelled to select the 32 GB model without considering that competing products might be superior and cost less. Instead, they will focus on the fact that they are getting the 32 GB at a much better price. With those three models marked at those price points, and all with apparently similar features, the 32 GB model looks like the bargain!
As you can see, adding one or more purchasing options can boost conversions. However, something more fundamental is going on here. Why will many people easily hand over their money for a product from one brand, yet be reluctant to pay a fraction of that amount for a similar competing product? Let’s find out.
The Richard Thaler Experiment: Use Context To Boost The Perceived Value Of Your Product Link
Context influences value, which explains why people are more likely to bargain in a flea market than in a boutique. Richard Thaler conducted an experiment39 to demonstrate this principle. Subjects were asked how much they were willing to pay for beer. The first group was told that the beer would be purchased from a local grocery store, while the second group was told that the beer would be purchased from a fancy hotel. The study revealed that people offered to pay more for the very same beer when it came from the fancy hotel.
To boost conversions, master the art of conveying exclusivity through context. The grander people consider your brand to be, the more likely they will pay for your product, even if it is worth much less.
For example, you are more likely to pay a premium for a baseball glove like the ones shown below if you see it on a curated e-commerce website than in an online superstore. Canopy’s home page lists one glove for $250, whereas Amazon’s search results display infielder baseball gloves ranging from $9 to $45.
40 Listings from Canopy (Image: Canopy41)42 Listings from Amazon (Image: Amazon43)
How to Use the Principle of Context to Boost Your Conversions Link
Create a premium feel to attract premium customers. Some believe that offering discounts or competing on price is not a smart long-term approach to business. Instead, create a premium impression and you will command premium rates.
That being said, it’s not always about what you’re offering. Simple brand positioning and marketing can go a long way to improving your conversions. This brings us to our next point.
The Familiarity Principle: Use Repetition To Get People To Notice Your Offer Link
The power of repetition in boosting conversions is deeply rooted in psychology, and it is one of the principles advocated by Robert Cialdini in his book Influence: The Psychology of Persuasion.
A 2013 study by Jaroslaw Jankowski44 found that content repetition can boost conversions on websites. The more exposed people are to your offer, the more familiar they become with it, and the higher the probability that they will act on it. This is known in marketing as the rule of seven45; that is, prospective customers need to come across your offer at least seven times before they take action.
How to Use the Familiarity Principle to Boost Your Conversions Link
Don’t limit yourself to one marketing channel. Spread your message across multiple channels, maximizing touch points, and you will likely notice a boost in conversions. Jay Baer offers a great case study46. He says that his Jay Today show, a daily three-minute video, is one of his strongest content-marketing performers. After each video is published, he repurposes it into eight different pieces of useful content, which he then distributes on eight different platforms, including YouTube, LinkedIn and Medium. This helps grow his business by attracting more attention and increasing his likability, using the power of repetition.
Below is the YouTube version of one of his recent shows promoted as a linked post on Facebook, followed by the same content in iTunes podcast form.
His effective distribution of content based on the familiarity principle has been a key driver of growth for Baer’s company.
The familiarity principle also works well in advertising. Research shows that companies will consistently repeat ads51 to the same people because it creates in them a subconscious desire for the products.
Effective conversion optimization goes beyond simply changing a button’s color or making a few tweaks here and there. The trick is knowing the fundamental principles that make people act the way they do. Hopefully, the psychology studies reviewed in this article have provided you with some practical insight to boost your conversion rates.
Whether by leveraging the power of classical conditioning (the Little Albert experiment), keying into the effectiveness of decoy pricing (the economist pricing experiment) or using plain-old social proof (Milgram’s experiments), you can do much to boost your website’s conversion rates. The key is in the implementation. Take lessons from the studies referred to above, implement them on your website, and watch your conversions increase.
Hold on, Tiger! Thank you for reading the article. Did you know that we also publish printed books and run friendly conferences – crafted for pros like you? Like SmashingConf Barcelona, on October 25–26, with smart design patterns and front-end techniques.
A long time ago, my personal website was attacked. I do not know how it happened, but it happened. Fortunately, the damage from the attack was quite minor: A piece of JavaScript was inserted at the bottom of some pages. I updated the FTP and other credentials, cleaned up some files, and that was that.
One point made me mad: At the time, there was no simple solution that could have informed me there was a problem and — more importantly — that could have protected the website’s visitors from this annoying piece of code.
A solution exists now, and it is a technology that succeeds in both roles. Its name is content security policy (CSP).
The idea is quite simple: By sending a CSP header from a website, you are telling the browser what it is authorized to execute and what it is authorized to block.
You may define global rules or define rules related to a type of asset:
default-src 'self' ; # self = same port, same domain name, same protocol => OK
The base argument is default-src: If no directive is defined for a type of asset, then the browser will use this value.
script-src 'self' www.google-analytics.com ; # JS files on these domains => OK
In this example, we’ve authorized the domain name www.google-analytics.com as a source of JavaScript files to use on our website. We’ve added the keyword 'self'; if we redefined the directive script-src with another rule, it would override default-src rules.
If no scheme or port is specified, then it enforces the same scheme or port from the current page. This prevents mixed content. If the page is https://example.com, then you wouldn’t be able to load http://www.google-analytics.com/file.js because it would be blocked (the scheme wouldn’t match). However, there is an exception to allow a scheme upgrade. If http://example.com tries to load https://www.google-analytics.com/file.js, then the scheme or port would be allowed to change to facilitate the scheme upgrade.
style-src 'self' data: ; # Data-Uri in a CSS => OK
In this example, the keyword data: authorizes embedded content in CSS files.
Under the CSP level 1 specification, you may also define rules for the following:
img-src
valid sources of images
connect-src
applies to XMLHttpRequest (AJAX), WebSocket or EventSource
font-src
valid sources of fonts
object-src
valid sources of plugins (for example, <object>, <embed>, <applet>)
media-src
valid sources of <audio> and <video>
CSP level 2 rules include the following:
child-src
valid sources of web workers and elements such as <frame> and <iframe> (this replaces the deprecated frame-src from CSP level 1)
form-action
valid sources that can be used as an HTML <form> action
frame-ancestors
valid sources for embedding the resource using <frame>, <iframe>, <object>, <embed> or <applet>.
upgrade-insecure-requests
instructs user agents to rewrite URL schemes, changing HTTP to HTTPS (for websites with a lot of old URLs that need to be rewritten).
For better backwards-compatibility with deprecated properties, you may simply copy the contents of the actual directive and duplicate them in the deprecated one. For example, you may copy the contents of child-src and duplicate them in frame-src.
CSP 2 allows you to whitelist paths (CSP 1 allows only domains to be whitelisted). So, rather than whitelisting all of www.foo.com, you could whitelist www.foo.com/some/folder to restrict it further. This does require CSP 2 support in the browser, but it is obviously more secure.
What would the browser do? It would (very strictly) apply these directives under the primary rule of CSP, which is that anything not authorized in a CSP directive will be blocked (“blocked” meaning not executed, not displayed and not used by the website).
By default in CSP, inline scripts and styles are not authorized, which means that every <script>, onclick or style attribute will be blocked. You could authorize inline CSS with style-src 'unsafe-inline' ;.
In a modern browser with CSP support, the example would look like this:
CSP is not a nightly feature requiring three flags to be activated in order for it to work. CSP levels 1 and 2 are candidate recommendations! Browser support for CSP level 19 is excellent.
CSP has been designed to reduce cross-site scripting (XSS) risks, which is why enabling inline scripts in script-src directives is not recommended. Firefox illustrates this issue very nicely: In the browser, hit Shift + F2 and type security csp, and it will show you directives and advice. For example, here it is used on Twitter’s website:
Another possibility for inline scripts or inline styles, if you really have to use them, is to create a hash value. For example, suppose you need to have this inline script:
<script>alert('Hello, world.');</script>
You might add 'sha256-qznLcsROx4GACP2dm0UCKCzCG-HiZ1guq6ZZDob_Tng=' as a valid source in your script-src directives. The hash generated is the result of this in PHP:
I said earlier that CSP is designed to reduce XSS risks — I could have added, “… and reduce the risks of unsolicited content.” With CSP, you have to know where your sources of content are and what they are doing on your front end (inline styles, etc.). CSP can also help you force contributors, developers and others to respect your rules about sources of content!
Now your question is, “OK, this is great, but how do we use it in a production environment?”
The easiest way to get discouraged with using CSP the first time is to test it in a live environment, thinking, “This will be easy. My code is bad ass and perfectly clean.” Don’t do this. I did it. It’s stupid, trust me.
As I explained, CSP directives are activated with a CSP header — there is no middle ground. You are the weak link here. You might forget to authorize something or forget a piece of code on your website. CSP will not forgive your oversight. However, two features of CSP greatly simplify this problem.
Remember the notifications that CSP sends to the console? The directive report-uri can be used to tell the browser to send them to the specified address. Reports are sent in JSON format.
report-uri /csp-parser.php ;
So, in the csp-parser.php file, we can process the data sent by the browser. Here is the most basic example in PHP:
This notification will be transformed into an email. During development, you might not need anything more complex than this.
For a production environment (or a more visited development environment), you’d better use a way other than email to collect information, because there is no auth or rate limiting on the endpoint, and CSP can be very noisy. Just imagine a page that generates 100 CSP notifications (for example, a script that display images from an unauthorized source) and that is viewed 100 times a day — you could get 10,000 notifications a day!
As we have seen, the biggest issue is that there is no middle ground between CSP being enabled and disabled. However, a feature named report-only sends a slightly different header:
Basically, this tells the browser, “Act as if these CSP directives were being applied, but do not block anything. Just send me the notifications.” It is a great way to test directives without the risk of blocking any required assets.
With report-only and report-uri, you can test CSP directives with no risk, and you can monitor in real time everything CSP-related on a website. These two features are really powerful for deploying and maintaining CSP!
CSP is most important for your users: They don’t have to suffer any unsolicited scripts or content or XSS vulnerabilities on your website.
The most important advantage of CSP for website maintainers is awareness. If you’ve set strict rules for image sources, and a script kiddie attempts to insert an image on your website from an unauthorized source, that image will be blocked, and you will be notified instantly.
Developers, meanwhile, need to know exactly what their front-end code does, and CSP helps them master that. They will be prompted to refactor parts of their code (avoiding inline functions and styles, etc.) and to follow best practices.
Ironically, CSP is too efficient in some browsers — it creates bugs with bookmarklets. So, do not update your CSP directives to allow bookmarklets. We can’t blame any one browser in particular; all of them have issues:
Most of the time, the bugs are false positives in blocked notifications. All browser vendors are working on these issues, so we can expect fixes soon. Anyway, this should not stop you from using CSP.
Hold on, Tiger! Thank you for reading the article. Did you know that we also publish printed books and run friendly conferences – crafted for pros like you? Like SmashingConf Barcelona, on October 25–26, with smart design patterns and front-end techniques.