One of the important decisions to be made when using mobile for learning and communications is your choice of development route. To put it simply: How will your user access the mobile content, by downloading an app or through a mobile browser? It’s not as black and white an issue as some people make out, and neither is it an easy decision to make, since whichever route you choose can impose limitations and have knock-on effects – so it’s worth taking some time to understand your options at the outset. This is typically an area where someone from a non-technical background gets called upon to make a forward-looking, strategic-scale decision about a complex technical area; a classic difficult call. But then, technical people don’t always have clear-cut answers either. There are two main reasons why. Firstly, mobile is an emerging technology area, with standards like HTML5 still very much in flux. Secondly, the answer will depend very much on what you are seeking to achieve, and technical requirements and business objectives are not always perfectly aligned. In the next couple of hundred words, therefore, I’m hoping to lay out some of your options in an understandable way, and give some context around the decisions you have to make.
Avoid faith-based decisions
An important mistake to avoid is making a faith-based decision because a sales pitch that presents your choices in falsely simplified terms has swayed you. Some people will tell you, for instance, that responsive design solves all your m-learning problems at a stroke, or that native apps have had their day (although the 2012 figure of 85 billion mobile app downloads quoted in ClickSoftware’s research might lead you to believe differently). Likewise, web apps have their detractors and there are solid business cases for native apps. But it is important to beware of false dichotomies. The decision over development route tends to be presented in starkly either/or terms: will you develop your programmes as apps targeted at a specific mobile device, or take a cross-platform approach based on HTML5 and responsive design, developing something which can be accessed on any device? In reality, your choices are not that binary. Hybrid apps, such as the Facebook app, represent a best-of-both worlds position in between the two extremes. So you have at least three choices of approach. Taking things a stage further, Forbes magazine, identifies four different technical possible configurations:
- Native apps – coded with a specific programming language (i.e. apps requiring high levels of security and transactional functionality – e.g. most games and payment apps)
- Hybrid apps – serve html pages in a native wrapper (i.e. apps that need to provide realtime updates, but also require rich functionality – e.g. the BBC Olympics app)
- Dedicated web app – mobile website tailored to a specific platform or form factor (e.g. the LinkedIn web app, which is 95% web app)
- Generic mobile app – mobile web sites designed to match every web-enabled phone (e.g. the Wikipedia mobile page)
Perhaps it’s not necessary to get that granular! For the purpose of the decision tools that follow, we’re going to fix on three different routes to consider – with the caveat that, depending on the development tools you select to work with, a greater deal of flexibility is possible than such comparisons might suggest.
Native, hybrid, web app
First of all, let’s make sure we understand what we are talking about when we use these terms. Here are brief definitions of all three, in the way that LINE’s technical department understands them.
Native app
A native app is an application that is developed entirely in a native programming language for a specific mobile device. A native app has the advantages of better speed and performance, and can effectively make use of all features of a device’s onboard functionality, such as camera, accelerometer, audio recorders, etc. However it is generally more expensive to develop and maintain. This is especially true if it has to be accessed on a variety of devices, since the app will need to be modified or completely redeveloped for each device (e.g. iPad, iPhone, Android smartphone, Android tablet, etc). And typically, to update the app or the content, the entire app requires downloading via an app store. A native app also has greater availability offline. Once downloaded, the app and all its functionality is available on the device, rather than having part of the content served from a web server. This means that it is far less reliant on a web connection being present in order to function. LINE has developed many native apps for a variety of learning needs. It is a particularly effective route for apps that require immersive or game-like learner experiences.
Hybrid apps
A hybrid app is one that combines elements of both native and web apps. While native apps are developed for a specific platform and installed on the device, web apps are generalized for multiple platforms and not installed locally but made available over the Internet through a browser. Hybrid apps can:
- Function whether or not the device is connected
- Integrate with a device’s file system and the device’s integrated technologies
- Have an embedded browser to improve access to dynamic online content.
- Integrate with web-based services, such as CMS, LMS, CRM, etc.
This last feature is also possible in the case of a mobile web app, through the JavaScript API and with native apps through APIs or custom coding. This is the type of app that our LINEstream platform outputs. This route was chosen for the flexibility it affords. LINEstream uses HTML5, CSS and JavaScript to develop the app and puts the content into a ‘wrapper’ for each specific device.
Mobile web app
We identify a mobile web app as a mobile website/eLearning site, written and tailored for a mobile device (i.e. a mobile website), including mobile phones and tablets. To maximise content reuse across devices, CSS3 media queries and HTML5 are generally used to develop rich and optimised mobile web apps. Where needed, JavaScript/jQuery and other standard web technologies can be employed. The use of Flash, ActiveX, Silverlight, Java or otherwise are considered only to enrich the user experience and are not considered to form the basis of the site or application. LINE’s Responsive Content Framework (RCF) has been developed to create apps of this kind, using responsive design to reconfigure pages dynamically for different types of device.
Choosing your route
The table on this page summarises the different capabilities provided by these three development approaches based on the requirements your particular project might have.