Practical segmentation of mobile app development for smart devices
The influx of smart devices into enterprises continues. By the start of 2012, more than 400M have been sold (including smartphones and tablets, but not PCs – which arguably should now be included). Many of these smart devices will find use in enterprises, posing both mobility management issues (Note 1) and application ones as well as application development dilemmas. This blog addresses the last of these.
App development for smart mobile devices is not just about writing the app. It is also, just as for any other application, about design, coding, testing, deployment, updating/renovation and management, with security baked in where required (which will be true for most apps used in an enterprise). What is different is that the expectations of each app have evolved and are proving very different to what IT traditionally delivers. For example there are now at least five ‘responsibilities’:
- the ‘app commissioner’, who wants fast and effective delivery into the ‘field’ and who probably will tolerate less function in an app to start with if this will ensure speedy arrival (“ you can deliver enhancements later”)
- the ‘app designer’, who wants effectiveness of purpose: this is much less about function and more about appearance and impact (many apps are being used to ‘illustrate’ products and so must achieve a quality nearer to advertising than traditional applications); function is not ignored but it occupies a lesser place than in traditional IT application development
- the ‘app user’, who want simplicity of execution to achieve the purpose why he or she downloaded it; this execution has to be orders of magnitude better than what enterprise IT app development have ‘achieved’ in the past
- the ‘app compliance manager’, who must vet and ensure that each app about to be deployed conforms to the appropriate enterprise security requirements as well as conform to with the needs of compliance in all its dimensions
- the ‘app administrator’, who must ensure that all apps pass the usual test cycle and then possess, or be allocated, the relevant policies before enabling deployment and distribution (whether within or outside the enterprise).
There is nothing specially new here – except the need to deliver ‘brilliantly’ (as in a blend of fast and beautiful and enterprise-conforming).
So far so good – except that there needs to be more. A simple taxonomy of application types to simplify how all of the above might work is relevant. In a recent discussion with Bob Sutor and Greg Truty of IBM, they suggest (and, as you will see, their thinking makes excellent sense) that there are today three fundamental ‘types’ of enterprise mobile app and with each there is an associated development ‘type’:
- the Web-like
- the Native
- the Hybrid.
The Web-like aims to provide an elegant app experience which adjusts to whatever smart device size/type is being used. This approximates to what you would find with a browser, though delivery should be cleaner and simpler. In essence you might call this the ‘HTML5 play’, delivered via a variety of app development tools like jQuery Mobile, Dojo Mobile or other advanced HTML5 tools. The advantage is swift delivery and use of existing enterprise web infrastructure; the disadvantage lies with the need to connect to a server, plus the limits on the degree of app elegance that is possible. Security is, in effect, enforced through the connection.
At the opposite extreme lies the Native. This is full-blooded app development using the likes of Xcode (with Objective C, for iOS), Eclipse (for Android) or Visual Studio (for Microsoft Windows Mobile 7 and whatever follows for ‘Microsoft tablets’, etc). All these are familiar tools to IT developers. The primary advantage is that full programmatic capabilities are available and that the app can be self-standing (an increasingly common requirement) but with the disadvantages of longer and delivery times. Security enforcement can occur at whatever level is appropriate.
The Hybrid comes somewhere in-between. Most commonly it is associated with some form of native container which exposes a limited set of APIs in order to obtain increased capabilities. Almost always some level of library involvement occurs (to provide common functions). App creation comes via ‘products’ like PhoneGap or Appcelerator Titanium (both open source) with some form of ‘compilation’ at the end to create the app. As you might expect the advantages and disadvantages are a hybrid of those for the Web-based and the Native — with app security being better than the first though not as good as that coming from the second (the Native).
What does this mean for those embarking on mobile app development. This can be summed up as:
- know your platforms and understand that there are key differences (iOS is essentially C-based, Android is Java-based and Windows is more and more C#-based); while some tools – like PhoneGap — will bridge two or more platforms, this does not excuse comprehending the differences.
- decide which of the three ‘types’ are required (it may be anything from only one to all three)
- select how the responsibilities will be managed and by whom; some will cover all app development types (say security or administration) while others will need separate skills (especially development)
- prepare and implement processes to cover all the five responsibilities, from app conceptualization through to deployment processes
- only now choose the tool(s) to adopt, having understood 1-4 above.
The tragedy of much app development is that the more common sequence for the above is 5, 2 (if it though about at all), 1 and then 4. This wastes an enterprise’s energy and resources. Enterprises will need to change their app development thinking if they wish to make the most of apps and mobile devices.
The MoDM, MADM and MEM (Mobile Device Management, Mobile Apps+Data Management and Mobile Enterprise Management) series from Constellation Research includes:
- MoDM, MADM and MEM: What You Should Expect For Managing Mobile Devices (published October 2011); this looks at how and why managing mobility has assumed so much importance so fast
- MoDM, MADM and MEM: Report 2 – Managing Mobile Devices in the Enterprise (published January 2012 and addressing market trends plus key capabilities enterprises should expect in MoDM, MADM and MEM mobile management software)
- MoDM, MADM and MEM: Report 3 – 100+ Mobile Management Capabilities Relevant to Enterprise Customers (published January 2012 and providing a reference and comparison base as to what capabilities the following vendors offer: Airwatch, Amtelnet, Boxtone, Capricode, Equinux, FAMOC, Fiberlink, Good Tech, Kaseya, MAD, Nukona, SAP, SoTI, Tangoe and Wyse/Trellia).