Your application is mobile application if and only if .
Arrival of mobile web has created some doubts in many people’s mind and brought us back to the fundamental question that is “what is a mobile application”. There has been a widespread notion that if an application can run on a browser that is almost sufficient for mobile enablement and experience. Popularity of tablets has strengthened this notion further. Here is my take on this topic.
An application is actually a mobile application if and only if the following design aspects are considered in developing that application. These aspects make the mobile application unique. Special efforts have to be put into the project to really “mobile enable” an application which requires additional infrastructure support (i.e Middleware, connectivity and management functions)
1. Form factor and user interaction pattern
Application functionalities have to be downsized to fit into the appropriate mobile experience. These functional optimizations need to be considered both from screen real estate availability perspective and native user interaction patterns on that device type (E.g. Context menu, navigation, touch experience etc.,)
2. Native integration
This one makes the mobile application “really” a mobile application. Native integration like phone call, barcode scanners etc., is not possible from a normal desktop. This introduces a need to rethink the application use case specifically from mobile perspective. It adds more functionality and value to the existing application
3. Push and notification
Applications need to be alert driven where applicable. It is not a great idea to expect users to go and search for his activities/tasks against the backend system all the time from a mobile device.
4. Messaging
Mobile world is much bigger than smart phone world. In order to enable all mobile devices we should also think of scenarios related to SMS, MMS (E.g. Campaigns in CRM, One time password distribution in banking etc.,). Mobile is not just User Interface
5. Efficient utilization of local resource
It is a bad idea to have chatty communication with backend for each and every user action. Local resources like memory and storage have to be utilized efficiently with an effective cache. In some of the scenarios it could even mean data synchronization to keep the data on the device at the latest state
6. Connectivity
Mobile world is not within the enterprise firewall. They are connected from the internet. It is not a good idea to have VPN connection to access the application data. There is a need for infrastructure support to overcome this connectivity hurdle including enterprise identity mapping and authentication schemes
7. Enterprise readiness
Please do not forget the aspects around security, upgradability and supportability. Point 6 and 7 makes a mobile application an enterprise mobile application.
If we consider all the above aspects then I would conclude in the following way
- Hybrid web or native is the way to go for mobile application enablement
- Mobile Infrastructure (middleware and management functions) to enable mobile experience is inevitable
Are you familiar with Mobile Asset Management? It's easy to have a MAM scenario where the mobile device is in offline mode and only syncs once per day the data. There is no real connectivity, messaging, push & notification. Following your list MAM is not a mobile application.
First i would like to clarify that all the 7 points are not mandatory in the same app to qualify. These are the 7 aspects which make an app uniquely mobile app. MAM is a classical example it definitely solves the aspects related to point 1, 5, 6 and 7. It is definitely a mobile app. I should have made this point explicit in the blog. That also answers the query related to wifi tablet. Also using laptop as phone device is not natural. I haven't seen a browser app so far which opens skype on cllicking the phone number. Important point is that it is not correct to claim that an app built for desktop browser experience to be a mobile app. There are differences with respect to experience and infrastructure needa.
Thanks
Rampi
BTW: Skype comes with a plugin for IE that allows you to click on a phone number in a web site and call it. I believe that a really underestimated mobile device is the iPod. As long as Wifi connection is available, it can also be used to make calls. But cheaper and because of lacking 3G the battery holds longer.
I am looking for more balance and objectivity in blogs. This reads too much like a marketing brochure.
Cheers
Graham Robbo
Oh BTW: sending SMS via e-mail to a carrier drop-box is not an enterprise grade solution.
Take care,
Stephen