Wednesday, May 18, 2011

"Forget-me-not"s for your mobile apps

There’s a rising tsunami out there – in the number of mobile application developers. With mobile platforms getting more and more feature rich and powerful each release, with smartphones penetrating the market deeper and deeper, even conservative desktop and mainframe application developers have started rolling up their sleeves – some for the fun, some for the bucks!

Now, while shifting from a desktop app development world to a mobile app development world, there is baggage one drags along. While a wealth of hand-on development experience helps one to ease the learning curve, there are still items left to pick up, to do a great job with the hand-helds. And, one among these, is an eye for mobile-specific non-functional requirements (NFRs). Ignore them for any cool function at all, and you’ll see the downloads never spiking, the comments with a pretty good amount of “but”s and the stars never climbing up.

Mobile-specific non-functional requirements are diverse, but I guess the majority could be condensed into the following areas:

  1. Platform standards: Each platform (iPhone, Android, Windows, Blackberry, Symbian.. name it!) recommends a particular way to do things. Eg: shape of buttons, choice of controls, location and order of controls, use of hard keys etc. Make sure that the you tally the UI and operation of the app against these accepted guidelines for each platform.

  2. Speed: Yup! A challenge with faces you probably would never cease to count. Usual challenges include device memory, internet connection speed, response delays from web services, transition delays, memory intense operations, un-optimized algorithms, memory leaks…! Whew! Make sure that you address them all to operate within tolerance limits!

  3. UI design and user experience: Be extremely intuitive while designing your UI! Have minimal screens and flows with maximum functions. Have optimal flow of pages, reduced navigation and an optimal density of buttons/controls and icons. Show your app to friends, and watch them as they use it – for best results, try it on the ones who have least experience with mobile applications – See if they struggle to find information, see if they have to use their nails after repeated failed attempts with finger tips to hit the right button. The list goes on… use your imagination!

  4. Device view mode (portrait / landscape): If the application is supposed to switch between both portrait and landscape modes (you may or may not choose to, depending on case to case), you need to ensure that the screen layout has been designed to transition intuitively, especially with the user experience in mind. The screen better have a fresh and customized display (based on your case), than a squeezed or stretched one adapted from the previous.

  5. Hand orientation and script directions: This may mostly concern language specific screens, games etc, but you need to think for a moment, if you had designed your application biased on your hand orientation (there are left-handed and right-handed folks) or script directions (there are scripts written left-to-right, right-to-left, top-to-bottom, and users who would perceive your screen in their used-to direction). Address these with specific redesigns or options as relevant.

There you go, a quick jot!

No comments:

Post a Comment