In the first part of the series on mobile applications, we mentioned a record growth of the mobile market. It is currently developing at a dizzying pace not only in terms of the number of users or mobile devices, but also from the perspective of technology development.
Mobile technologies bring new possibilities of interactivity, including the context of time and place. They offer new channels and forms of engagement, new ways of communication, and new opportunities for trade, including data collection and processing, and remote operation.
In the previous article, we spoke of the need to be mobile simply because your readers, website visitors, customers, business partners, and suppliers are mobile. In this article, we look into how to become mobile.
Beginning a mobile project
Development of a mobile application should be preceded by a thorough analysis. The target market, end users, their behavior, and the devices that are in use should be identified. It is the alpha and omega of every project. Budget estimation and assessment of the expected benefits play a prominent role, too.
The mobile market is characterized by high diversity, a variety of different types of mobile devices, and a wide range of used platforms. In addition to several basic browsers that are in wide use, some specific browsers are installed on a limited number of devices. Different browsers in combination with different operating systems, platforms, and mobile devices bring about hundreds of possible combinations. This increases possibilities of regression errors. Testing of mobile applications is therefore a much more complicated task than testing of PC applications. We know this from our experience in real projects.
Android versus iOS and more…
The most popular mobile platform is Android, covering about 70% of the market. It is followed by Windows and iOS used on iPods and iPads by Apple. These hold about a 12-percent market share. Some users apply specific platforms that vary greatly in behavior and requirements. For example, iOS users form a small group, but they spend more on mobile applications. As a result, they generate the largest portion of revenues.
Creating mobile applications for iPhone can therefore be commercially advantageous despite the numerical superiority of Android in the Czech market. Developing for iPhone is also simpler because iPhones are available only in two dimensional variations. Also, iPhones go through a rigorous approval process by Apple.
“When customizing applications on Android, one should expect a high probability of regression errors. An application tuned for functioning on one device, may cause errors when functioning on another device”, explains Tomáš Běloch, tester at IBA CZ.
Testing in practice
Testing of mobile applications is comparatively simple.
First of all, it is worth identifying the device on which the application will be mostly used. The device should cover the market in terms of its diversity and cover most of the users of the target groups. Then one needs to define the types of devices on which the application will function (smart phones, tablets, etc.), operating systems (Android, iOS, Windows), particular versions of the operating systems, and the size of the screen and its resolution.
When it comes to a mobile web application, one needs to identify the most widely used browser.
Virtualization tools may be helpful when testing applications on various platforms.
Web is the basis
If mobile applications should be commercially successful, in many cases it is useful to create a mobile web. Even when designing a website, it is preferable to start with its mobile version (the principle “mobile goes first”). One needs to make emphasis on key services and simplify communication with the clients.
Just as HTML is the foundation of any website, it is also the foundation of any mobile solution. While the user experience and sophisticated interactive features are the domain of native applications, HTML 5 is usually the easiest and fastest option for creating mobile applications. Such application can later be converted into a hybrid form when the user’s view seems to be native.
Hybrid applications are developed as a web application that ensures versatility and a possibility to use on many different types of devices. If HTML 5 is unable to cover all the requirements, native programming is applied. Web applications in a hybrid form combine a simple user interface typical for a web application and the functionality specific for a native application.