The Seven Laws of Mobile Software
By By Dan Turchin, CEO, Aeroprise
You can't pick up a magazine or newspaper these days without reading about the latest wireless devices and applications. Consider this: in April, there were 7 million Google searches about the new 3G iPhone -- compared to 5 million for "Barack Obama" and 3.8 million for "Britney Spears". Not since the days when cavemen carried fetish items like smooth stones to appease the rain gods have handheld objects had such power over us.
The real irony is that while we spend increasing amounts of time and energy fawning over all things wireless -- as our devices have increasingly more computing power ($30 worth of smartphone today buys a faster processor and more memory than $3,000 worth of PC bought little more than a decade ago) -- we're barely getting any real value out of them. In fact, today a paltry 11% of us use mobile devices for anything other than talking or texting. Why is that? And what will it take to make wireless data mainstream?
You've heard about the seven deadly sins but probably not about the seven laws of mobile software. They'll hopefully feature more prominently in your near-term future and will certainly benefit your career more than gluttony or envy. When all wireless applications obey them, mobile data will be as much a part of our lives as fast food and global warming (only healthier).
Law #1: mobile applications must be presence-aware
Unlike the simple, flat, tethered PC experience, mobile devices are a physical extension of you. Unlike other appendages, they're always connected to the Internet, store vital details about you including your schedule and personal network, and have surprising amounts of idle computing power.
By understanding your role and work context, smart mobile applications can:
Law #2: mobile applications must be role-based and user-configurab
- Recommend nearby team members who are available to assist you.
- Hide or show appropriate information so you only see what matters.
- Optimize your route based on what you're doing and base it on constraints like traffic or weather delays.
Over the years, enterprise software has become feature-bloated and now invariably follows the 90-10 rule: 90% of users rely on 10% of the features. This has limited impact on PC usage because it's easy for users to ignore the 90% of an application they don't need. Mobile applications don't work that way. In fact, if more than the required 10% is mobilized, the entire application becomes 100% useless.
Here's the catch: the 10% needed by each user is different and is often based on contextual information--time of day, day of week, location, priorities, etc. The right way to solve the 10% problem is to devolve control of the mobile application to the end-user.
Law #3: mobile applications must be device-independent
Device operating systems, features, and formats continue to proliferate as handhelds take on increasingly specialized functions. This problem is compounded in business settings where CIOs can't commit to a single device company-wide.
Mobile applications must adapt to mobile devices--not the other way around. The right way to do this is for mobile software to store profiles for each device and let the client-side application access them. That way, new device profiles can be added--like filters to a prism--to allow only optimized content to be delivered.
Law #4: mobile applications must inter-operate with other mobile applications
Good mobile software makes it as easy to integrate multiple applications as it is to mobilize an individual application. It's like the Zen philosophical riddle about the sound of one hand clapping: one hand alone implies the sound two clapping together would make. Many clapping together create thunderous applause.
Here are two mobile examples: embed a simple asset lookup in a standard trouble ticket and the trouble ticket becomes a historical account of all problems with the asset. Add team calendaring to a task-tracking tool and only on-call users near the work site will be notified when new tasks are created.
Law #5: mobile applications must not require changes to underlying desktop applications
The mobile user experience is predicated on three essential elements:
- simplicity--ease of use;
- ubiquity--anywhere, anytime access; and
- continuity--business process must be maintained or enhanced.
We've talked about simplicity and ubiquity. Continuity is of paramount importance because the most basic design goal is to extend existing applications to existing devices using existing business process. It's not acceptable for mobile applications to dictate how businesses operate. In fact, the opposite must be true.
Take the example of the I.T. outsourcer that supports 500 field agents for a federal agency and mobilized Remedy trouble tickets for technicians. The group spent years developing and refining workflow related to ticket routing, approvals, and escalations. They developed a mobile application for BlackBerry that inherits all of it. Within months of launch, first call resolution rate soared, network downtime plummeted, and the team now charges premium rates for tighter service level agreements--all without any changes to the base application.
Law #6: mobile applications must be administered without wireless domain expertise
A key benefit of implementing a mobile solution is that the business remains buffered from the complexities of wireless. This is increasingly critical as devices, networks, and user requirements proliferate.
The current market for mobile enterprise software is just $550 million, 0.3% of the nearly $200 billion market for desktop enterprise software. Expect not just more mobile applications but more complicated ones accessed by increasingly powerful devices. And expect to support them with the same or fewer resources than you have today.
Law #7: mobile applications must create value in days without programming
The final law of mobile software is perhaps the most obvious and least practiced: mobilizing 10% of an existing application should take 10% or less of the time it took to configure the parent. Mobile applications must add by subtraction; and part of adding is making sure what is extracted remains intact.
To avoid re-work, only deploy mobile solutions that are tightly integrated with underlying applications and have robust development environments, role-based configuration features, and broad device support. That's the way to deliver on the promise of user-centric, tool-centric computing.
For now, just know where this mobile arms race is headed: our primary computing environment will be a mobile device with smart software. We'll only use a PC for tasks that can't be done on a handheld. Heck, if you've read this far, you may be there already. Soon, the other 89% of us will be too.
Dan Turchin is CEO of Aerorprise.