The future of mobile app development – The Official Microsoft Blog
1. Who will use the app?
Organizations typically build mobile apps for either their customers, partners or employees. Image and
branding requirements are typically more demanding for customer-facing apps. Although the usability
requirements are equally as strong for both user groups, you can usually keep the presentation simple
for business-to-employee apps.
2. Will the app consist of a single screen with a lot of animations or sounds?
The classic example of such an application is a game. Other examples include augmented reality
applications or applications with heavily customized UIs and hardware-intensive animations.
3. Do you need access to the device’s sensors?
Some applications rely on data collected via device sensors. Capabilities like the camera or GPS are
available to mobile web apps based on HTML5. Anything more elaborate however, like reading a
barcode, requires native functionality.
4. Does the app require a few screens with a lot of animations or sounds?
Some apps consist of a combination of screens with standard functionality and screens with very
complex user interactions such as heavy animations or sound. Standard screens, like a catalog of cars
featuring technical specs, are a good candidate for a mobile web application. The one screen with the
interactive 3D model of the car is a good candidate for native development.
5. Do you need access to custom native functionality?
If the functionality you need has been implemented by a third party, then you can cut development
costs by using a proprietary native shell. However, if what you need is not available out of the box, you’ll
have to invest in developing a shell that supports your requirements.
6. Do you need to distribute your app via the app stores?
Users typically find apps via their device app store, but there are other ways to distribute an app. For
example, users can access an app from a link sent via email or shared through social networks.
7. Do you need to support devices with poor performance?
You can’t count on every user having the latest and greatest mobile device, so you need to consider
which models you will support. Older devices may not support animation or complex user interfaces
running in the web browser. If these are important, you’ll need to implement them natively.
Alternatively, you can deliver different experiences for people with high-end versus low-end devices.
8. Do you need to brand your app?
Customer-facing apps generally need to represent your brand, but it’s generally not a requirement for
employee or partner apps. If branding is not an issue, you can choose a third-party hybrid shell. It will
not feature your icon or logo, but it will save you the time and effort required to build and maintain your
9. Do you need to support multiple operating systems?
The cost of native development quickly grows with each operating system you support. And it’s not
only about iOS, Android and Windows Phone. There are also differences between the various versions
of each vendor’s operating system. In other words, developing for iOS 7 is different from developing for