Mobility is Hot
(No need to say) Mobility is going hot these days and there is a rush or push (internally or externally) for enterprises to help their staff by delivering the information right into their hands, anytime and anywhere.
Here I’d like to share my experiences and findings on what to expect when moving desktop or web-based systems to mobile. This includes technical challenges, user expectations, myths and pitfalls. We might already know them all, however I thought putting them together in one place would be a good reminder for the future for myself and will help others too.
User Experience: User expectations in the world of mobility, far away from the islands of desktop and web
What do users expect from a mobile app? This is probably the biggest challenge. Today, the sleek mobile devices with fast operating systems and razor sharp apps have raised the bar high on how users expect a newly downloaded app to behave, for instance they (better say all of us) expect:
- Apps to respond before we move our fingers (seriously, the good apps follow a key mobile app design principle ‘guess, do not ask’)
- Tap, doesn’t work, keep tapping. On desktop users would click and wait, on mobile they would tap and if nothing happens within a second then they would tap again (+here and there)
- Login: on a desktop they can login multiple times, on mobile “Never ask me to login! Well, okay, but at most once!”
Touch: Desktop and web-based systems typically do not cater for touch-based interfaces (they work but traditionally are not optimised). Touch-based interfaces present some interesting challenges and opportunities. In terms of challenges:
- A thick fat finger vs a sharp mouse pointer – > sizing the text and objects and their placements
- Higher chances of an accidental touch gesture as compare to an accidental mouse click
Landscape mode: The desktop applications and web-based systems that are mainly accessed on the desktop machines are not designed for mobile scenarios.
- Desktop on a tablet vs mobile. Many times on mobile the landscape interface is useless so should be locked down. However, on tablets it would mostly likely need to be supported, on some devices auto-adjustment from portrait to landscape would fail and may still show a portrait view.
- Popup and overlays: A popup or layers of content may pop out fine but do not adjust themselves when the screen is rotated.
On-screen Keyboard: This one is interesting, once when we wrapped a responsive web app as a mobile app we didn’t realise how the on-screen keyboard would play, we learned the hard way that:
- A popup keyboard would hide the page content that theuser would need to see to fill in an input field
- Rotating the device from portrait to landscape or vice versa while the onscreen keyboard is visible can break the page layout.
- Navigating from one field to another, with a variety of field types on the page causing the keyboard to keep appearing and disappearing may be annoying for the users.
No toolbar: this is especially applicable to the web-based responsive systems/sites wrapped as mobile apps. In a desktop browser a user would have options to go backward and forward, reload the page, stop page loading and open multiple tabs. However, if the same site is wrapped in a web view on mobile then users would be looking for these options as they explore the app and struggle with some unexpected errors. Without a toolbar they may sometimes end up in a dead tunnel.
Network connectivity: Although I think it is most obvious, I however need to mention a reminder that the apps, relying on web servers, would often run slow (and clunky) due to connectivity issues (signals, speed, dropouts etc.)
Notifications: Users do not expect to launch the app and get a status update, they expect the app to tell them when something of interest to them happens.
Apps running in the background: In desktop and web applications either the apps are open (and running foreground and background tasks) or closed. In mobile there is a third state, running in the background with cut-down functionality.
There is a good short video below on User Experience challenges in Mobile Development