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.
Cons
  • 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.
Cons
  • 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.
Cons
  • 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.
Cons
  • 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.
Cons
  • 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.

15 June, 2016

The Power of Parallel Prototyping Approach


A prototype is an early sample, model, or release of a product built to test a concept or idea. It is a term used in a variety of contexts, including semantics, design, electronics, and software.
Startups celebrate prototypes. Most startups today, start with building samples of features or interfaces, show them to potential users, gather feedback. They, then, iterate on the feedback by improving on the initial prototype. Nordstrom Innovation Lab did a wonderful job with prototyping while building a Sunglass iPad App.
Characteristics of a Good Prototype
Each prototype must have below characteristics:
  • Prototype does not represent complete functionality or low level details
  • Prototype are easy to change
  • Prototype is a throw-away deliverable, knowing that initial prototype matures to a satisfying idea or minimal viable product
Types of Prototyping
  • Paper Prototyping: Prototypes are created on paper
  • Video/Audio Prototyping: Prototypes include video and/or audio demonstration of how the product might potentially work in a real environment
  • Digital Prototypes: In some contexts, paper or video prototypes are given shape by building them using digital tools like Photoshop, Axure or other prototyping tools, which are known as digital prototypes

Key stakeholders for different prototypes include immediate colleagues, product managers, development and QA teams, potential clients, existing clients, investors or others who may find benefit in initial designs.
Research Based Approach to Prototyping
 Serial vs Parallel Prototyping (Image Source: Steven P. Cow)
Prototyping can be performed using two approaches listed below:
1. Serial Prototyping
This is an approach where only one prototype is created for a design problem and critiqued. Sometimes, multiple prototypes could be created, but design critique happens one at a time by hiding other designs, without comparing multiple prototypes.
  • Only one prototype is critiqued at a time
  • Stakeholders review the prototype and provide suggestions
  • Stakeholders are forced to think from the perspective of the only available prototype and may not get diverse ideas to critique
2. Parallel Prototyping
This is a prototyping approach where three or more prototypes are created for a particular design problem and critiqued at the same time.  
  • Multiple prototypes are critiqued at a time
  • Features from multiple prototypes can be used to create a new prototype
  • Stakeholders can choose from multiple prototypes
The Power of Parallel Prototyping
Steven P. Cow's team conducted an extensive study to understand parallel approach and found that parallel prototyping leads to better design results, diverse ideas, and increased efficiency.
Parallel approach is beneficial compared to serial approach as it facilitates comparison and collaboration. Other benefits include:
  • Promotes individual exploration
  • Feature sharing among multiple prototypes
  • Promotes team work and consensus among prototypes
Asking right questions early in the product development cycle helps in identifying gaps and ironing out complex flows. Parallel prototyping approach might be the way forward to build good prototypes.
Scott Klemmer, Associate Professor at University of California, San Diago once said:
Prototypes are questions. Ask lots of them
Are you asking right questions?

01 June, 2016

Design for All Five Senses - A Multi-Sensory Approach to Design



Jinsop Lee, an industrial designer, believed that great design appeals to all five senses. He called this, the Five Senses Theory. Jinsop also gave a Ted talk on this topic long time ago. According to him, one can grade any experience on all five senses. For e.g, you can grade eating noodles on sight, smell, touch, taste and sound. Similarly, you can grade your biking experience. Jinsop graded himself on a bunch of adventure experiences like bungee jumping, playing games on two different consoles and others. The five senses graph for Jinsop’s experience on Nintendo Wii against older gaming consoles is displayed below. This clearly tells which gaming console he preferred.
This Five Senses theory can be applied to User Experience Testing too. Users can be asked to review the applications under test and map them on a scale of 1-10 on all five senses. The broader the area covered, the better the experience. Further, this theory can be customized to rate the applications at features level or flow level. The Flow example below describes user’s experience when he was using (learning) the app ‘X’ for the first time.
 The Feature example below shows how the user felt about ‘Seen’ feature on Facebook Chat window.
Several such experiments can be performed with users/testers to understand how different senses respond to different scenarios in applications. Like any other framework driven by individuals, Five senses theory has its limitations too:
  1. It varies from person to person as everyone’s senses may not work the same way.
  2. All senses may not be applicable for all people. For some specially abled people, they may not even be able to hear or see.
  3. It is hard to implement on large sets of users
  4. For some products, all senses may not be applicable. For example, how do you rate this article for taste using this theory?
Despite its drawbacks, Five Senses Theory is a good technique to understand how products can be designed by cracking into the pulse of users.
Have you tried a similar approach before?

20 May, 2016

Mobile App Study using GOOB Heuristic


A few years ago, when I started working on mobile apps, the traditional approach was to sit at a cubicle and use the app. As a small extension, I would install the app on my personal phone or corporate device and take it to my neighbors, friends and family, who I thought belonged to potential user groups. In few projects, I had the luxury to on board real users  to our usability lab where we could watch them using our app in a controlled environment. While my team and I were able to get new perspectives with each of the above approaches, deep down in my heart, I felt that I was missing something; something very fundamental.

GOOB Heuristic

A while later, some of my peers and colleagues inspired me to take mobile apps on a real tour of the real world, while it was in its initial stages. I remember waiting at a bus stop , with the app in hand, making random acquaintances with teenagers and middle-aged people, and asking them to use my app or take a survey with me, in exchange for some flowers and chocolates. The onlookers would wonder how a well-dressed individual like me could do this 'cheap' on-the-road surveys. This was in Q4 2014.
Image Source: www.leanuxtools.com
This experiment helped me see that apps have to be used in uncontrolled, real-time environments if we had to get genuine feedback from users. Of course, random users have huge risks, but a smart user recruitment initiative might mitigate some of these risks.
From thereon, my way of doing things changed dramatically. I started "Getting Out Of the Building (GOOB)" more often. I started observing how people user their apps. A child is playing a game while she swings on a cane swing at home. An old man is looking closely at the app because of poor sight. A teenager is trying to select a green colored dress online, although she cannot seen green color as it is, due to color blindness. A daily commuter is taking online courses on a mobile phone as he carries a laptop bag on his back, lunch bag in his hand, while standing in a crowded, moving, metro train. Now, these might sound like corner cases, until the point that there is a rising majority using apps in this way, which is a fact today.

Follow Me Home

The simple GOOB heuristic was revolutionized by Intuit with their 'Follow Me Home' approach. The founding team at Intuit, during their initial days, strongly believed that the best way to build a great product is to observe users in their real environment. They observed their users use their finance based products like taxation, payroll and others in their homes, offices, and other locations to determine how exactly the products are used. Some users were filing tax returns at the kitchen table while few others were doing payroll in their office. This helped them see that usability labs, in controlled environments doesn't provision users to be their 'natural best' where interruptions are very common. Even today, Intuit stays very close to customers and hooks on to their pain points early on in their product development life cycle. Good for intuit!
People are at their best in their natural habitats.
It is important that people are observed while they are using apps in their natural habitats. We must be aware that we may not get everything right, not at all times. Yet, attempts like 'Follow Me Home' or 'GOOB' can help organizations to understand what user wants, a little better.
The complexity of app usage is only going to increase, which is why app developers have to Get Out Of the Building or Follow Users Home if they want their apps to be acknowledged, adopted and appreciated.
Do you GOOB enough?

21 April, 2016

What is Lean UX and why you should adopt it for your startup


This article was originally my guest article for YourStory
User experience design (UXD) was traditionally governed by wireframes, prototypes, experience maps, visual mockups and others. But, in today’s constantly changing world, designing products at a faster pace is critical. The need of the hour is ‘Lean UX’.
What is Lean UX?
In Jeff Gothelf’s words, “Lean UX is the practice of bringing the true nature of UX work to light faster, with less emphasis on deliverables and greater focus on the actual experience being designed. The inspiration for Lean UX came from Lean Startup and Agile Development methodologies.”
History
Until a few years ago, when projects were run in waterfall style, a linear, siloed UX process seemed to work well. However, as organisations made the shift from waterfall to agile methodology, there was a huge gap in the way UX teams coped with their work. The expectation was essentially to get UX work done a little faster, in shorter time and under a huge budget constraint. Essentially, it had to be done NOW. This called for a huge shift in mindset and way of life itself. The Lean Startup concept made it further more challenging to embed UX into software development lifecycle in an efficient way.
How Lean UX works
A few teams headed by Jeff Gothelf experimented with the idea of tying the knot betweenAgile/Lean and UX. During this experiment, they realised that the productivity and efficiency of UX teams skyrocketed, because Lean UX paved the way for designers to open up UXD process for non-UX folks, who could review and provide inputs/better ideas faster. This eventually helped teams deliver better quality products with great experiences in a short span of time.
Lean UX is the fundamental belief in getting critical work done, without focussing on perfect design documentation. In a typical Lean UX team, design studios are set up with cross-functional teams where everyone presents their ideas, and critiques others’. They might even create vague sketches of their ideas. At the end of this exercise, there is a repository of ideas. This kind of early team involvement instills a sense of ownership and a ‘one team, one product’ goal. This process would be iterative in that the team member would go back and forth to identify top ideas and start building them. The team will create features, put out the app in the market and ensure that users are exposed to it as early as possible to gather feedback.
Lean UX implementation by an e-commerce player – a case study
An e-commerce giant wanted to re-design its website as a seller platform. It was already following the lean methodology in most teams, but its major concern lay in getting Project Management and UX teams aligned on work plan and schedule. The entire development team was sent to a lean awareness workshop, after which the team got together to discuss how to align UX with Lean. In one such case, the team followed the below approach:
Cross-functional teams
Teams from different disciplines collaborated over design decisions by bringing their perspectives to the table. Once everyone contributed, the team would decide on final designs based on input from developer, Quality Assurance, Business Analytics and UX teams.
Getting out of the building
A saying goes, “If you are in the UX business, GOOB (Get Out of The Building).” Following that simple piece of advice, the teams then validated their designs by talking to real users and gathering feedback about designs. Nordstorm Innovation Lab published Sunglass iPad App, a case study they conducted that demonstrated ‘GOOB’ heuristic very well.
Fewer deliverables
The team had fewer deliverables in the form of paper prototypes, and low fidelity wireframes that did not need take too long to create. Additionally, Big Designs Up Front (BDUF) were consciously avoided. This helped to iterate and build better designs.
This focus on Lean UX paid off in a great way. A survey that was run thereafter showed that sellers found the on-boarding process very easy on the new seller platform. Today, this e-commerce player thrives on the revenues from sellers and has recorded great profits.
Benefits of Lean UX, therefore, include:
  • Optimum design strategy
  • Projects delivered faster
  • Fewer and relevant deliverables
  • Happy customers

Summary
One good start to implementing Lean UX can be as simple as setting up small teams where everyone is exposed to UX early on, from beginning to end. where team members work together and converse as and when there is a need, instead of scheduling meetings several hours or days later. There is never a “I’ll check this with architect ‘X’ later.” That person ‘X’ should, in fact, be an integral part of the team.
Today, there is a strong need to co-own and co-make products that needs designers, developers, product managers, testers etc., to collaborate and solve problems collectively. As Jeff Gothelf says, “You are in the problem-solving business. And you don’t solve problems with design documentation. You solve them with elegant, efficient and sophisticated software.”
So what business are you in?