5 Lessons I Learned the Hard Way to Running a Successful Mobile Project.. here goes :
- Mobile is not Web
This seems obvious at first but there has been a lot of unlearning along the way that needed to happen. Web projects have the heft of enterprise servers behind them and the browser is just a dumb interface. With mobile, what you have instead is a “smart” interface that can drive how the app behaves by leveraging the smartphone features – location, camera, geofencing. None of these were possible in a web world and now it opens up a new way of thinking that needs to be applied with every single mobile project.
If I build a mobile app that does everything that a web application does and nothing more, then I have not done my job.
For example if you need to build a catalog app that showcases products – then how do I make sure that it is superior to the same catalog that is available on the web?
First of all I make sure that the interface has a wow factor, I can get creative and build functionality to push coupons based on the user’s location, I can go one step further and build an augmented reality experience where the user can get more product information from the app when they are at a store.
Lesson #1, look at mobile as separate from the web and get creative with smartphone capabilities.
- An app is only as good as its user experience
First of all UI is not UX. It took some time to get our heads around that one. An app can be visually amazing – but that sheen wears off quickly if the user is not “happy” when using the app. What makes a user happy? There is no one answer but a combination of factors – the app should be easy to use with recognizable navigation, it should not confuse the user with too many visual elements, it should be fast, it should get the user to achieve what they want easily and quickly.
So the app objective should be distilled to one or a maximum of two points. What is the single most important thing that you need your app to do? That is the question we open with and that is what the entire app revolves around.
Lesson #2, not only is UX king in mobile, UX is also a result of an entire mobile team, UX designers, creative designers and developers all working together.
- Handling different browsers is not the same as handling different devices
This was an eye opener. Handling browser compatibility in web applications was the bane of web developers, many of whom wanted to concentrate on the meat of enterprise web application development which was the middle tier. Responsive design, HTML5, CSS3 took away a lot of these issues. And you could always build in browser support for the recent browser versions. But getting a user to upgrade their browser is definitely easier than asking the user to change their device.
The next time Apple decides to change its screen size, apps that looked great on an iPhone 5 will be a disaster on the new device. And to think that working with the iPhone is the easy part. Android with its fragmented device market is the bigger challenge.
Desktop browser users are more forgiving. An app that has an UI that does not scale or has blank areas or does not fit on the screen will fail.
Lesson # 3 – Plan and build for various device screen sizes and resolutions, right from the start.
- Security is literally in the hands of the user
An app needs to be easy to use. For example – you should not expect your user to have to log into the app every time they launch it. This means that you have to store their credentials. Right out of the gate, you are storing sensitive data on the device. A healthcare app for instance where the user tracks their medical history requires that data, which is sensitive, to be stored on the device. So what happens if they lose their device? Their data is now vulnerable.
Or an enterprise that supports BYOD – how do they make sure that their enterprise data is safe?
There are many ways of managing these issues – encrypting data, setting up guided access, enforcing appropriate roles and privileges. Security should be planned early on in the project and tested for on development completion.
Lesson #4, always assume the worst when it comes to the possibility of a security breach
- Staying true to “Anytime/Anywhere”
Enterprise apps depend on backend data sources for a large chunk of their functionality. But internet connectivity cannot be taken for granted. A construction field worker who is using the app to capture and transmitting site information in a remote location would very likely not have a strong signal, if he/she has a signal at all.
A sales rep that is using a tablet to make client presentations and capturing the client input cannot depend on getting network access at the client site.
But both these users need their app not only to retrieve and gather information but also to be able to push this information back to the backend. This is accomplished by building online/offline capabilities that allow the data to be synced when network connectivity is available. This syncing should be seamless and non-intrusive and the app should handle this as the norm, not the exception.
Lesson #5, no displaying “Sorry, your information cannot be loaded at this time. Please check your network connection.” messages
All this has to be accomplished in a short amount of time when planning for mobile app development as mobile projects need to be done in a matter of months if not weeks.
And yes, all these lessons were learnt the hard way, by making mistakes, and fixing those mistakes. The learning process is certainly not over and this list will grow…
Download the whitepaper to discover how mobile sales apps can transform your organization –