Goodbye Sailfish OS and Jolla

Already in September 2017 I migrated away from Sailfish OS and I am now now using an Android phone. For me, this is the first time I left the niche market of alternative phone operating systems to go mainstream. Originally I used a Nokia dumb phone and then in 2009 got the Nokia N900 as my first smartphone with Maemo as OS, which was so much joy, easily extensible due to the open platform, and had a sliding keyboard. After a few years I continued with the Nokia N9 with the now abandoned Meego. The N9 was released shortly before the Nokia phone department was switched to produce Windows phones for Microsoft. However, a group of former Nokia developers formed Jolla, a company producing an alternative phone operating system called SailfishOS.

History of Sailfish OS

As a reference design, Jolla released their first phone by the same name in 2013, which was famous for “The Other Half”. You could attach back covers to extend the phone hardware, where connectors in the back of the phone gave access to the battery and a I2C bus to interact with the phone. This was kind of a revolutionary idea, but did not get much traction from third-party manufacturers. Of course the phone hardware also had some shortcomings as they had to settle on an off-the-shelf SoC and other problems such as battery contacts no longer aligning properly when bouncing in your pocket (which could be solved by squeezing some paper below the battery to push it up a but more). After all, it was a great device with a new UX concept. Jolla did not require buttons for navigation and therefore the front of the device had none, while other phones still used full hardware buttons or at least touch areas. Instead on Jolla’s new SailfishOS, everything was controlled by normal swipes on the display and swipes from display edges.

While the mainstream market was already taken by Android and iOS at the time, this was the perfect opportunity for me to stay in this niche market. Unlike Android, SailfishOS is closer to a normal Linux system. In fact, the Jolla phone used all the latest technology at that time. The display server was already Wayland (in 2013!) instead of X11 (with a hack that made it possible to use the proprietary Android display driver blobs), it already used systemd as init system, and it even had btrfs as filesystem. I have to note that SailfishOS is also not fully open source, as Jolla kept almost all of the UI components closed. Although by being based on Qt QML, a declarative language for user interface programming, it is still possible to patch in modifications by editing the scripts embedded in application binaries. The layers below the user interface and the middleware are open source, though. SafilfishOS is a Linux distribution based on Mer (some say it stands for MEego Reconstructed) and Nemo Mobile, to which both Jolla was the main contributor.

One of the best ideas of Jolla was to include the Android emulator AlienDalvik by Myriad that allowed to run any Android app on the phone. The Nokia devices I had before included native apps for social networks like Twitter or Facebook and even integrated them nicely into the rest. As a side note just imagine the N900 had only one single messenger app that allowed to talk to all your contacts on all the different social networks without switching apps or use different interfaces. Of course that only worked for a giant such as Nokia, it is impossible to get Twitter or Facebook to support your niche operating system if there is no significant user base. So on the Jolla, whenever there was no native app available, one could just get the Android app. This was also great to get people to migrate to the phone, because they could just continue to use what they knew, but in parallel also try native apps with the better swipe UX.

After Jolla had also successfully crowdfunded an award-winning tablet, but failed to deliver the resulting product, they had to make a cut before going almost bankrupt and they decided to concentrate on software development only. They partnered with hardware manufacturers to bring new devices with their OS to the market instead of also investing into hardware. However, that market was not in the US or Europe, but instead they had to focus on BRICS countries and released the Intex Aqua Fish in India in 2016. As that device was not available to the rest of the world, Jolla set up a developer program for the active community in Europe, which included the Jolla C device. This was basically a clone of the Intex Aqua Fish with the right modem for the European LTE frequencies, but had only plastics and foil instead of a tempered glas screen. The community device program was limited to only 1000 devices, so I was quite lucky to get hold of one of these.

The shortcomings of Jolla and Sailfish OS

However, after using the Jolla C over year as a daily driver, I noticed a lot of shortcomings. The cheaper hardware not withstand the use case of being carries around in the pocket all day. There is no blame on Jolla, as the phone was never meant to be used like this. A development device should mainly stay on the desk, but that is not what I did. So the display started to getting a few scratches due to rough handling by me. However, at the same time, the software started to fall behind. Remember that at the end of 2015, Jolla had been almost bankrupt, had to let go a half of the employees and therefore lost lots of talent. It seemed like the development was more focused on getting the OS to run on new hardware than to actually deploy new features.

In the middle of 2017, Sailfish OS was still in a sad state in my opinion. What I was still missing were native apps for the social networks. When I evaluated my app usage, it turned out I was almost exclusively using Android apps on the emulator (Twitter, Facebook, Instagram, Spotify) and almost no native app existed. The main problem here is that the big players did not want to support it (Spotify even had an internal prototype of a native app!). Although all of them offer API access to their content, they usually do not allow to recreate what the official app can do. Like a third-party Instagram app can not upload photos. A third-party Twitter client cannot view replies to tweets. Like any other company trying to get profitable, they have to control their platform. Of course that means they have to focus on the mainstream and leave out niche markets.

At that time in 2017, my original Jolla phone was actually still in good shape. It was even still able to run the latest software and got regular updates four years after its initial release. One of the problems was the battery. Although detachable, there was no official replacement on sale, for which Jolla had to take a lot of flak from the start. In addition, the hardware got old, while the demands increased. The 1 GB of RAM was way too small to run many apps at the same time (especially bloated Android apps) and it often ran into an out-of-memory state. Remember that Sailfish OS worked like a normal Linux with real multi tasking, so it does not have any kind of “freezing” that Android or iOS apply to stop apps from running in the background. It is nice to have a video running in one app and even see the playback updating live in the app overview, but of course this goes at the cost of performance.

Furthermore, the Android emulator was not able to keep up. The original Jolla phone supports Android version 4.1 and was never updated. Some apps no longer supported such an old Android version, or at least did not offer the latest features for this version. That is fair enough given that this Android version was introduced in 2012. As of today, Google reports less than 2% of all Android devices still use this version. Unfortunately, the Android emulator on the Jolla C also only supported Android version 4.4, which was released in 2013 and already has a platform version share of less than 13%. As the Android emulator on the Jolla never got any update, I doubt it will ever happen for the Jolla C. I have no idea under what terms Jolla had licensed AlienDalvik, but Myriad does not even list it anymore on their product website. Therefore this looks like a dead end for me.

As the Jolla phones were not running a licensed Android and were not blessed by Google, they also did not come with the Google Play Store. However, you could still install the Google Play Store in an unofficial way just like you can do when using an alternative Android distribution. While this worked fine for years, suddenly the latest version of the Google Play Store was no longer able to download app updates. I have no idea if this was a limit imposed and enforced by Google or a bug in the Android emulator, but it cut me off from getting any updates for my apps. Eventually I was able to downgrade to an older version of the Google Play Store, but it was no way to go forward.

Furthermore, the development of Sailfish OS did not make the progress I had wished for. While Sailfish 2.0 introduced a lot of changes and made the UX better, it also left some inconsistencies in the interface that were never fixed. The included sailfish-browser is still based on an old Gecko release and was falling behind. Other apps such as the email client never saw any significant update and was barely usable for me. But also the rest under the hood did not even catch up to Android or iOS. Starting out as a normal Linux distribution, Sailfish OS also adopted the security policies as we still see it today on the Linux desktop. Any app can read almost all your files. There is no sandboxing and no app permissions. After more than four years of development, that is quite ridiculous from a security perspective. And while the official app store is open for native apps, not all API and hardware features are allowed. Often enough the version in the app store would not offer all features that are actually implemented (most apps are open source software), but you have to get the app directly from the developer and side-load them to get everything.

Sailfish X

At the MWC in February 2017, Jolla announced they would be porting Sailfish OS to the Sony Xperia X. That would mean there would finally be a phone available again on the market that can run Sailfish OS. However, at that time, the Xperia X was already almost a year old. While it was announced as being almost finished, Jolla took its time with the release. About 6 months after the original announcement, they finally stated they were close to a release. I will not criticize the price tag of 50 EUR for an OS image, as that might be what is needed to cover the costs of development. After all, how big is this niche market? However, they told us they only needed to figure out how to distribute the image to the customers, but some functionality like Bluetooth will not be available when they release. And although they promised support for Android apps once again, there was nothing on which version would be supported by the emulator.

That really tilted me, as the lack of communication on progress was not good and they would not even support all hardware feature of the device. Why would I pay more than 300 EUR for a device which is not even fully supported by the OS I want to install? Sorry, but you lost me as customer with this.

All in all, I was really fed up with Sailfish OS. The decision to look for alternatives was not easy, but I realized there will not be a future for me with Jolla.

Making the switch to Android

After some consideration, I decided to buy a Moto Z Play, which offers a similar concept to “The Other Half” of the original Jolla phone. You can attach so called Moto Mods to the back of the device with additional functionality. This time backed by a large company, more third-party mods might become available in the future. Also, Motorola promised to use the same form factor for future devices in the series to stay compatible.

Being a “frickler”, maybe best translated as someone who adventurously tunes computing devices, I quickly decided to install LineageOS instead of the official stock ROM by Motorola after having heard good stuff about it from my friends.

The shortcomings of Android and LineageOS

Of course, coming from a long history of using devices running Maemo, Meego, and Sailfish OS, I had to do some initial learning to get around on my Android device. That is why I am writing this long article only now after I had some time to experience the differences.

What I am still missing the most are the swipes. It was so much easier to get around on the device with the swipes to switch apps. Using swipes on Sailfish OS allowed to peek on another screen, so you did not even have to fully switch to the home screen or another app to check something. Just swipe from a side edge of the display to see whatever is behind the current app, then release the finger from the display without finishing the gesture.

On switching apps: compared to the nice app overview on Sailfish OS, the app switcher on Android looks like a joke to me. When I was looking for an app on Sailfish OS, I just looked for the app screen in the grid overview. I cannot get me to use this scrolling thing. Why would you organize apps in a vertical scroll view? I mean, in portrait mode, I can only see at most half a screen of each app. That often makes it hard to recognize them quickly or search for them. In fact, I usually just go to the home screen and use the app icons.

Furthermore and related to this, I miss the quick access to the app launcher. On Sailfish OS, I could just swipe from the bottom edge of the display to always get to the app launcher. On Android I have to go to the home screen first, then press another button to open the app launcher. And even then, the app launcher is terrible to navigate. All apps are strictly alphabetical. How at least about sorting by last use? I cannot even organize apps into folders there. However, you can do that on the home screen. Which in my case, just means I am mostly using the home screen to launch apps as it requires less searching for what I want.

But to get to the home screen, I have to leave the current app. On Sailfish OS, I could just swipe from the top edge of the display to quickly close an app completely. Now on Android, I can just press a button to go to the home screen. However, that preserves the app state in the background and there is no way to quickly close an app completely. I want to be able to close an app and the next time I open it, I want to be on its main screen. On Android, when I leave an app and then later tap on its icon again, I am wherever I left it. This might sound nice at first, but actually it is so annoying. Let’s say I added a new event in my calendar in the next month. Now I go on doing something else. When I later return to the calendar to see my agenda for tomorrow, I am actually looking at the events somewhere next month and I have to navigate back to this week. On Sailfish OS, I had entered the event and then decided that I am done with the app and close it. So the next time it opens on the current week as the default view. I know I can force close the app from the app switcher. But as discussed above, I barely use the app switcher and it is cumbersome to go through it.

Another thing I truly miss is the double tap to wake. This is a feature that originally come from the Nokia N9 released in 2011. When the phone is sleeping, just double tap anywhere on the display to wake the device. No need to press any buttons on the side or on the front, which usually requires to hold your phone differently. I recommend to check yourself how you initially hold your device when you unlock it and how you hold it when you use it. The double tap was an easy solution, why did it not catch on?

Another gesture I really miss is a way to temporarily lock the screen orientation. On Sailfish OS, you simply put a finger down on the display and then rotate the device. Although the rotate would normally cause the screen to follow, the finger on the display causes it to keep the screen orientation. If you rotate the device back, the temporary orientation lock is released. On Android, I now have to first fiddle with menus and buttons to lock the orientation before rotating the device.

While the above was all on the user interface, I also experienced some shortcomings with other parts. As a user of Linux and macOS systems, I am quite used to the terminal and I usually do a lot of stuff over SSH. However, Android lacks a decent terminal emulator. Everything I tried so far had different problems. JuiceSSH cannot copy text or open URLs when the remote side uses ncurses. Termius cannot detect or open URLs at all. I miss the FingerTerm I got used to on the Nokia N9 and that was shipped as Terminal on Sailfish OS. The main feature was that the terminal view was an overlay over a custom keyboard, so you could start typing at any time, which would then move the input line to the top.

An another thing while we are at the terminal level: Sailfish OS used ordinary RPM for package management. This meant you can just install software the usual way, although as a normal user only with the help of PackageKit. Maybe I will not actually need this, but on Sailfish OS, I regularly just used SSH to my phone to edit its configuration, make backups, etc.

On the hardware level of the Moto Z Play, I really wish it would make more use of the Super AMOLED. Back in the day, the Nokia N9 also had an AMOLED, but kept it always on with a low power white on black mode. This way, you could always see the current time of day or notifications. Now with the Moto Z Play, I have to actively wiggle the phone or cover and uncover the proximity sensor to turn on the display. I really hope that we will improvements to this in the future.

Summary

This got really long, thanks for reading. This was mainly for myself to reflect on all of what happened. Being alternative and using a phone on the niche market meant a lot to me for some reason. I got quite the nostalgic feeling when I think back of the days of the Nokia N900. Now, I have given in to the mainstream and I am using an Android phone. I do not regret the switch so far and the Moto Z Play works for me as a daily driver, although it also has its shortcomings as detailed above. I just hope that in the future the good innovations from the niches do not get lost, but will find their way into the mainstream.

8 thoughts on “Goodbye Sailfish OS and Jolla

  1. NGC-Ollie

    nice summery for me why I don’t leave SailfishOS. i love the UI and 1G of Ram is ok, could be more. the native apps on Android suck as hell, i really hate the Android Twitter crap, so i use alternative stuff as well. is there an useful adblocker on Android or iOS? “defender” uses the host file, one killer feature. Or my Bluetooth is weird ? fingerterm, service restart, done. works like a Linux ,will be fixed like a Linux. package manager and so on.
    i understand your reasons, but they are not mine. Thanks for showing me that i should buy a Xperia as soon as my Jolla 1 dies.

  2. Jan-Philipp Litza

    Re double tap to wake: LineageOS has this feature on my phone (Samsung A5). Maybe it’s hardware dependent, but try searching for “double” in the system settings.

    Re screen orientation: I too consider the default behavior unusable. However, this app greatly improved my experience: https://gabm.github.io/TapAndTurn/

  3. Petr

    I still use Jolla but I’m getting sick of it. I agree with most of your reasons, and I have to add the browser. It’s just too slow. I don’t expect great speed on javascript heavy sites, but once at a time I have to use it in a hurry, e.g. when checking for bus connection.

    And when I have to do a fast decision based on info easily available on the internet, and Jolla browser freezes, I want to crash that piece of crap on the ground.

    UI is really good though, nice native apps for audiobooks, phone recorder, ssh out-of-the-box.

    I am waiting either until https://postmarketos.org will be usable and then I switch; or until some of my survival Android app (Google authenticator, bank codes app) stops supporting the 4.1 Android, and then I’d go Lineage. But even now I am a bit sad with the Android support – I can’t control my vacuuming robot with the Jolla 1.

    P.S. they updated Android in the latest release, but only for the Xperia devices. It’s unclear to me which Ansdroid version it will be. https://blog.jolla.com/sailfish-os-2-1-4-now-available-early-access/

  4. Falcone

    – for Terminal: Termux, nothing else, along with Anysoft Keyboard, Hacker Keyboard, or BeHe keyboard

    – Regarding orientation lock: Ok, not a gesture but quick actions should be ok for you: just pull down the status area and make sure to put orientation lock tile somewhere in the first row

    – Regarding the app launcher: You know you can install many different launchers? Personally i’m into Nova Launcher for years (has tabs, folders, gestures, not sure about sorting apps by recent usage though)

    I can’t exactly remember what i miss from my N900 days, having ade the switch already back in 2012, and on my HP TouchPad first.

    The first boons were definitely fully working CalDAV and CardDAV sync…

  5. ian

    i agree. i thought Sailfish would be fantastic but it is pretty woeful. A nice idea but i find it just a bit of a nice little club for Finnish techies .
    There are so many brilliant Android custom roms that work perfectly ( try out a few to get the one that suits your phone the best) .Beanstalk is great , Omnirom is fantastic. Resurrection is running my old N7100 brilliantly. They’re all working fine with minimal or no Google.
    Sorry to say I’m ditching Sailfish . the functionality just isnt there or so ergonomically obtuse as to be annoying .

  6. Monkey Control

    An interesting summary, my commiserations on the android phone. I’m currently keeping my fingers crossed for the Sony Xa2.

  7. trin94

    I’ve bought a Sony Xperia X recently and the Sailfish X OS.
    The gesture based approach is awesome. After a few hours of playing around with it I began missing these gestures on my OP3.

    The app situation though is pretty worrisome. There are apps for YouTube, Twitch, Spotify, Telegram and stuff but most of them haven’t been updated for months/years.
    Browser has poor performance and some core apps are lacking features.
    Still I really am looking forward to Sailfish 3. Since the only Android App which is not available at Sailfish is What’s App for me I really consider switching the OS.

    Regards

  8. Klaas

    This article explains why certain Android apps do not work anymore. It is due to a stricter policy of Google to keep its stuff more private. So it is Google’s failt, not Jolla’s.

    https://arstechnica.com/gadgets/2018/07/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/

    I hope that everyone who reads this will not fly to contemporary Android.
    Each day there are less reasons to back Google and since Sailfish is the only alternative available to non tech people at this moment, I stick to Sailfish. Better use an ipad next to it. Future projects are the Librem 5 and Gael Duval with his e. foundation ( /e/), based on lineageos. Google is a nono!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.