28 October, 2016

Microinteractions: Designing the Little Details

Last week, I was in Auckland and Wellington, speaking on User Experience (UX) and teaching UX Design courses at two WeTest Conferences in Auckland and Wellington. I also had a rare opportunity to teach/speak at large corporates like Bank of New Zealand and Assurity Consulting. I am blown away by the lovely interactions I had and the new bridge I created with many in New Zealand. 

Token of Thanks
I extend my heartfelt gratitude to Katrina Clokie for inviting me to WeTest Conference. I never ever imagined that a chance meeting with Katrina at CAST 2013, which was my first self-funded trip to a US conference would bring us together again. I would also like to thank the Conference Organizers Katrina Clokie, Aaron Hodder, Shirley Tricker and Daniel Domnavand for conducting a world-class conference, for taking care of the little details for international speakers and introducing me to a super awesome community in New Zealand which is so passionate, warm, curious, learning-focussed and yet humble. This conference and my interactions will truly remain close to my heart for getting the ‘Conference based Microinteractions’ right! 

Teaching UX
It was a fabulous experience to teach UX Courses at the other end of the planet. At the end of these talks/workshops, many people walked up to me and shared many *pain points* in their daily line of work. For example, one of the workshop organisers, Merridy said, “Pari, I am going to put up a board indicating ‘Toilets’ on the door and avoid frustrating our visitors.” One of the conference organisers Shirley mentioned, “The motion detector lamb in our service apartment doesn’t light up instantly and expects a tribal dance which needs to be fixed.” I was thrilled to see people pick up this concept so quickly and apply it at work. 

Have you ever wondered why you need ‘Ctrl+Alt+Delete’ to lock/unlock windows? Did you ever wonder why we couldn’t have a single key to do the same task? In my early days of school, I was told to believe that 3 keys were given as a security measure (God knows how this could prevent hackers though!). However, Bill Gates confessed that having three keys was a mistake. “It was a mistake,” Gates admits to an audience left laughing at his honesty. “We could have had a single button, but the guy who did the IBM keyboard design didn’t wanna give us our single button.” David Bradley, an engineer who worked on the original IBM PC, invented the combination which was originally designed to reboot a PC. This brings us to microinteractions. 

Microinteractions is a concept introduced by Dan Saffer in his acclaimed book, ‘Microinteractions’. By definition,
A microinteraction is a contained product moment that does one task well.

Every time you change a setting, update a device or post a tweet, you are engaging with a microinteraction. They are everywhere and they just need some *noticing*. Microinteractions are so simple that we don’t notice them until something goes wrong. Yet, they are incredibly important in creating delightful experiences for users. 

Structure of a Microinteraction
A beautifully crafted microinteraction contains four main parts: Trigger, Rules, Feedback and Loops & Modes. 

A trigger initiates a microinteraction. For example, turning ON a lamp needs someone to press the switch. 

The rules determine what can happen, what cannot happen and the sequence of events that might happen. 

For example, what should happen when a user presses the switch in a particular direction (Up/Down), is determined by rules defined for this lamp. 

Feedback lets people know what’s happening. In his book, ‘The Design of Everyday Things’, Don Norman writes,
“Sending back to the user, information about what action has actually been done, what result has been accomplished is a well-known concept in the science of control and information theory. Imagine trying to talk to someone when you cannot even hear your own voice, or trying to draw a picture with a pencil that leaves no mark: there would be no feedback.”

Feedback gives each action an immediate and obvious effect to avoid pain to the user. 

Loops and Modes
Loop is a cycle and mode is a state. Consider ‘Memories’ feature on Facebook. Facebook app constantly loops into your account to check if you have posted something on this day, 1 year, 2 years, 3 years….. X years ago. If the condition turns out to be true, a message pops up to remind you of your memory and your willingness to share your memory. 

If you share the memory, the state of your timeline changes, by showing you a memory in addition to other posts on your timeline. To summarize, loops & modes form the meta-rules of a microinteraction. 

While there are different components that form a good microinteraction, one should remember that each one must be applied based on the context. Putting a hard rule saying, ‘Every microinteraction has to follow the set guidelines may turn out to be painpoints rather than delightful experiences.’ TEST Yvonne Tse, who works at Assurity Consulting in New Zealand attended my talk on ‘Microinteractions’ at WeTest Conference, Wellington. She created a lovely sketch note that is very close to what I covered in my talk. Take a look. 

Show That You Care!
Users today, have scores of options to choose from. All they want in return for their loyalty is that you care. In the words of Dan Saffer,

What microinteractions have made you happy today?

10 October, 2016

The Writer's Block and It's Mysterious Journey

This article was originally published on Linked In.

Wikipedia describes writer's block “as a condition, primarily associated with writing as a profession, in which an author loses the ability to produce new work.”Anything a writer writes is new work indeed which contradicts the definition itself. Confused? Read on.
Many people have written about Writer's block in the past. Naomi Karten writes that every writer hits writer’s block and one needs to unblock himself. Seth Godin thinks that writing isn’t the hard part, it’s the commitment. He also talks how Writer’s block never existed before the 1940s and it became a hit with writers only when Writing became a respectable and lucrative profession. Seth asks amusingly,

No one ever gets talker's block. No one wakes up in the morning, discovers he has nothing to say and sits quietly, for days or weeks, until the muse hits, until the moment is right, until all the craziness in his life has died down. Why then, is writer's block endemic?

Writer’s block is an excuse to get away from writing. It’s at best, the fear of writing anything crappy. It’s not the inability to write that is the problem, it’s the hard work, motivation and commitment to write that writers lack. Additionally, writers avoid exploring different methods to improve their writing from time to time.

The Fieldstone Method
Writing is not as easy as it appears to be. It’s not as if, a writer sits in a beautiful apartment with a beach side view staring at palm trees and ideas start striking like stars. Writing is about serious thinking. It’s about choosing from ideas, facts, stories, plots, and characters accumulated over time. Gerald M Weinberg calls these nuggets as Fieldstones. This means that any writer would have a ‘Work in Progress Inventory’ that may include several books in different stages of completion, article drafts, a collection of quotes, bits and pieces of writing that amused the writer from his reading experiences and so forth. He may carry a pen and paper (tools) to collect his fieldstones all the time. Yeah, all the time! Note that the writer may not use all of these right away. He hopes to use them someday.

Aspiring writers all over the world are desperate to get an answer to the most dangerous question, “How does one overcome writer’s block”. Some of these writers expect a magical answer, “Oh! Writer’s block indeed exists and you need to do A,Band C to conquer it.” Getting stuck cannot be excused as Writer’s block. There’s one best way to beat your mind out of getting stuck – Start Writing!

Good Writing References
  • The Fieldstone Method by Gerald Weinberg
  • On Writing by Stephen King
  • Bird by Bird by Anne Lamott
  • The Elements of Style by William Strunk Jr and E. B. White
I say this often to aspiring writers and I'll say it again, "Good Writers Read". Reading helps you improve your writing skills. So, if you aspire to get better, start reading.

How do I deal with Writer's Block?
I get stuck with writing very often, not because I lack ideas or the will to write, but because I do not find time. The truth is, I do not *make time* for writing. As Seth Godin points out, it's the commitment that matters and I try and keep that, to be able to write my articles.

How do you handle writer's block?

24 August, 2016

Labels on Mobile Forms

Labels describe the purpose of form controls, including text fields, check boxes, radio buttons, drop-down menus amongst others. On mobile apps, screen real estate is limited. This forces app developers to save space by placing labels in varying positions on tiny screens. Labels can be placed in many different ways. I cover five varied approaches in this article.
Positioning Labels – The Right Way
1. Inline Labels
Labels placed inside the form field are called Inline Labels. These continue to be a fad for many programmers after Apple introduced them in most of their apps.
Image Source: Dash Lane app
  • Simplistic look
  • Space efficiency and better use of mobile real estate
  • Loss of Context – When user begins typing or even upon entering the field, label is lost thereby taking away the memorability aspect of the field
On Dash lane app, text fields have an inline label. Tapping on the text field keeps the inline label intact, until user starts typing into it. If user deletes existing data, inline label re-appears, to remind the user about the context of the field, just in case, user forgot what the field means.
Inline labels suit best on forms with fewer fields. E.g., on login forms, , it’s hard to forget which field is for what kind of input(username, password), for most part as there are just fewer fields with a straightforward goal.
Inline label could be a great feature if it is used in the right way. A good approach is to use it as supporting text or short descriptions that provide cues to users.
Luke Wroblewski, writes simple guidelines for input labels in his book, Mobile First.
A label within an input field:
  • Should never become part of someone’s answer. This seems simple enough but still happens quite frequently when things haven’t been loaded or aren’t coded correctly. Ever try searching only to find the word “search” has become part of your query?
  • Should not be confused with an actual answer in an input field. If labels and inputs look too similar, people might (rightly) assume an answer has already been provided for them. I’ve seen this happen too often in usability testing.
  • Is usually absent when someone starts answering a question and when they finish answering a set of questions. This can make it harder to know which question is being answered or to go back and check answers after the labels are gone.
2. Floating Labels
Image Source: Google Material Design
Material Design guideline, introduced us to floating labels, i.e. the label appears as an Inline Label on the screen (Description field). As soon as user starts typing into the field, the label slowly floats upwards and places itself at the top of the field (Title field).
A downside to this approach is that, unless the features are coded for accessibility, visually impaired users might find it difficult to understand this behavior.
3. Top Aligned Labels
Labels are aligned above input fields, hence the name Top Aligned. I forgot the mobile app from where I picked this screenshot. That leads us to another problem. Shouldn't each screen have app logo on it, just in case, amnesia patients like me could recollect which app we are on? Well, I can only say, the world is tough out there.
  • Faster completion time from users as per Matteo Penzo’s findings
  • Works well for long labels
  • Labels that require localization might have good flexibility
  • They take up a lot of vertical real estate, leading to perennial vertical scrolling / swiping for long-ish mobile forms
4. Right Aligned Labels
Image Source: www.css-tricks.com
Labels are right-aligned while input fields follow them in left-alignment.
  • Slightly slower completion times compared to top aligned labels
  • Less vertical space
  • When labels change, this alignment leads to flexibility issues in the layout
5. Left Aligned Labels
Image Source: www.css-tricks.com
Labels are left-aligned while input fields follow them in left-alignment.
  • Best suited for forms where users need to slow down and scan the fields. For e.g., bank forms
  • Slowest completion time compared to top aligned and right aligned labels
  • Difficult to parse fields on long forms
Luke Wroblewski, has talked about top, right and left aligned labels in an elegant way, here that is almost impossible for me to beat. 
Image Source: Polar mobile app
As you notice in Polar mobile app above, inline labels can be used as placeholder texts inside input fields to complement labels with additional information. Notice that Polar has ensured that branding is intact on login screens with their 'Join Polar' title. There is little possibility that a user forgets which app this is. By the way, Polar app was designed by Luke Wroblewski, which was acquired by Google a while ago.
Labels appear to be the least important elements on mobile screens, yet play a major role in how these screens appear to users. We need to pay attention to not just their behavior, but also their placement.
How do you handle labels in your apps?

03 August, 2016

An Introduction to Visual Design and the Goals

Visual Design is the process of visual problem solving through the use of typography, space, images and color. Visual design is used interchangeably with Graphic Design and Communication Design due to overlapping skills involved.

Examples of visual design include creating logos, publication of books, magazines, newspapers, print media, website/mobile graphics and so forth. Key purpose of visual design is communication through the image, functional to the disclosure of a message or information.

User Experience Design != Visual Design
User Experience Diagram by Dan Saffer

Many colleagues and friends I work with think that Visual Design means User Experience Design and vice versa. They are surprised when I mention that User Experience Design is a superset of 13+ disciplines. Dan Saffer, world renowned author designed the User Experience Design diagram based on his several decades of experience. In short,

Visual Design is a subset of User Experience Design.

Three Goals of Visual Design
As per Scott Klemmer, Visual Design has three main goals:
  1. GUIDE: Guide people to convey structure, relative importance, relationships
  2. PACE: Set up the pace of the interaction to draw people in, help orient, provide hooks to dive deep
  3. MESSAGE: Use Visual Design to express the meaning of the interaction and style, breathe life into the content

Visual Design Tools

Google Website

Google website demonstrates simplicity at its best. With a search box in the middle of the screen, important tabs in the header and less important items in the header, it demonstrate what it takes to retain users.
NDTV Website

Check out an Indian News website above. Layout and Content organization are very different compared to what Google search did.

Fresh Menu Website

Things might change drastically for a Healthy Food Ordering app like Fresh Menu where people would like to know the variety of food offered on a daily basis. 

As you notice in above screenshots, visual design is very different. Visuals and Content have varied layouts, organization and hierarchy in each website. In general, three main tools accomplish good visual design. They are Typography, Layout and Color. In simpler terms, paying attention to these simple tools can help you accomplish good aesthetics.
What does good visual design mean to you?

15 July, 2016

How to Highlight Required Fields on Mobile Forms

I got a little challenge the other day from one of our PMs, Sarin:
Distinguish between Required vs. Optional fields on mobile forms without overcrowding the form 
Problem Statement
Consider a mobile form where most fields are mandatory with a ‘Submit’ button. This button is in disabled state until user enters valid data in all fields. These days, many mobile apps follow this practice. However, users might be in grief, not knowing what they have to do for the button to get to enabled state. I have drawn inspiration from Luke Wroblewski’s great body of work on forms  and Erin Walsh to outline few approaches I think are useful to solve above problem:
1. Colored Borders
Few mobile forms follow an approach wherein all required fields are highlighted with a colored border by default, when the user lands on the screen.  The colored border goes away once user enters valid data in corresponding fields. In some cases, colored borders can blink or glow to garner attention.
  • Mobile forms appear overcrowded due to colored borders, if most fields on the form are required, hence creating visual noise
  • User might be shocked to see so many errors, as soon as he lands on the screen, even though he has not started to do anything on the form, yet
2. Secret Asterisks
Asterisks have existed in web development world for decades to indicate required fields. A general rule of thumb is to put an asterisk symbol next to a required field label with a tiny note in the header/footer saying, ‘* symbol indicates this field is required’ message.
  • Users hardly pay attention to asterisks on mobile forms.
  • Non-tech savvy users might wonder what the asterisk symbol means, especially if they don’t notice the ‘* symbol indicates this field is required’ message or if this message is absent.
3. Using Auxiliary Labels
Another approach to highlight required fields is to add auxiliary text ‘(optional)’ or ‘(required)’ at the end of label to indicate whether this field is required or optional.
  • Too much of content for labels has issues if forms need to be localized in multiple languages
  • This approach has content overload issue if forms have too many fields. Imagine a form with 15 labels where 12 are optional and 3 are required. The form gets heavily overcrowded due to auxiliary text. Vice versa, imagine a form with 10 required and 5 optional fields. Same problem pursues.
Auxiliary approach appears reasonable in few ways, provided following improvements are considered.
  1. Use ‘(optional)’ or ‘(required)’ based on which of these field types are fewer in number. For e.g. if most fields are required and very few are optional, indicate ‘(optional)’ for optional fields only as they are fewer in number. Vice versa, use ‘(required)’ for required fields if required fields are fewer in number
  2. Another rule of thumb is to eliminate optional fields on mobile forms, if that is a feasible option
4. Information Messages
An information message is placed in the header and/or footer that reads, ‘Please enter data in required fields to proceed’ or a similar one.
  • There is a risk that users do not notice this message due to placement, font style, size and color.
5. Animation
If mobile form has too many fields, having visual cues like asterisks, auxiliary labels or colored borders may not really help. This is usually the case where forms are lengthy and user is either at the top of bottom of the form. In such instances, it might be good to do the following:
Introduce an animation where text field moves left to right for a few interactions. This can be combined with mobile device vibration feature for better effect. Booking.com mobile app uses this approach on login form below:
Another way might be to time the behavior. If user hasn’t entered any information on the form for let’s say, 5 seconds, user focus can be taken to the required field where animation effect is displayed.
  • Animating all required fields might lead to chaos; they may have to be defined in a methodical way
  • Timing animations may or may not work depending on user behavior and demography
What is a suitable approach?
After analyzing above 5 approaches, I was still with the same problem in hand statement and no solution yet. When I proposed these approaches to few developers, they shared their views on pros and cons of each approach. At this point, it dawned on me to use a combination of multiple approaches to solve the problem I set out to solve rather than hanging onto one approach.
  1. A message, ‘Please enter data in required fields to proceed’ is displayed at the footer near the disabled action button
  2. Fields are indicated as optional or mandatory fields [Use ‘(optional)’ or ‘(required)’ based on which of these field types are fewer in number. For e.g. if most fields are required and very few are optional, indicate ‘(optional)’ for optional fields only as they are fewer in number. Vice versa, use ‘(required)’ for required fields if required fields are fewer in number].
  3. If user is on the form for 3-5 seconds and :
          a. User does nothing because ‘Continue’ button is disabled
          b. User taps on ‘Continue’ even knowing that it is disabled
In (a) and (b) above, required fields glow with a sky blue colored border to indicate that these fields are required for user to enter. If user is at the bottom of the screen, focus is drawn to the first required field on the screen. Blink is better than glow effect, but from accessibility point, blinking is bad for photosensitive users.
As you notice, we have used Information Messages, Auxiliary Labels and some Motion Design to accomplish desired effect. Several times, we may have multiple approaches or techniques to solve a problem. The challenge is to pick the right approach and validate if selected approach solves the problem in its entirety. Customizing a suitable approach by collaborating with different stakeholders helps in coming up with a good solution that is good enough, if not great. An iterative development process helps refine the identified solution over a period of time.
Have you faced a similar problem before?

01 July, 2016

Mobile Calendar Essentials for Flight Booking Apps

Choosing travel dates is one of the frustrating experiences for travelers while booking flights, hotels or taxis using mobile apps. Few super-slick calendars and date pickers are abundantly available, yet the nightmarish experience of date selection remains.

General Guidelines for Calendar Behavior
I have used calendar feature in different contexts - booking appointments, hotels, buses and amongst others. I faced many problems, I have got confused and frustrated, sometimes, literally stalling my task and walking away. This post is a result of those experiences and questions I asked myself about the workings of a calendar while using flight booking apps.

There are several guidelines to consider while designing calendars for a seamless experience. Some of them are:
  • Date selection screen could be a single screen where user can select Departure and Return dates at one go (tabs or segmented controls or other ways)
  • Calendar highlights current date, departure and return dates. Current date has a text ‘Today’ below the date for memorability purposes in addition to a color background (Note that colored background alone could be hard on color blind people)

  • Months are scrollable using swipe gestures. Icons like <, <<, >, >> are not a good fit for mobile
  • Travel dates need to be highlighted once selected with a range. I.e., if 29th June and 2nd July are selected, the days in between these dates need to be highlighted to represent the range or the number of days.
  • Drag and Drop of dates is supported. However, do not force the user to drag and drop for dates that are far apart, because it might be hard on the user to drag and drop instead of selecting in such a case

  • Clean interaction / animation is defined and executed for each transition / behavior change / state change on date picker [This is a broad and vague goal that needs a separate blog in itself]
  • Ability to modify departure or return date independently. Tapping on departure date field should show date picker screen with focus on Departure Date tab and similarly for return date.
  • For round trips, user has to be prompted to select a return date using suitable animation that provides a strong visual cue
  • Provide Cancel and Done button on calendar screen to give freedom and control to user. This is debatable because is some user tests, it was found that users expected the screen to auto-close once date selections were made. In few other tests, users were wondering why the screen closed without any action from their side. Such tradeoffs are very common while solving UX problems.
  • Keep buttons, tabs and other critical information on top of the screen for better visibility. This is valuable from an accessibility point of view as differently-abled users are also used to finding critical information at the top.
  • Local timezone (place of booking) is considered for date selections. Note that flight dates will be local time zones of respective countries where the user is visiting.
The above list is a set of guidelines, not hard written rules. Hence, they may not be applicable in all contexts. You need to pick the ones that suit most to your context.  

What's Your Experience With Calendars?

P.S: Special Thanks to Suresh Chelliah, Binoy Vijayan and Mohanraj for their review comments on this article.