Other issues include:
We also need to consider that “mobile” no longer just means phone handsets; a range of other device types have grown in popularity, such as the tablet computer or other devices positioned somewhere between a lightweight laptop and a smartphone, and even wearable tech.
The growth in mobile technologies has meant that businesses in certain sectors are even receiving most of their web traffic from users browsing in mobile contexts.
There are two broad choices in deploying a system to mobile users:
There are a number of benefits and drawbacks to each approach, all of which need to be weighed up along with the specifics of any particular project.
Apps targeted at specific mobile platforms enjoy a number of natural benefits:
The primary consideration when implementing a service using mobile apps is the number of platforms. If targeting a sizeable chunk of the market is necessary, the resources required may be considerable.
Mobile apps distributed commercially through app stores are subject to sales transaction charges. The task of promotion and adoption by new users is also increasingly challenging, as many of the app stores, particularly Android, are becoming extremely overcrowded.
For some purposes, a native app may be primarily used as a marketing resource, providing a supplementary service which highlights some larger branding or commercial objective.
Both short and long term native app development implications include:
Prospective clients should therefore look for a demonstrably high level of competence when considering any development services for mobile. A wealth of experience puts Blueberry in a strong position to deliver not only development expertise but sound advice on these issues.
There are also significant advantages to focusing development resources on Web applications accessible over the mobile network:
Additional positive aspects of the mobile Web include:
The fundamental consideration when focusing on the mobile Web is that, while there are tremendous advantages from both development and deployment perspectives, the network technologies and infrastructure have some way to come yet, in terms of specification and support at the client end. This includes a modern browser to take advantage of the advances.
Mobile Web browsing has changed dramatically over the past couple of years and is predicted to change drastically again over the next two years, largely as a result of faster internet speeds (4G LTE).
Moreover, technological changes in the coming years will be substantial. Much has already changed. For example, today the screen size of a user's mobile device may be anywhere between the size of a wristwatch (wearable tech) all the way up to the size of a small laptop computer, where a tablet device is being used.
An increase in bandwidth and network efficiency will mean additional improvements - 4G LTE can result in wireless broadband that is 10 times faster than 3G, able to handle download speeds between 5 and 12 Mbps and upload speeds between 2 and 5 Mbps, with peak download speeds approaching 50 Mbps. This is important as existing studies of mobile Web service users indicate that speed is valued over functionality, with over a third of users saying they would begin abandoning a site within 5 seconds if it loads too slowly.
Web applications have in the past been somewhat limited in terms of both hardware exploitation and user interaction. Innovative uses of scripting can approximate a native experience within a web application, for example via HTML5 and jQuery. However, the native app presently has the ability to create a much more intuitive and immersive user experience.
HTML5 has had a dramatic impact on the mobile Web, with some major sites already focusing on this latest markup language. HTML5 adds syntactic features that are vital to enrich the user experience. These include <video>, <audio> and <canvas> elements, as well as the integration of scalable vector graphics (SVG) content and MathML for mathematical formulas. These features are designed to make it easy to include and handle multimedia and graphical content on the web for much better user interaction, without worrying about proprietary plugins and APIs.
HTML5 has the following improved features:
Mobile Web development relies heavily on external libraries and support tools - some commercial, some open-source.
There are ways in which applications can adopt some of the characteristics of both Web and native apps. In general, the loading issues in mobile devices require efficient applications to adopt well-defined coping strategies such as:
When these practises are adopted, there is increased scope for focusing platform specific development on creating lightweight interfaces, with server side processing usable across platforms. This model can allow projects to better maximise on development resources, while still catering for multiple user environments.
For many organisations, deploying both native and Web apps is still seen as necessary. Users are still using them both, and in subtly different ways. There are also specific cases in which it makes sense to target one or more platforms with dedicated apps, where the unique features of that platform have heightened relevance, for example with the superior level of Google Maps support on the Android platform.
For software developers, the dominant issues to consider when undertaking a project for the mobile market are:
For prospective clients, the idea of being able to develop a Web application once and deploy it in multiple user environments is an appealing one. However, the pace of change in the mobile market makes strategic planning very difficult.
With end users exploiting multiple environments and communicating through an ever-increasing range of channels, the mobile Web seems most likely to be in a position to reach all of them in the long term. But given its present limitations, focusing exclusively on the Web will remain challenging. The accepted view is that most of the inherent advantages of native apps will be accessible from within Web applications eventually.
For now, web apps are not yet able to emulate native apps perfectly. Native apps talk directly to the operating system, while web apps talk to the browser, which talks to the OS. This extra layer that web apps have to pass through makes them slightly slower and coarser than native apps. However, the rapid pace of mobile web browser development is allowing more and more native device features to be accessed by web applications, slowly eliminating the gap between web and native.