SailfishOS in universities: feedback on experiences

Thanks Laurent for your feedback. I guess you’re mostly using it for research rather then teaching/student projects.

I’ve recently been interested in adapting my research to mobile phones, and a Linux phones seems the most straightforward option (access to terminal, familiar Linux kernel, sysfs & librairies, etc.).

Ubuntu Touch is abandoned also by Canonical a few years ago, it’s purely now community-based. Maybe pinephone and the newer distro might be also a research/teaching option (pureos, manjaro, and the GUI from KDE or Gnome).

1 Like

Dear OrangCat,

Actually, going for Ubuntu Touch is a side effect from considering Volla Phone (https://volla.online/de/index.html). We recently purchased a device, as a potential replacement for our aging Jolla phones (actually, Jolla 1 is no longer supported from this week on).

For our research purposes, we have recovered a similar Linux environment, with CLI possibilities. Embedded security features are somehow preventing us from porting our scripts directly from SailFish OS to Ubuntu Touch, but we are investigating. UBPorts forum has been reactive, though the issues are still open.

Best regards,
LS

1 Like

Thanks for the fascinating insights @orangecat. I used to run a similar course, giving students experience of the full software-dev lifecycle up close. It was exhausting, but also one of the most interesting and fulfilling courses I was involved in and just reading your description brings that back.

As always I’m speaking personally here, but I can appreciate the importance of working examples for students. There’s plenty of breadth to cover with Qt, QML and Silica, so perhaps it’d be helpful to have more detail about what examples would be most useful. There are plenty of open source apps that can be considered as examples, so is what’s needed a tutorial that goes through how the code is built up in stages? Any info you can share on that, maybe after the course is finished, would be useful.

Concerning devices, to what extent can the problem be alleviated using the emulator? Perhaps something like Sailfish x86 could also help with this?

4 Likes

TBH i wasn’t expecting HW to be an issue for Universities. I mean if the average dude can flash SFOS on a supported device quite easily for a uni and IT people that should be like tying your shoes or something.

2 Likes

I think the main problem is finding compatible devices, as most are not easily available now without going through the second-hand market (which is not great for buying loads of devices officially). Not the OP, so I’m not sure whether that’s the main issue

2 Likes

Thanks @flypig.

To give you more details. Most of the info for a new developer/student are out there but scattered across multiple documentation websites (the /develop, the wiki, etc.), and across the new and old forums, the mailing lists, IIRC, issues for specific apps, etc.
For example, how the pages piling works in an app, or how the pulley menu and its compatibility, or how to save data for an app (for ex. using qtlocation), what API are available, graphics and charts, etc.
For a senior developer, this wouldn’t be a big issue given enough time, but for a student or a new developer, they might feel quite lost finding the info.
For my students, I did that job connecting the dots and sharing my experience developing a few apps and the hurdles I got, but if the community+jolla can bring up someone nicely written and accessible that’ll be a great plus.

I think an overhaul of the documentation website from Jolla would be nice.
And in particular, some courses which explaining those small tips&tricks along with the main design & programming things. I quite liked the documentation for Ada: https://learn.adacore.com/ which does a good job introducing the language, but also explaining things and providing examples and also those little things that a new developer might ask.

For instance, a step-by-step tutorial, also explaining the design of the OS, programming, etc., and pointing to the relevant in-depth documentation, might be about building an app involving: multiple pages, the cover page, saving settings & data to an sql database, having multiple design elements (fields, lists, etc.), the app icon, and finally building and generating the RPM for the app.

For the devices, it’s mostly about interacting with the UI. The emulator is more than fine, but students still had troubles understanding the UX of the OS as it’s quite unique and different than Android/iOS. Swiping for the pulley menu or back or for the home screen isn’t the same feel from the emulator or a physical device. They tend to understand the UX/UI much quickly when they have a device in hand.

@ApB, it’s not flashing the device the issue. It’s mostly financial: buying a 300-350€ device isn’t quite straightforward (you need the money, and in a public university where funding is being dried out every year it’s not ideal). And buying second-hand, requires a long process of paperwork because we can’t buy from any shop we want.

3 Likes

I hear you, but when you want something other than a cheap android you cant get away with less money. And yes don’t get me wrong SFOS HW is a big issue for many reasons (ranging from integration to availability and so on).

1 Like

Yes indeed. However, as I don’t control the budget (and even if I did), I have to justify every purchase and convince the people signing about the necessity of buying a new device (just to get its warranty void by unlocking the bootloader).
We don’t have any class about SFOS or even QT, and here it was just a project proposition I gave (student could’ve chosen another project).
Last year I discussed about SFOS with a colleague and he was just saying either justify it better (i.e., for research, or actual need in a course), or just propose Android projects :frowning:

1 Like

SFOS now works reasonably well on PinePhone https://www.pine64.org/ for the things you described. For daily usage it still needs quite a bit of improvement, but for developing, testing and “getting the design idea” it works rather well

7 Likes

https://together.jolla.com/question/205737/cannot-unlock-xa2-bootloader/ outlines how a second-hand device, or even a new one from certain carriers, might be irreversibly locked and not accept the flash process.

Yes yes i know the HW situations is “bad”. But the thing is it can only be solved with money -design and release a fully integrated SFOS phone- and jolla doesn’t have much. And neither MFGs are going to come to SFOS (because ecosystem money etc).

Beyond the devices themselves, a starting pack guide/tutorials would solve the biggest hurdle for me, i.e., being able to dedicate my time to supervise the project management for students rather than fixing bugs and pointing for all sorts of links and technical documentation.

@simonschmeisser, yes that’s something I’m exploring. Not just for SFOS, but for having a mainline Linux distro which could also be handy for our Linux courses and in research.

Have you considered single board computers? We use Raspberry Pis for teaching.

1 Like

Yes, we have plenty of those in teaching and research. But it’s a different use case than a classical mobile phone (not same sensors, UI/UX, etc.)

Porting SFOS to dev kit HW would also make for an “interesting” and most likely challenging learning experience but those kits are hell expensive.

Bonus points if they manage to get it working without hybris.

One of the two students’ projects yielded a good app to publish.
I’ve published it to openrepos and the sources on gitlab : https://openrepos.net/content/adel/weight-tracker
If you guys have any (small-ish) modifications, don’t hesitate to propose them. Goal is to submit it to the Jolla store (and get it approved) before the students presentation.

3 Likes

Great work :smiley: I have a couple of thoughts to give as feedback; is it best to DM you with it (I’d prefer not to post it publicly)? The most obvious question is: does it pass the rpm-validator tests?

1 Like

Thanks! Yes, all the checks in the IDE passed, “validation succeeded”.
Go ahead in the DM, no worries. Though, as courses have ended and they’re waiting for their exams, they probably won’t have time for any big changes (and not sure if they want to continue the dev after uni).

1 Like

How about including graphs for a better visualization!?
https://openrepos.net/content/slava/value-logger :slight_smile:

Thanks. I am not familiar with an official or supported graph api in SailfishOS.
The students did look for one and I guess they found one non-official (might be the one you’re referring or another one), but in any case it was too late to implement for this particular project.

Is there a list of APIs for charts in SFOS? Something official (from Jolla or FLOSS from QT that works in SFOS) ? Because 3rd party libraries have a tendency to become unmaintained quite quickly and that’s not good for class.

1 Like