Welcome!

Agile Computing Authors: Liz McMillan, Zakia Bouachraoui, Elizabeth White, Pat Romanski, Maria C. Horton

Related Topics: Agile Computing, Machine Learning

Agile Computing: Article

User Interface 2.0

One of the things that attracts us all to Web 2.0 is that it is slick

One of the things that attracts us all to web 2.0 is that it is slick. Stuff pops up, floats, appears and disappears showcasing us the power of effects possible with today's JavaScript. We sit there in awe, thinking, wow, that was cool!

Cool is what compels us to give it a try. Cool is marketing. But cool is not the substance. Clearly, in order for us to adapt a new application it needs to demonstrate the utility beyond cool. It needs to be useful and usable, preferably daily.

So what are then the properties and qualities that useful web applications share? This is by no means an easy question. Unlike a mathematical equation, user experience design does not have exact answer. A lot of things are simply a matter of perception and taste. There are, however, a few general principles some are old some are new that can help your application gain acceptance from most users.

Don't make me think - old motto reloaded
We all heard this time and again – don't make the users think. Easier said than done, right? Especially if we consider complexity of some applications that we are building. How can, for example, a project management application interface be simple? Project management is not a simple thing, so how can the software that helps us do it have a simple interface?


To get the answer to this question, we need to first acknowledge that any software is essentially a model of something very real. For example, Adobe Photoshop is a modeling the process of graphics design, while the Basecamp from 37signals, embodies project management. Any good model closely approximates the real thing. It does so by capturing and weaving together the essential concepts, features, processes, rules and by establishing a vocabulary of the underlying domain.

Zooming into the Basecamp, we see that it succeeds because it puts the essential aspects of the project management into the spotlight. When we open this tool, we meet Milestones, To do lists, Notes (Writeboards), Files, People and Companies. These are the concepts, the players, the nouns of project management. Basecamp, puts them into the spotlight, it speaks these concepts to the user.

The old motto is right, good software should not make the user think. What it does not say, though, is that the users should not have to think, because the interface does not surprise them. The software presents the screens that are as close as possible to the actual problem at hand. It does not invent terminology, instead it leverages already familiar concepts and ways of doing things. The Basecamp's interface is a view of a project management system.

Turn the use cases  into flows
You will think hard about the key concepts in your system so that your users will not have to think as much. But after you decide on the main concepts, there is even more complex task that awaits you – deciding on the flows. In other words, once you discovered the nouns, you now need to discover the verbs.

Classic software engineering provides us with a great tool for doing just that. It is called use case modeling. What is particularly great about the use cases is that they give you a linear way of dealing with non-linearity in your system. Choose one user and one system concept, spell out possible actions and you got your use cases. Now repeat this for other concepts.

Consider for example, what a user can do with a Milestone in Basecamp. In essence the user can create a milestone, delete milestone and complete milestone. Since these are short and simple, the user interface must be short an simple as well. Basecamp excels because it does not require the user to make extra clicks and because it puts the information you want right in front of you.

 
Figure 2: Milestone editor in Basecamp

 Follow the basic user interface principles
Once you map out the concepts and flows you need to roll up your sleeves and start building the actual screens. When doing your design, keep the following principles in mind:

Eliminate Surprise
Remember that laws of physics apply to software. So when the user clicks a button she expects an action to occur. If more than one action takes place she will be surprised. One click has to cause exactly one action. Another way that user will be surprised and confused if you place the information in a wrong place. For example, if you put the option into a wrong section the user will never find it. Surprising behavior makes your application unusable, you can't afford to have it.

Be consistent
A good user interface is like a good (Murakami) novel. It flows. It is the same from all perspectives. It starts and grabs you and then does not let you down. Use the same metaphors, widgets, panels and transitions in all your screens. It matters much less what style you choose as long as you are consistent. Consistency in UI will let you off the hook without writing long user manual (who reads those anyway?). This is where investing into infrastructure and reuse will hugely payoff.

Make choices
I am always laughing when I see the options dialogs on the Mac. In these dialogs there is just a handful of options compare to several dozens in the similar dialogs on windows. Why is that? Because the smart folks at Apple think hard and make choices for us. If the choice works most of the time, we rarely question it. Remember that your users are not going to know your system as well as you do, at least not right away, so help them, by picking good defaults and getting rid of unnecessary and confusing choices.

Design for everyday use
Your marketing person is not going to like this. She will insist on designing for the first time users to create the wow factor and make sure that people will be hooked. It is very tempting, but it is actually the wrong thing to do. If people do not take enough time to understand your product, they are not going to use it anyway. Making the interface flashy might get you a lot of sign ups, but it will surely annoy the regular users. Instead, structure your UI around levels of users. For beginners, put the basic functionality on top. Make the more advance things easily discoverable, but not part of the top level that beginners interact with. Design it as if it was a tool for craftsmen with different skill sets.

Pay attention to details
Nothing will throw people off more than sloppy UI. What is dangerous about little mistakes is that people are not even consciously aware of them. A user might not even think about the fact that labels and text boxes are not properly aligned, but she will register it subconsciously. Given enough of these minor issues in your application, the user begins to dislike it for the reason that she can not even explain. Not only the devil is in the details, the user happiness is there too.

 Follow the basic user interface principles
Once you map out the concepts and flows you need to roll up your sleeves and start building the actual screens. When doing your design, keep the following principles in mind:

Eliminate Surprise
Remember that laws of physics apply to software. So when the user clicks a button she expects an action to occur. If more than one action takes place she will be surprised. One click has to cause exactly one action. Another way that user will be surprised and confused if you place the information in a wrong place. For example, if you put the option into a wrong section the user will never find it. Surprising behavior makes your application unusable, you can't afford to have it.

Be consistent
A good user interface is like a good (Murakami) novel. It flows. It is the same from all perspectives. It starts and grabs you and then does not let you down. Use the same metaphors, widgets, panels and transitions in all your screens. It matters much less what style you choose as long as you are consistent. Consistency in UI will let you off the hook without writing long user manual (who reads those anyway?). This is where investing into infrastructure and reuse will hugely payoff.

Make choices
I am always laughing when I see the options dialogs on the Mac. In these dialogs there is just a handful of options compare to several dozens in the similar dialogs on windows. Why is that? Because the smart folks at Apple think hard and make choices for us. If the choice works most of the time, we rarely question it. Remember that your users are not going to know your system as well as you do, at least not right away, so help them, by picking good defaults and getting rid of unnecessary and confusing choices.

Design for everyday use
Your marketing person is not going to like this. She will insist on designing for the first time users to create the wow factor and make sure that people will be hooked. It is very tempting, but it is actually the wrong thing to do. If people do not take enough time to understand your product, they are not going to use it anyway. Making the interface flashy might get you a lot of sign ups, but it will surely annoy the regular users. Instead, structure your UI around levels of users. For beginners, put the basic functionality on top. Make the more advance things easily discoverable, but not part of the top level that beginners interact with. Design it as if it was a tool for craftsmen with different skill sets.

Pay attention to details
Nothing will throw people off more than sloppy UI. What is dangerous about little mistakes is that people are not even consciously aware of them. A user might not even think about the fact that labels and text boxes are not properly aligned, but she will register it subconsciously. Given enough of these minor issues in your application, the user begins to dislike it for the reason that she can not even explain. Not only the devil is in the details, the user happiness is there too.

 Follow the basic user interface principles
Once you map out the concepts and flows you need to roll up your sleeves and start building the actual screens. When doing your design, keep the following principles in mind:

Eliminate Surprise
Remember that laws of physics apply to software. So when the user clicks a button she expects an action to occur. If more than one action takes place she will be surprised. One click has to cause exactly one action. Another way that user will be surprised and confused if you place the information in a wrong place. For example, if you put the option into a wrong section the user will never find it. Surprising behavior makes your application unusable, you can't afford to have it.

Be consistent
A good user interface is like a good (Murakami) novel. It flows. It is the same from all perspectives. It starts and grabs you and then does not let you down. Use the same metaphors, widgets, panels and transitions in all your screens. It matters much less what style you choose as long as you are consistent. Consistency in UI will let you off the hook without writing long user manual (who reads those anyway?). This is where investing into infrastructure and reuse will hugely payoff.

Make choices
I am always laughing when I see the options dialogs on the Mac. In these dialogs there is just a handful of options compare to several dozens in the similar dialogs on windows. Why is that? Because the smart folks at Apple think hard and make choices for us. If the choice works most of the time, we rarely question it. Remember that your users are not going to know your system as well as you do, at least not right away, so help them, by picking good defaults and getting rid of unnecessary and confusing choices.

Design for everyday use
Your marketing person is not going to like this. She will insist on designing for the first time users to create the wow factor and make sure that people will be hooked. It is very tempting, but it is actually the wrong thing to do. If people do not take enough time to understand your product, they are not going to use it anyway. Making the interface flashy might get you a lot of sign ups, but it will surely annoy the regular users. Instead, structure your UI around levels of users. For beginners, put the basic functionality on top. Make the more advance things easily discoverable, but not part of the top level that beginners interact with. Design it as if it was a tool for craftsmen with different skill sets.

Pay attention to details
Nothing will throw people off more than sloppy UI. What is dangerous about little mistakes is that people are not even consciously aware of them. A user might not even think about the fact that labels and text boxes are not properly aligned, but she will register it subconsciously. Given enough of these minor issues in your application, the user begins to dislike it for the reason that she can not even explain. Not only the devil is in the details, the user happiness is there too.

Feedback 2.0
Even if you stick with these principles and do your homework mapping out system concepts and flows, you will be missing a huge piece of the puzzle – the user feedback. The Web 2.0 development community is lucky because there are so many enthusiasts eager to help build the next generation of the web by providing continuous and extensive feedback. As Dion Hinchcliffe rightly points out in his recent article – Web 2.0 is about engaging users, creating communities to leverage the power of networks.

To engage the user you need to create the dialog and solicit feedback. In the old web, the feedback form was buried deep within the About section of the site so that no one would find it. This is no way to get what you need. With the new web the feedback needs to be incorporated right into the product. The feedback is much more meaningful if it is context sensitive.

 
Figure 3: Feedback Form incorporated into BlueOrganizer Action Settings

Users love to give feedback if it is important to them. But they do not want to spend a lot of time doing it. A few users will send you lengthy emails, but majority of them will be silent. To find out what they really think you need to make it very easy to provide feedback. If you do it in the right place, the users will actually take a few seconds to give you the information you are looking for.

Conclusion
Now its time to iterate. Like any good design, the user interface design is iterative process. Map out the concepts and flows, apply the design principles and gather user feedback. Now repeat the whole process, revisit, adjust, refactor. It is by listening to your users and by iterating over your design that you will develop the user interface and the product that people will actually use.



More Stories By Alex Iskold

Alex Iskold is the Founder and CEO of adaptiveblue (http://www.adaptiveblue.com), where he is developing browser personalization technology. His previous startup, Information Laboratory, created innovative software analysis and visualization tool called Small Worlds. After Information Laboratory was acquired by IBM, Alex worked as the architect of IBM Rational Software Analysis tools. Before starting adaptiveblue, Alex was the Chief Architect at DataSynapse, where he developed GridServer and FabricServer virtualization platforms. He holds M.S. in Computer Science from New York University, where he taught an award-winning software engineering class for undergraduate students. He can be reached at [email protected]

Comments (4)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
Moroccanoil®, the global leader in oil-infused beauty, is thrilled to announce the NEW Moroccanoil Color Depositing Masks, a collection of dual-benefit hair masks that deposit pure pigments while providing the treatment benefits of a deep conditioning mask. The collection consists of seven curated shades for commitment-free, beautifully-colored hair that looks and feels healthy.
The textured-hair category is inarguably the hottest in the haircare space today. This has been driven by the proliferation of founder brands started by curly and coily consumers and savvy consumers who increasingly want products specifically for their texture type. This trend is underscored by the latest insights from NaturallyCurly's 2018 TextureTrends report, released today. According to the 2018 TextureTrends Report, more than 80 percent of women with curly and coily hair say they purcha...
The textured-hair category is inarguably the hottest in the haircare space today. This has been driven by the proliferation of founder brands started by curly and coily consumers and savvy consumers who increasingly want products specifically for their texture type. This trend is underscored by the latest insights from NaturallyCurly's 2018 TextureTrends report, released today. According to the 2018 TextureTrends Report, more than 80 percent of women with curly and coily hair say they purcha...
We all love the many benefits of natural plant oils, used as a deap treatment before shampooing, at home or at the beach, but is there an all-in-one solution for everyday intensive nutrition and modern styling?I am passionate about the benefits of natural extracts with tried-and-tested results, which I have used to develop my own brand (lemon for its acid ph, wheat germ for its fortifying action…). I wanted a product which combined caring and styling effects, and which could be used after shampo...
The platform combines the strengths of Singtel's extensive, intelligent network capabilities with Microsoft's cloud expertise to create a unique solution that sets new standards for IoT applications," said Mr Diomedes Kastanis, Head of IoT at Singtel. "Our solution provides speed, transparency and flexibility, paving the way for a more pervasive use of IoT to accelerate enterprises' digitalisation efforts. AI-powered intelligent connectivity over Microsoft Azure will be the fastest connected pat...
There are many examples of disruption in consumer space – Uber disrupting the cab industry, Airbnb disrupting the hospitality industry and so on; but have you wondered who is disrupting support and operations? AISERA helps make businesses and customers successful by offering consumer-like user experience for support and operations. We have built the world’s first AI-driven IT / HR / Cloud / Customer Support and Operations solution.
Codete accelerates their clients growth through technological expertise and experience. Codite team works with organizations to meet the challenges that digitalization presents. Their clients include digital start-ups as well as established enterprises in the IT industry. To stay competitive in a highly innovative IT industry, strong R&D departments and bold spin-off initiatives is a must. Codete Data Science and Software Architects teams help corporate clients to stay up to date with the mod...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Druva is the global leader in Cloud Data Protection and Management, delivering the industry's first data management-as-a-service solution that aggregates data from endpoints, servers and cloud applications and leverages the public cloud to offer a single pane of glass to enable data protection, governance and intelligence-dramatically increasing the availability and visibility of business critical information, while reducing the risk, cost and complexity of managing and protecting it. Druva's...
BMC has unmatched experience in IT management, supporting 92 of the Forbes Global 100, and earning recognition as an ITSM Gartner Magic Quadrant Leader for five years running. Our solutions offer speed, agility, and efficiency to tackle business challenges in the areas of service management, automation, operations, and the mainframe.