Handheld User Interface
Ten Commandments

(Dos & Don'ts)
   

Overview
by Bill Shadish

This article is for those who are creating new handheld ("mobile") applications. The intent is to give you some things to avoid and watch out for when building new applications. While our focus will be on Android user interface issues; much is the same in the worlds of iOS, Linux and related-devices; simply due to the relative sizes of the interfaces involved.

When presented with a new hardware or software platform, it is quite common to find that --if allowed-- developers will tend to use every bell and whistle available to them. Many of the following points will serve to temper that so your application is easier to use and has less of Microsoft Clippy-like things.

seattlemet clippy article
Clippy

In the Beginning

Long ago -- IBM defined Common User Access (CUA) guidelines to provide a standard for developers to follow when designing screens. Long since co-opted into other vendors' products, many of the good points of CUA can assist us today. For example, one of the CUA standards requires a developer to pop-up a Dialog Box (confirming the user's intentions), whenever the user tries to delete a record. There are thousands of users over the years who were Quite happy to have had a second chance to change their minds as a result of this standard.

The following is a suggested starter set of guidelines to use when designing mobile applications. The list is Not exhaustive. In fact, there is an opportunity below for anyone reading this to provide additional thoughts on this topic.

May nothing but highly usable handheld applications be the result!




1. Thou Shalt Use Only a Couple of Fonts (and Make Them San Serif).

Ah, this is the first place that developers head for, when playing with a new environment. You'll see italics; 3 or more sizes of fonts; bold fonts; normal fonts; humorous fonts -- more fonts than you can shake a stylus at.

A good rule of thumb is to use no more than 2 font sizes on screen and preferably only one; using bolding to differentiate between types of fields. It is also fine to have one separate very small font for things like copyrights, at the bottom of your pages.

Note: If your developers come to you and suggest using 3rd Party add-in fonts (which means your having to install and support them on the eventual downstream users' handhelds, among other issues), trust me; and just say No. Go with what the platform supports directly, such as Android's 'Droid Sans'.

Also, while speaking of "Sans", consider using Sans-Serif fonts rather than Serif fonts as they are easier to read at handheld screen sizes.


Droid Sans is A SANS-SERIF FONT

Times New Roman is A SERIF FONT



figure 1—San-Serif vs. Serif fonts

The Serif fonts have small "enhancements" or flares that come off of the ends of the main font-stroke, such as on the T, N and R in figure 1. In fact, these enhancements are on all serif characters except the O and Q. Also, serif fonts will show a thinner and a thicker portion of the main font stroke, as shown by the T and N above.

Sans(meaning without these things)-serif are more uniform and don't blur the characters with unnecessary "enhancements"; especially when being shown at a small font size.


2. Thou Shalt Remember That Small Graphics Should Be Simple.

Let's face it -- Companies put a lot of money, er, effort into things like their logo, explanatory graphics and branding. That said, companies will want to reuse these graphics on the small screen as well.

You will need to simplify original graphics or re-create smaller-sized graphics that convey the original, as well be meaningful to mobile users.
   
figure 2—NHL Coyotes logo.
Regular and phone-sized..

If you never have seen the left Coyotes logo before, then you'd never know what the little one on your smartphone was. The same holds true for any corporate image that is shrunken beyond comprehension for mobile use.


3. Thou Shalt Allow Chubby Fingers to Operate Your Touchscreen App.

We know that a stylus can often be used to operate a mobile device. This allows you to click on a relatively small area of the interface. This fact has given many developers an unwritten go-ahead to jam and pack as much as possible onto a given screen.

Beyond creating an unwieldy looking screen that can send folks into a cross-eyed fit, it also prohibits users from doing the unmentionable (that is, to use their fingertip to select things on the interface).

Consider this in your design, possibly by running through a version of all your screens using only your finger(s). A byproduct of this is that you will get uncluttered screens along the way.


4. Thou Shalt use Only a Couple Colors.

This is the second place developers turn to, when tuning up their skills on a new platform. Expect to see Colors, colors and more colors in the first iterations of applications.

More than 2-3 colors of text on any screen (including black), tends to confuse users more than helping them. The very same limit (of the same exact two to three colors) should be enforced across your entire application -- and possibly across your entire line of products.

Tip: Remember that there are color blind customers in the real world. Color blind customers would also like to be able to use your mobile applications. If you count on colors to differentiate sections of the screen, you may be "disenfranchising" the color blind user.


5. If Thy Application is Cross-Platform Use Native Controls.

...even if your app is not cross-platform, still use native controls.

Cross-platform here means that your app has versions for iOS as well as on Android. Or maybe even for Linux, Macs and Windows too.

Native controls means using the list boxes, buttons, radio buttons, text boxes and other related widgets as directly provided by the platform itself — and not "emulated versions" as provided by some development tools.

So, what are "emulated versions"? These are controls that are provided by 3rd party libraries or the development tool itself, to replace using the native controls of the operating system -- like Android. This is done for a number of reasons (see figure 3), but includes making it easy to create cross-platform apps. If the dev tool itself with how a control like a button is shown and works, then they don't have to worry about handling the actual differences in buttons between the various platforms. BUT the dev tool's button will likely look and work in a non-standard way on All platforms.

figure 3—Reasons to create your own controls

It is somewhat harder to use native controls, because individual effort is required on each of the platforms that you'll support, instead of just once — but try to use native controls as they will match what the user is used to working with.


6. Thou Shalt use the Right Data Selection Controls.

One of the things that can be hard to decide when designing a screen, is when to use radio buttons, list boxes, or combo (drop down list) boxes for your users to make selections from.

The rule of thumb here is, that if there are 3 or less items to select from, use a set of radio buttons to allow the user to make their choice. If there is Less than a screens' worth of information to select from, use a drop down list instead.

If there are more entries to choose from than can fit on one screen -- then use a list box so that the user can scroll back and forth to make their choice. When using a list box, set it up so that the user can enter the first character of an entry to jump to the section that it is in, especially if there are a large number of entries to pick from.


7. Thou Shalt Check before Deleting.

Prompt users of your application, after they've chosen to delete a record, and ask if they are sure that they want to do so. Providing a "Are you sure you wish to delete [and display the record's name or other identifier here]? (Yes) (No)" prompt, gives the user a second chance.

This also produces the happy byproduct of reducing the number of frantic "HOW Do I undelete a Record?!?!?" support calls to your office.


8. Thou Shalt Really, Really Watch Your Connections

If your application moves data back and forth to a server, or to the cloud (which is just someone else's server) it is beyond critical to monitor your connection to it.

This is probably the most difficult thing to do in a mobile app. The connection can weaken or drop completely because the phone moves out of cell tower range; or if the user enters a large building (think: Costco) or even if the user just moves between the rooms in a house. The connection provider could have a "hiccup" or be fully down because of a snap storm. Even a smartphone battery could die.

Your app needs to ensure that the data will not be affected in any way. No partial transmissions; or garbled transmissions. Never, ever, lose data.

Make sure that the app developers provide logging of the transmission process, preferably in a way that you can easily monitor. Also make sure that the data transmission process is tightly wrapped with good error handling, and make sure that there is bullet-proof error handing on the user side. For example, by providing actually helpful messages to the user in the event of any problem; that clearly explains what happened and what to do (including exactly who to contact) to correct any type of issue.


9. Thou Shalt be Wary of the other Devices before Ye.

Yes, Android does have 74% of the handheld market today [reference: counterpointresearch.com]. However, history has shown us that things change. It would be prudent for those who are developing applications today to be very mindful of this.

One thing that you can do to protect yourself, is to have your developers understand Both the iOS (23%) and the Android platforms. And perhaps even the (now at 4%) HarmonyOS from Huawei. It is not outlandish to have them create small example applications that demonstrate their ability to write code, that is at least possibly portable to other platforms. This is not an unreasonable thing to ask for when building new handheld products today.

Ask your developers to create very small code modules to handle individual functions. The smaller the modules, the more easily that they can be ported if it becomes necessary to do so later on.


10. Thou Shalt (at least) Consider Foreign Language Support.

If dictionary applications taught us anything ;-), it was that by providing support for multiple languages, that you Can increase your market. This does not mean that you Have to include German/French/Spanish/etc support today. But, know that there are ways to construct applications, that do allow you to more readily add support for other languages in the future. Make sure to ask your developers what their plan is to handle this down the road.

Verstehen Sie?


Submit-a-Tip

To make this a dynamically increasing set of ideas, I have provided a place for you to enter your thoughts on user interface tricks and design. New Ideas that add something to this page will be included in this section. Please supply your name and email address and they will be included with your tip.
e-mail us a User Interface thought or tip

User Tip
submitted by: Andy Dent, Australia
  • If you are designing an app which you particularly expect will be
    used in an airplane make it forgiving of shaking hands.
    (an old tip from Apple HI people for laptop design). This may imply: a) larger target areas, b) extra Undo or more acknowledgement dialogs, c) more tolerance of sudden jerks of the stylus if there is a drawing aspect, effectively running a smoothing algorithm. Maybe even a special "in air" mode is needed?
  • Seconding the tip about using thumbs - remember the poor soul
    who just dropped their stylus and don't trap them without being
    at least able to finish an operation without one
    (ie: if there are important buttons to press make them fingerable).
  • Tip #1 applies even more so if your target audience is
    aging or people with illness affecting motor control.

Bio

Bill Shadish is a principal of Fundamental Objects, where he works on client partnerships and handheld technology. Bill writes for a number of industry trade journals; including Energy User News, Home Energy Magazine, Inside Visual Basic and Visual Basic Developer. He can be contacted at foAudits.com.

Home  |  Help
Send questions, comments or report inaccuracies on our Contact Us page.
Copyright © 2001-2024 Fundamental Objects, Inc.