Building for iOS
In my last two blogs I have covered iOS in the Enterprise, and where to find out about the latest enterprise features and designing for iOS. In this blog we are turning to native in the world of mobile app development and the app decision process leading to this decision. I’m going to state up front, that going native will give your users a better user experience. But how should we get there?
Whatever app you are implementing, you have to understand the end users use case first. Try to analyze the way your end user works and what the work environment actually looks like. Shadowing them and living a few days in their life is a great way to gain a lot of insight into much needed functionality. For example, not providing an offline capable solution, where the user travels above and below ground, where network access is sketchy at best, would be an immediate fail! So designing an app with an offline capability for data would be a necessary and winning functionality.
Once you are familiar with the use case, identify all iOS platform capabilities that would be important to the solution, ideally enhancing it’s capabilities. Understand that a lot of these features and also the look and feel, which I mentioned in the last blog, come from a native app development approach. An approach, that delivers more performance over any other approach, such as hybrid or web. Native apps deliver on user expectations and take advantage of integrated software and hardware, access to built-in capabilities like graphics, location services and multi-touch technology etc. You can learn about these technologies and more on the Apple Enterprise Developer page
These together should then lead you to an Application Definition Statement for your native app. This is a concrete and concise description, stating the application’s purpose, features and audience on one paragraph. Think of it as your elevator pitch, which is the solution you will deliver and get signed off on, before native app development starts in Swift. Also iterate on your designs often.
Remember to stay up to date and test the latest betas and releases of iOS, as I mentioned in my first blog, as each release provides opportunities to enhance your solution in the Enterprise. App development should never stop when the app is delivered – it should always be improved by utilizing the latest hardware and features of iOS.