If you are a regular visitor to this blog or have read my bio below, you may have established that my background is software development. I have developed for many years, mainly focusing on business solutions with rich client capabilities that are transaction based.
In the past year or so I have focused on analysing mobile development and there are some designing and developing characteristics which I found are different with mobile applications compared to desktop applications. There are a few things that affect the architecture, such as user interface and the extra capabilities that are possible with each mobile device.
With this in mind I wanted to share some tips and tricks that have helped me and that may help desktop developers looking to take their applications to mobile devices. Apart from the obvious decisions such as which tools to develop with or for which mobile platforms, all of which I have discussed in previous blogs, I wanted to talk more about the design of the solution itself.
What’s unique about the new applications and mobile devices combination? Given that mobile phones have been around for decades and have been able to run applications for the past five to seven years, why the sudden burst of activity and innovation?
Well a number of factors have combined to capture developers’ attention and drive consumers to open up their wallets; the large adoption of Smartphone’s within the consumer market has driven the demand for enterprises to become mobilised.
1. Device Utilisation
Sensors in the new mobile devices unlock the notion of context. The combination of GPS, compass, gyroscope, camera and voice capabilities have unlocked a set of capabilities in apps that provide new value, such as knowing your location.
The sensors enable apps to limit the amount of cumbersome data entry by auto-calculating your location. One really important point to note is that mobile applications are not designed for heavy data entry. The Apple stores is a great example of how this concept is used, here they take your name and credit card number but they heavily utilise capabilities such as bar code readers and the camera.
Another company that uses the capabilities of today’s mobile devices is musicMagpie, here you can use your mobile camera to scan the barcode of your old CDs, DVDs etc and get an instant quote of how much they will pay you for your goods, here the camera becomes an alternative data input method. The whole point about data input on mobile devices is to minimise typing and utilise different device accessories such as camera and GPS.
Some other companies using mobile devices to enhance the user experience
- UrbanSpoon – Here the GPS can be used to track your location and recommend nearby restaurants.
- PayByPhone – Using GPS to locate which car park you are in, allowing you to manage your car park timings and charges from your mobile devices and never being caught without change.
2. Ease of Use
The simpler, purpose built, task-oriented apps are easiest to use. As a direct and opposite reaction to the complexity of desktop and client/server applications, mobile apps are much narrower in scope and therefore easier to use.
If you look at the enterprise, we are tend to deal with complicated processes such as authorisation of purchase orders, invoicing or point of sales check out, this has to be altered when designing mobile applications, the amount of complexity for each screen and each mobile process needs to be at a minimum, making the execution as simple as possible for the end users.
There is a very short attention span for mobile users, which the application needs to cater for; lengthy processes therefore need to be shortened where the data or process validation can be built in to some type configuration management. When developing mobile applications it is worth remembering that users tend to require access when they are in a hurry and when time is of the essence. A general rule of thumb is that each process should be no longer then 30-40 seconds for mobile applications.
To be successful and address the lack of screen size, the apps have to be highly relevant and very straightforward, users have no patience to figure them out and there is no mechanism for cumbersome manuals.
3. Enterprise Mash Up
This point is very important in business applications and enterprise mobility, sometimes when we create our processes we count on integration between different systems or rely on users to simply switch between screens and systems, to obtain information that is required; this could be from email clients, CRM, ERP or Financials systems. With Mobile devices you need to try and mash up all relevant data regardless of the source application in to one simple screen.
Back office integration as part of the technology involved in developing mobile applications is the number one requirement for enterprise mobile solutions. The ability to composite data, logic and flows from multiple systems in to one simple screen is the second most important factor; this is what we call enterprise mobile mash-up. Using Mash-up as much as possible is something worth remembering when redesigning processes and screen.
4. Access to data
The immediate access to relevant data extends the value proposition. In addition to the app providing a simpler interface on the front end, cloud-based data services and mash-ups need to provide access to data virtually anywhere in near real time. Failure to enable adequate access to enterprise data could result in lack of adoption. An example of this is the flight tracker pro app, which analyses a combination of FAA, airline, departure and arrival airport data to predict and update your flight status.
5. Simplicity of purchasing and installing
The whole experience of buying and managing apps has been revolutionised by Apple and other app stores, coupled with apps selling at an average price of $2.43, this has enabled huge price elasticity gains and fuelled demand.
The simplicity of purchasing and installing apps opens up the market. Although the consumer market is purchasing and the enterprise market is not, the point can be articulated to the same thing. If it is the consumer market it needs to be priced low and the installation needs to be very simple, such as clicking on a market place website and triggering automatic installation of the app, resulting in the app being ready to use straight away.
For an enterprise solution (B2B rather than B2C), the download can be very quick and upgrades automatically carried out in a smooth process that doesn’t interrupt the end users. Both consumer and enterprise apps will have to be supported on not just a single but multiple platforms by IT.
In the future I will suggest ideas for which sort of enterprise application can be developed. Watch this space!