13 June 2021
Adel Noureddine
The mobile OS space is locked down with Android and iOS, with each having a slightly different but similar user interface and user experience. Many higher education institutions and universities have embarked into creating classes and student projects around these two environments.
However, other OSes do exist, and they offer different and intuitive UI/UX, with different technology stacks. Linux-based mobile OSes are slowly gaining popularity after the great debacle 5-6 years ago, with new UIs such as PureOS and Phosh, Plasma Mobile, Ubuntu Touch, and other Linux-based distros, or SailfishOS.
The latter is the most stable and usable one. Its history dates back to the Nokia days and is the hair of the MeeGo OS found in the Nokia N9 phone released in 2011.
In winter and spring 2021, two student groups from the Université de Pau et des Pays de l'Adour, studying in the computer science master degree on Internet Technology, had to develop each a SailfishOS application: a weight tracker and a weather application.
Why use SailfishOS for student projects?
There are two main reasons why SailfishOS is a more interesting OS for student projects and in teaching:
First, it is a different platform with a different UI and UX. Users interact quite differently to a SailfishOS device than to classic Android or iOS ones. Therefore, students have to adapt to a new mobile paradigm, and learn to adapt to the needs of the project. Funny enough, the first UI template of one of the student groups used UI/UX paradigm inherited from Android/iOS. After understanding the UI and UX, the students proposed a new UI template which respects the OS's UI guidance.
This adaptation to specific projects and clients' needs is important for students to acquire. When they start working in industry, most projects have requirements, limitations and specific client needs or restricted environments. Therefore, it is important for students to learn to understand the client needs and the deployment environment, and develop accordingly. And this is something that SailfishOS allows them to do as its UI/UX challenges their knowledge and perception of what a mobile OS should be.
Second, the technology stack of SailfishOS is different, which uses Qt, QML, C++ and JavaScript. The IDE is a custom version of Qt Creator, and have a specific emulator and building engine.
The role of universities is to teach concepts and fundamentals, and not follow blindly the latest buzz-tech from Apple or soon-to-be-axed tech from Google. Unfortunately, many professors and universities are following the easy route of buzzy-gadget-like courses in hope of attracting students with shiny iMacs or the latest ephemeral-JS-framework.
Students need to learn how to code, how to adapt to projects specifications, and how to build a project with the most adapted technology for the problem. SailfishOS with its tech stack allows to push modern students beyond their tech-comfort zone.
It also allows students to dissociate certain techs from its fields, a.k.a., mobile is not only Java and Swift, Git is not only GitHub, or desktop Linux is not only Ubuntu.
Conclusion
Overall, the students managed to learn, adapt and build the applications. Both of the apps were published to OpenRepos (Weigh Tracker, and France Météo), and the weight tracker app have been published to the official SailfishOS store managed by Jolla.
However, the main limitation is the limited number of devices where an official supported SailfishOS version is available: only a few Sony devices through its SailfishX program (although more corporate B2B devices are supported). But as SailfishOS is mostly free and open-source, there is a longer list of devices capable of running a community-supported version of the OS.