Three devices from Shutterstock
Filed under: Articles, Intranets, Mobile
It’s hard to escape the frantic activity in the mobile space these days. In addition to the thousands of consumer apps being created, organisations are steadily delivering mobile functionality for their customers and users.
Within organisations, mobility for staff is also becoming a major consideration. This is being driven by a number of factors:
- the rapid spread of ‘bring your own device’ (BYOD) policies that allow personal devices to be used for work purposes
- the growing recognition that staff must be productive away from their desks
- the obvious opportunities in field and frontline environments to streamline how staff work
- the rise of ‘activity-based working’, where staff no longer have a permanent desk and instead work in a more flexible environment
- the chance to better engage with staff, to provide corporate services and news
Early adopters have already produced remarkable solutions, as seen in the recent years of the Intranet Innovation Awards (www.steptwo.com.au/iia).
As more enterprise mobile solutions are created, however, their diversity becomes apparent. Some provide simple day-to-day features such as a mobile staff directory, while others are rich mobile apps that automate complex business processes.
What is the best way to deliver these solutions? Should they be native apps? Or is mobile web the way? Is there a third option?
What’s the best way to deliver enterprise mobile solutions?
Exploring a range of options
Thanks to Apple, when we think of mobiles, the phrase ‘there’s an app for that’ immediately comes to mind. While this is the most common way – as consumers – that we interact with our phones, it’s not the only option for enterprise solutions.
As things currently stand, there are three main options to consider:
- Native apps, for one or more mobile platforms (iPhones, Android, etc).
- Web-based applications, which use HTML5 to deliver an interactive mobile experience.
- Hybrid apps, which deliver HTML in a native ‘shell’, with the goal of getting the best of both worlds.
Each of these options has a role to play, depending on the situation and need.
In addition to exploring the strengths and weaknesses of each option, this article will outline a number of questions that can be used to make the right decision.
These questions include:
- What devices will be used?
- What functionality is required?
- Where does it fit in the broader enterprise environment?
The mobile space is moving incredibly quickly, and it’s natural to expect that organisations will take an experimental and emergent approach to delivering mobile solutions.
The choice of how to deliver mobile functionality is, however, key. The right approach allows valuable solutions to be quickly developed, while poor decisions can expose organisations to a high total cost of ownership and user frustration.
Native apps
At the time of writing, four major mobile platforms are fighting for market share:
- Apple iOS (iPhone and iPad)
- Google Android (phone and tablet)
- Windows phone (phone and tablet)
- BlackBerry
Of these, the first two are the dominant platforms, with the other two playing ‘catch up’.
Each of these platforms provides an engaging and effective experience for users, and each is supported by an ‘app store’ of some form.
Native apps have full access to device capabilities
Advantages:
- Native apps have full access to the capabilities of the device, including the camera(s), GPS and accelerometer.
- Tight integration is possible with in-built native apps, including phone, calendar, contacts, etc.
- Native apps can store data locally, working in offline mode as required.
- ‘Push’ notifications and other updates can be sent to applications.
- Richer interaction and more complex apps can be developed natively, utilising the full range of interaction options (eg swipe, shake, tilt, etc).
- The design of native apps can be completely consistent with the rest of the platform.
- Native apps typically run faster than web-based apps.
- There is a rich set of developer tools provided for each of the mobile applications, assisting coders to create highly functional solutions.
- There are a growing number of third-party application development environments that allow a single design to be exported as native apps for multiple platforms (although app store policies can be problematic in some cases).
- Native apps can be installed via the consumer app store, and in some cases, via a locally hosted enterprise equivalent.
By definition, native apps only work on a single device type
Disadvantages:
- The biggest issue is that the apps are native – they only run on a single mobile platform. By default, each platform (eg iOS and Android) must be written (and maintained) separately.
- To provide new functionality for staff, an updated app must be downloaded by staff members, or delivered to their devices via mobile device management (MDM) software.
- Native apps are locked into device upgrades, with updates commonly needed to ensure apps work correctly on the new operating system version.
- The requirement to frequently update apps imposes an ongoing development cost, and a high total cost of ownership.
- Developing rich native apps is the domain of professional application programmers, who are less common than web developers.
- Native apps are ‘islands’, and unlike the web there’s no way to ‘link’ from one app to another.
- Delivery of apps via an app store may be undesirable for enterprise solutions.
- Some platforms take a ‘cut’ of any payments made via native apps.
- App store rules can be restrictive, and sometimes arbitrary.
- All of the platforms are striving to be unique, such as the growing differences between iPhones and Windows Phones. This makes it harder to develop enterprise apps that work the same way on multiple platforms.
In a nutshell: native apps provide the richest possibilities, but are more complex to develop and are constrained to single platform.
There is also a higher ongoing cost of ownership for native apps, as operating system updates mandate app upgrades.
This makes native apps most suitable for complex field applications that will be running on corporately provided devices.
Web-based applications
Browsing the web is a key part of smartphone use, and HTML5 has been developed to provide a rich set of mobile features.
At present, this includes the ability to adapt designs to the specific characteristics of devices being used, as outlined in the earlier article Responsive design for mobile intranets?
New functionality is constantly being added, including offline data storage, and interaction with some device functionality.
Advantages:
- Web-based applications are capable of working across a wide range of devices (although some earlier BlackBerry devices and ‘feature phones’ struggle).
- HTML5 supports a number of rich interaction models and valuable mobile functionality, beyond traditional HTML.
- HTML5 is rapidly evolving, with new functionality steadily closing the gap with native apps.
- Web development is well understood, with a large body of developers and extensive support material.
- Web development is generally quicker and easier, compared to native apps.
- ‘Responsive web design’ gives the option of delivering a single site that adapts to match the device used, whether desktop, tablet or phone.
- New functionality can be added on the server, and instantly available on devices without requiring local app updates.
- There is no requirement to deliver solutions via an app store.
- Web-based solutions avoid the constraints of app store policies, and the cut taken of financial transactions.
- Web-based solutions can link between themselves or out to the broader web, in the normal fashion.
- Web-based solutions sit more comfortably in a family of enterprise solutions, with cross-links as required.
Disadvantages:
- There are limits to the functionality that can be provided by web-based apps, compared to native solutions.
- There is little (or no) interaction between web-based apps and native device features, such as the camera and GPS.
- Offline usage is possible using HTML5, but support is limited at present.
- Support for swipes, pinches, shakes (etc) is very limited in web-based apps.
- Web-based solutions are less seamless with built-in phone applications, such as mail and calendar.
- Developing mobile web solutions is not as simple as traditional web sites, with a steeper learning curve for developers.
- Cross-browser and cross-device compatibility issues have returned, like the bad old days of the web.
In a nutshell: most mobile developers see HTML5 as the future. While its current capabilities are limited compared to native apps, this gap is steadily closing.
Delivering web solutions gives the widest device support, and the quickest way of meeting staff needs. Use for all but the most complex of mobile needs.
Hybrid applications
In the middle ground between native and web apps sit so-called ‘hybrid’ apps. These consist of an outer ‘shell’ that is a native application.
This shell has full access to the device capabilities, and is able to provide push notifications and offline access.
Within the shell sits a web-based application, hosted on a server or running locally. This allows a single web app to be written that can be deployed to multiple platforms, each using the matching native shell.
At present, there are a number of commercial providers of hybrid delivery platforms.
Advantages:
- Potentially provides the best of both worlds: the ease of web development with the rich functionality of native apps.
- Hybrid apps have access to device capabilities, such as the camera and GPS.
- The application itself is web-based, allowing it to be written once but used across many platforms.
- If the web application is hosted on a server, then it can be easily updated as required without downloading new code to individual devices.
- The hybrid shell can assist the web-based app to adapt more seamlessly to different device sizes and capabilities.
- The challenge of supporting multiple devices and platforms is addressed by the provider of the hybrid shell.
- There are a growing number of third-party providers of hybrid shells, as well as end-to-end commercial providers targeting the business and government market.
Disadvantages:
- Hybrid shells may introduce some complexity into the web-developed applications that sit within.
- Hybrid applications are still in their infancy, and there is limited industry experience of their use.
- There are a number of hybrid platforms available, and it is not yet clear which will prosper in the market.
- Hybrid applications may lock organisations into commercial relationships with third-party providers.
In a nutshell: This is an emerging field, with limited industry experience in creating and deploying hybrid solutions.
Where more complex functionality is required, hybrid solutions may be a good alternative to fully native apps.
Each option has its role to play in delivering solutions
Match your needs
The previous sections have outlined three different ways of delivering mobile solutions to staff: native, web-based and hybrid. But how to make the final decision?
Recognising that each option has its strengths and weaknesses, the starting point is to fully understand your needs and environment. This will guide the selection of an appropriate solution.
The following sections outline a number of questions that can be used to guide the decisions to be made.
What devices will be used?
- Will the organisation be providing staff with a standard mobile device that will be used for work?
- Or will a range of devices be used, depending on the staff member, their activities and working environment?
- Will staff be using their personal devices, under a ‘bring your own device’ (BYOD) policy?
- Is it expected that the devices being used will change slowly or rapidly?
If a diverse range of devices needs to be supported, particularly with a BYOD policy in place, native apps are self-limiting.
Instead, develop web-based mobile apps, with careful testing for cross-device compatibility. More complex needs can be met with hybrid solutions.
Understand who will be using the apps, and how
What functionality is required?
- How complex are the applications being developed?
- How rich does the interaction with users need to be?
- Do device capabilities, such as camera and GPS, need to be accessed?
- Is there extensive integration between the mobile apps and back-end systems and databases?
Simple applications with limited functionality can be quickly and cheaply developed as web-based solutions.
More complex functionality, particularly where device capabilities are needed, points to either native or hybrid applications.
Where does it fit in the broader enterprise environment?
- Is the solution a stand-alone app, targeting a specific group of staff?
- Or will the application ultimately be one of many mobile solutions provided to staff?
- Will the application be self-contained?
- Or will it connect with the intranet and other web-based solutions?
Dedicated solutions, particularly for field staff, may benefit from the richness provided by native or hybrid apps.
If, however, the solution will be part of a broader ecosystem, the ability to cross-link between web-based solutions becomes a compelling consideration.
Conclusion
Mobile solutions are steadily transforming how staff work, particularly in field and frontline environments.
Organisations have more options than ever before in delivering these solutions. Careful selection of an appropriate method will ensure that effective solutions can be delivered quickly and cost-effectively.
Organisations should carefully monitor the mobile industry for emerging trends and insights. In such a rapidly moving space, new practices are sure to emerge.
The good news is that organisations can quickly and easily deliver mobile solutions that provide immediate business value, even if a different approach may be taken in the future.