Humboldt-Universität zu Berlin - CALLIDUS

Web App vs. Native App

How should the Machina Callida be designed? As a specialized service or as a comprehensive application? As a web app or mobile app or desktop application?

(K. Schulz)

In Web App vs. Desktop it became clear that internet-based user collaboration plays a special role for our project. Therefore it is obvious to design the software as a Web App or as a native mobile application. The exact definition of the target platforms and the intended usage scenarios has a significant impact on the development of the project.

For the mobile area of smartphones it can be stated that the operating systems Android and iOS cover the overwhelming majority of the intended users (cf. Bowen & Pistilli 2012, 3). Although the study to which the article refers was conducted in a university environment, the same can probably be assumed for students at secondary schools if we take into account the rapid technological change and the associated increasing adoption of mobile devices and operating systems: "[The students] spend hours each day consuming everything that smartphones have to offer. This level of usage presents a great opportunity for institutions to deliver new services and technologies - not by creating a new destination but by claiming a virtual footprint in a place where students are already spending considerable time" (Bowen & Pistilli 2012, 11).

The development process here is therefore user-centred, not so much product-centred. If we want to attract learners with our offers, we have to use ways that they are already familiar with. Consequently, there is no way around an application that can be used on smartphones. But this idea alone is not enough to differentiate between browser and native app, because both can be used on the move. A more important difference is rather the range of services: "what used to be phones with added-on computing capabilities have morphed into mini-computers which can also make phone calls" (Godwin-Jones 2011). So if smartphones now function more or less like conventional computers, then it is more than obvious that these capacities for the Machina Callida and its comprehensive range of applications should be largely exhausted.

But even if we only focus on iOS and Android, every part of the software would have to be written twice to work natively. This is because the two operating systems differ too much, starting with the programming language (Objective-C vs. Java). This luxury cannot be afforded by a 3-year third-party funded project with only half a developer position. A central alternative is a framework that serves several platforms using a common code base. This in turn can be achieved in two different ways: By using pure web technologies (HTML5, CSS3, Javascript) and extending them with selected native elements through special interfaces, or by generating native code from a basic language (e.g. Javascript or PHP).

The former, also known as hybrid, is basically a conventional Web App, which can be extended to native areas or integrated into such areas through special interfaces. It tends to be more sustainable because web standards have been established for longer and are changing less radically than smartphone specific conditions: "The mobile devices are evolving very fast in terms of hardware, mobile platforms and SDKs. If [a] cross platform application is desired for a long term, mobile web is the least risky as mobile devices are all supporting HTML5 and newer versions" (Dalmasso et al. 2013, 325).

Generators, on the other hand, compile the code base completely into a native format. This brings them much closer to the "real" apps in terms of security, user interface and access to device-specific functions, but makes them more vulnerable to change. Dalmasso et. al. also point to the supposed advantage of offline functionality over Web Apps (Dalmasso et. al. 2013, 326), which has, however, become obsolete since HTML5 at the latest: "[With HTML5], thanks to the "Cache Manifest" and local data storage, applications can be designed in such a way that they can also be executed offline as independent applications" (Klein 2012, 31). So there is some evidence that a hybrid app, which is based on web technologies at its core and accesses selected native functions as required, offers significant advantages for the design of a contemporary teaching software:

 

Struktogramm zur Softwarearchitektur

 

 

❮ back       forward❯

 

Bibliography: