Author
Marko Kujala
Category
Blog
Published
28.02.2019

The use of internet content and services on mobile devices is growing every year. Social media, online shopping and banking on mobile phones are part of our everyday lives. Every company, organisation and public sector body needs to consider the mobile usability of its online services.

The design of online services has long been mobile-first. Every modern website is responsive. When should you consider implementing a separate mobile app?

Consider at least these three issues when thinking about developing a mobile app:

  1. Understanding your target audience and improving the customer experience: know what your current and new customers expect from their service experience. Can you make it easier to buy, transact or engage with them by developing mobile apps.
  2. the technical picture: apps should not be built for their own sake, but should be a productive part of your organisation’s digital strategy and IT architecture. Use existing data and integrate the mobile app into the overall architecture. When designing a new one, keep mobile usage scenarios in mind.
  3. Business process support: what functions can we streamline and perhaps replace by developing mobile apps. Mobile apps are best suited to support business processes and improve the workday experience within an organisation.

Mediasignal helps you choose the right model for mobile development. Below we take a look at future-proof ways to design and implement mobile applications.

Native mobile app – platform-specific implementation for different devices

Native applications are applications that are implemented using platform-specific programming languages. Both iOS and Android platforms currently have several supported languages, but the most common native iOS apps are implemented using Apple’s own Swift language, while Android apps are implemented using Java-based languages. However, for applications with specific needs (e.g. games), the language choice may be completely different.

The advantage of native apps is also their weakness: apps are always made platform-specific, which means that the app has to be made separately for both platforms, which can increase the workload many times compared to the other options in our review. The most obvious advantages of a native app are better performance and support for all device-based native features (e.g. location, camera, speech recognition). Overall, the native implementation approach provides almost endless possibilities to customise and fine-tune the functional logic of applications, but this freedom is clearly reflected in higher development costs.

Cost level of native applications: large project, workload from 6 man-months to tens of man-months.

Compiling an application into native applications – implementation of a single programming language

The rise of the React Native library, developed by Facebook, has brought the opportunity to build mobile apps with more agile technologies. React Native is an application framework for mobile app development, where an app implemented with the framework is turned into a native app for both Android and iOS platforms.

Ideally, a single code base is used to implement an application for both platforms, following the graphical look and feel and interface functionality guidelines of both platforms. In an application implemented in this way, changes to the application logic, for example, need to be made only to the framework implementation, and not separately for both platforms. This greatly reduces development costs.

The main advantages of using React Native and other similar frameworks (e.g. Nativescript) are very good performance, the possibility to use device-based native features, easy extensibility and maintainability, and significantly lower development costs than native applications.

Native compiled applications are suitable for almost all mobile application needs where the application is to be published on app stores for consumer or B2B users.

React Native app cost level: medium sized project, workload starting from 3 man-months.

PWA application – browser-based implementation

PWA (Progressive Web Application) applications are pure web applications that have expanded their capabilities to include the possibility of publishing PWA applications in the Android Play Store and their behaviour on devices is closer to an application than a web page. If a PWA app also wants to be published on the iOS App Store, it will need to be packaged as a hybrid app, which will add some development costs.

However, PWA apps can be used on both platforms without being published separately in the app stores. PWA apps are therefore best suited for internal use or for apps for small audiences where minimizing development costs is the key.

The advantage of a PWA is that it is a completely pure web application, which works as similarly as possible to normal mobile applications. The development of the application can make extensive use of off-the-shelf modules and libraries, thus keeping development costs at a reasonable level.

Cost level of PWA app: quick project, workload starting from 1 man-month.

The choice of implementation method is determined by the characteristics of the application and the budget available

All of the models described above can produce highly effective solutions, but when starting a project it is important to understand the implications of the technology choices.

This is why the first step is to identify and define in sufficient detail the needs of the application and the target audience, as well as the budget available for implementation. This definition will help to gather the technical requirements and compare these requirements with the possibilities offered by the implementation options. After this definition phase, a decision can be taken on the implementation method.

Regardless of the implementation technology, the most important thing in any implementation is that the design and implementation of the application starts from building a good user experience, putting the user environment and target user groups first.



Book a free Teams meeting – let’s discuss your needs.

Interested?

We want to help you. Contact us and let's discuss your goals.

Contact us
Marko Kujala

CEO | Solution Architect | Technologies
Mediasignal Communications Oy