Whether one is designing a web application, software application or ‘mobile app’ – the question is always the same. How do I solve the users ‘problem’ whilst ensuring that the application is easy to use, secure and has all the functionality desired?
Solving the ‘problem’ is a balancing act. Here in this article, we consider and outline what we believe to be the top 10 considerations when designing an application.
1. The Objective
Before you even start designing the application it’s important to fully understand the problem that you are trying to solve. Even if you’re developing a game you need to understand what your users want. You need to know your primary and secondary objectives (“goals”). Good use of market research as well asking yourself the following questions will put you in good stead: What problem are you trying to solve? Who is your target audience?
It’s often taken for granted that you need to design your user interface for your target audience, if your target audience is technically minded you get away with a technical design – it may even be favored due to its familiarity. Often you won’t have the resources to segment your market, so you need to consider what is the lowest common denominator that makes sense for your product.
If you’re aiming for the mass market, you need to consider simplicity as far as possible – when Google first started, that’s exactly what they did. Only gradually did they add additional complexity. Such simplicity in meeting an user’s primary objective helped achieve wide-spread adoption. Even Facebook kept things incredibly simple and intuitive when they first started.
Now you’ve identified your target audience you can identify what applications they will be used to using and ensure that you adopt standards that those users will be used to.
This is a term we use to describe our sales filter process (when aiming to get users to download, install and use our application) and when people use our software.
In the “sales” and “install process” it’s commonly understood that you’ll want to minimize the amount of droppage to get the maximum amount of customers or/and users. It’s widely appreciated that the following causes droppage: bad reviews, complicated installer design, information overload and technical language.
Think from a user point of view when marketing an application, they want to see your application, can by looking at your app can a user intuitively understand how to use it? If not you’ll get droppage.
Similarly within your application, the more complicated the process and the further steps away from the main screen the more droppage a particular function/benefit will have.
3. Standardization and USP (Unique Selling Point)
When designing your interface, by using standard object controls the easier and more intuitive that your software will be to use. So for example, using behaviors and objects that a user expects will ensure that intuitively users know how to use your software application.
Using descriptive tool tips and accurately describing labels with text or pictures will ease using your software. That said, you also need to consider what you’re unique selling point is – what do you offer, over and above what your competitors offer.
4. Designers and Programmers
All too often the design of an application is left to programmers rather than designers in a bid to cut cost. This is often a false economy. Programmers – for the most part, are technical, smart people who are not trained to think about marketing and good design they are problem solvers, and ones that typically solve the problem with the least amount of effort possible for themselves. As such there is often a conflict of interest between good design and a programmers interest of saving his/her time/difficulty.
Consider getting concept designs created first, programming the solution and then adding design to your product.
5. Merit Solution
Since programmers seek to minimize their own effort outlay, they achieve the objective you set forth often not in the most desirable way. Ten programmer hours may for example, achieve a better solution and save one thousand user hours – when your customers are internal employees this is something to consider in monetary terms. Similarly, “good design” has the potential to make it easier to obtain new customers, keep existing customers and reduce support costs – all of which have a monetary value. If your programmers are providing support, or have to make amendments later it’s often better to determine/describe the merit solution (the best way of a solution working) rather than just waiting to see what your programmers come up for. It’ll get better for your wallet in the long run.
How secure is your end product? How easy is it to crash it? How easy is it to cause instability or “hack” your backend. An excellent bug tester will test your app on all targeted operating systems, in as many combinations as possible and will try hard to “break” your system during development such that when it hits the market few – or no- defects are left undiscovered and unfixed. Remember if you have a defect rate of 0.1% and you obtain 10,000 new users per day that’s still 100 complaints you’re getting to your inbox. Personally, I’d prefer to fix things before they are an issue in the first place. Consider using a bug development to such as Assembla to track bugs.
7. Locus of Focus
Your place of focus should be on providing the best user experience possible for your application. In the event that you’re aiming for the mass market, you want your application so simple that users can use it intuitively without instruction. That said, having good instructions doesn’t hurt. When developing you need to consider what problem you’re solving, how you’re going to make money from your product and what is the primary objective of a user when using your app.
8. Information Opacity
This may sound like a simple concept, ‘people don’t know what they don’t know’ – unless you tell them. If I ask you to write a complete list of the features in excel the chances are that your list is going to be incomplete compared to the programmers whom programmed the application. If you want your users to get the maximum amount of benefit from your application your functionality must be easy to find within the application, easy to use within the application and well marketed outside of the application such that users know of the benefits that can be derived.
Yesterday, I was instructing my father about how to do a system recovery such that he could reset his system back to how it was last month in order to remedy a hardware problem he had. “Start > Accessories > System Tools” and then go to “System Restore, wait…then click “Next” then find the date where you want to restore and click Next” I told him, you can see above those are eight steps. I required eight breadcrumbs to lead my father to the step which he needed to take in order to reach his objective. Simply put, the more breadcrumbs that you require your user to perform in order to reach an objective, the fewer people who will use that utility.
10. Scroll, scroll, scroll
One of my biggest pet hates in mobile application design is scrolling. Don’t get me wrong, I love the scroll bar – it’s a brilliant concept. However, if you have thousands of emails in your inbox, or you have a list that is ridiculously long – for example Facebook feeds, I don’t want to sit there for five minutes and scroll the lot. You need a solution to quickly scroll up or down – consider using shortcuts, filters, buttons to quickly scroll to the top or bottom or “quick” scroll the list. We’ve done this in Chit Chat for Facebook Blackberry.
11. Information Overload
When presented with a new tool, people can only hold seven new pieces of information in their head at a time. Why do you think that Google Chrome has seven objects on its browser? Do you remember your thoughts when you first opened Microsoft Word or Excel? Wow, you were overwhelmed at the amount of information. Unless you’re creating an IDE if you can minimize the amount of information overload, when presenting new functions and ideas more people will actively use your software.