Why we need cross-platform educational applications?

Tomislav Jagušt | 12/23/2015

There is an increase in the number of educational applications, offered for download from one of the three dominant stores, App Store for iOS, Android Play Store, and Windows Store for the Microsoft Windows platform. While some of those applications can be found in two or three different stores, there is still a significant number of apps available only for a single platform.


Until recently the development of cross-platform applications in practice stood for the development of a number of separate applications that do the same thing, demanded more developers per project who were writing the same code several times, constant coordination of development teams and doubled or even tripled the price of application itself. In a market where competition is very high, and where there are at least dozen of applications for every purpose, software manufacturers will very rarely agree to higher costs in the beginning of the project. Although in the context of a particular project and organized purchase of equipment, this does not seem like a big problem, limiting educational applications to a single platform completely prevents BYOD (Bring Your Own Device) policy, encouraging students to use their own devices in the classroom, but also at home. If the development of educational applications for a single platform is decided upon, BYOD is eliminated because about 2/3 of students who own a mobile device will be excluded. 


There are several directions for cross-platform development: developing applications using specific tools or framework (for example, Adobe AIR or Xamarin), web application development or the development of a hybrid solution, which combines platform-specific parts with web technologies. Each approach has advantages and disadvantages, from the ease of development and maintenance, through the performance, to the user experience.


In the SCOLLAm project, the combination the first and the third option was decided upon: the use of a specific development framework (Xamarin) in combination with web technologies. While that approach eased the initial development, it also created a few issues, for example, some parts of the platform were very slow on some devices, and were eventually rewritten in the native language. In addition to that every system or a browser upgrade can induce a problem with the web portion of the application, etc.