posted by Thom Holwerda on Thu 30th Jan 2014 17:44 UTC

Sailfish, part II


Design

Sailfish has a unique appearance. It doesn't look like Android, Windows Phone, iOS, or any of the smaller players, making sure it always stands out. Describing Sailfish' user interface with words is hard, simply because there isn't a whole lot of it, due to the gesture-based nature of it all. Furthermore, the colours and background of applications are defined by the wallpaper and Ambiance you've set, so its colour and background are different for each user (assuming they're not using the same Ambiance).

I always find it hard to say anything substantial about the design of a user interface, since it's all such a matter of taste. The Sailfish user interface makes heavy use of extremely blurred transparency and glow effects, and is neither 'flat' nor 'skeuomorphic'. If you replace those two rather meaningless terms with a more meaningful spectrum - analog to digital - Sailfish is firmly digital, but in a completely different way than Holo or Metro.

So, Ambiance. Ambiance is a core feature of the operating system. Pick any image or photo, select 'Create ambiance', and the operating system will generate a theme based on the image, picking colours accordingly. It can be a bit hit-and-miss, but since the creation and removal of Ambiances is virtually instant, you can experiment at your heart's content. This is quite fun, although you'll quickly settle on a few Ambiances you like and occasionally change them around.

The Ambiance influences every aspect of the operating system. Every native application uses the Ambiance you've set, creating a very unified and consistent look. The image you chose will be used as the background for applications, but blurred so heavily using the main Ambiance colour that it's not annoying and does not affect, say, readability. This blurred transparency effect used all throughout the operating system has an additional effect that helps in not affecting readability - a sort of pattern is applied that improves readability. Clearly, thought has been put into this.

It also means that a Jolla device really feels like 'your' device, since your choice of wallpaper permeates every part of the operating system. In a way, this fits in nicely with the removable back covers and lack of ostentatious branding. Unlike iOS or Android, applications don't bombard you with branding and brand-specific design, which I find a major strong point of this platform. I don't want to be a walking billboard for Apple, Samsung, or Facebook.

It would make a lot of sense if you could select a wallpaper without also changing the Ambiance or the main Ambiance colour, which makes it all the more surprising that you cannot actually do this. In fact, there's no way to customise Ambiance at all, so if your favourite wallpaper creates a hideous Ambiance, you won't be able to use it (or, you'll be forced to use an unappealing colour). I'm pretty sure Ambiance customisation is in the pipeline (it's just too obvious), but for now, you'll have to settle for whatever the Ambiance algorithm dishes out.

I like the consistent shapes of Sailfish application icons and the fact that Jolla is actively urging developers to adhere to them. One of the things I dislike about Android (and to a far lesser extent, iOS) is that many icons have different sizes and shapes, giving it all a disorganised appearance. On Android, I always fix this issue by installing one of the many high-quality single-shape icon packs, but ideally, I wouldn't have to do this.

If you take a few steps back from the specifics of Sailfish user interface design, and take it all in from a distance, it's clear that the developers and designers have managed to come up with a design that is unique, and in this day and age where most mobile operating systems are just an icon grid to launch the same few applications, that's certainly a stand-out feature. On the other hand, that didn't exactly help Windows Phone either, so the value of this remains to be seen.


Accounts

One of Harmattan's strong points was its superb integration of accounts. Harmattan supported just about any popular service you could think of - instant messaging, Twitter, Facebook, Google, IMAP, POP, Skype, SIP, YouTube, and god knows what else. Support for these accounts was integrated into every aspect of the operating system, so that, for instance, it didn't matter if someone called you traditionally or over Skype; the same phone user interface handled all of it. Or, instant messaging and Facebook chat were integrated into the messaging application. And all of these accounts tapped into the notification system and the notification screen.

It's clear that Sailfish has adopted this approach, yet it's not as polished and well-done as it was on the N9. With the operating system being as new as it is, the types of accounts supported is much more limited (the lack of Nokia's clout probably plays a huge role here), and even those that are supported sometimes don't work as well. For instance, your Google account is only partially supported, so you only get one-way Calendar synchronisation, and it "crashes" often, forcing you to login again and again, sometimes a few times per day.

Synchronisation also appears to be quite slow and buggy. Gmail support, for instance, lacks push, and you can set the update timer to anything you want - 10 minutes, an hour, whatever - but it still does things on its own time, often not synchronising for hours and hours. If email is an important part of your job - as it is for me - that's incredibly frustrating. Facebook and Twitter support, too, is buggy; it seems to synchronise randomly and often not at all, so it's essentially useless. You can't really rely on it. Other aspects of the integration do work well, such as the messaging application properly integrating Facebook chat (which I use way more often than I thought I did).

All in all, accounts support and integration is an area where Jolla has a lot of work to do. If they can get it to the level of Harmattan, they've got a huge advantage over the competition, who, for some reason, all seem to prefer to put everything in silos (separate applications), which is needlessly complicated and annoying. These services ought to be integrated into the operating system.


Applications

In today's smartphone world, applications are king. Technically speaking, they were already king during the heydays of the PDA, but with the exploding popularity of smartphones, we've also seen an explosion in the number of smartphone applications - and the subsequent fawning over the numbers. Platform vendors like Apple, Google, and Microsoft are emphasizing quantity over quality, so now consumers have to wade through an endless stream of steaming crap to get to the very few actually, honestly good applications that are available. Whether application stores like Google Play and the App Store have actually led to more quality applications than were available back in the PDA days is a contentious point to me, but alas.

Yet another story for another time.

The cold and harsh truth is that without at least a hundred thousand "applications", Sailfish, and other new platforms, will always be relegated to "uninteresting" and "pointless" by mainstream technology media. Personally, though, I think it's more productive to hold alternative platforms by small and new players to different standards than the platforms from large players who possess the financial means and clout to attract official applications and developers.

With this expectation set, Sailfish has done extremely well for itself in the barely two months it's been available. When I first started using my Jolla, there was little else but the default applications, but within a matter of weeks, third party developers - mostly Maemo and MeeGo developers - started filling crucial gaps in a rather spectacular way, either by reusing MeeGo code or developing new code entirely. The pace at which this is taking place is simply astonishing, and the developers in question certainly deserve a considerable amount of praise for this.

So, we're two months down the line, and we have a Facebook client, a fully functional WhatsApp client, a third party browser which is better than the default one, several weather applications, a reddit client, a FourSquare application, Spotify client, a beautiful Twitter client, an additional maps application which allows you to select one of several map data sources, and a whole lot more. There are also a lot of system utilities like file managers, load managers, and so on. It goes deeper than that, though - additional keyboards (Emoji, Hangul) have been developed that integrate perfectly with the operating system, so that you can activate them in the same way as any first-party keyboard.

With Sailfish being based on so much existing, open code, there's also a lot of low-level stuff that's available for it that you won't find as easily on other platforms. For instance, you can install non-free codecs in the exact same way you would on any desktop Linux distribution (a single meta-package pulls them all in), which then become usable by any media application, so you don't have to install additional media players just to play certain codecs. This leads to the crazy situation that the Jolla phone probably has better and more integrated codec support than any other phone.

Several CLI mainstays are also available, like sudo, parted, wget and tar. In fact, enabling developer mode will automatically install several tools like ssh and FingerTerm, the mobile-oriented terminal emulator with its own CLI-centric keyboard from Harmattan.

Updates to all these applications arrive on a daily basis, and with the platform being as small and new as it is, it's relatively easy for individual users to talk to developers and help them out with bugfixing and feature prioritisation (mostly over at Maemo.org). This is not something that appeals to the 'average user', but it sure does to many of us here at OSNews. Virtually all of these applications are open source, so if you wish, you can contribute code as well.

So, how are all these applications installed and kept up to date? Well, it will come as no surprise that Sailfish is entirely open when it comes to application installation, so there are multiple ways to install them if you so desire. By default, users will install applications through the official Jolla Store, which is curated by Jolla and analogous to Google Play and the App Store. The Jolla Store handles updates as well, but sadly, does not currently provide support for paid applications (let alone in-application purchases), a feature that's slated to arrive in the near future. If you wish to sell your application, you're better off waiting until that feature is in place.

Application packages come in the RPM format, and you can install these manually as well. In the first few weeks of Jolla's availability, this is exactly what you did to install applications not yet approved for and/or submitted to the Jolla Store. Simply download the RPM file, and install it - with a separate RPM installer, through a file manager that supports RPM installation simply by double-tapping, or through the Jolla Store application (a trick I personally never used). Updates required you to download the RPM package of the new version, and repeat the process. Most of these were hosted at OpenRepos.net, a familiar name for N9 users.

Manual installation and updating is now mostly a thing of the past, though, as within a few weeks, the Warehouse application (seen on the right below), which is a front-end to OpenRepos.net, was released. Through Warehouse, you can browse, install, and update applications from OpenRepos.net. In addition, since Sailfish uses the repository system we all know from traditional Linux, it will also update applications installed through the Jolla Store - although I must admit I'm not sure if that can cause any harm. I haven't encountered any issues yet, in any case.

It should be obvious that whereas the Jolla Store roughly represents 'stable', manual installation and OpenRepos.net often equate to 'testing'. This allows those of us that desire so to live on the bleeding edge on a per-application basis, a very welcome feature for a platform that's as fast-evolving as Sailfish.

The default applications that ship with Sailfish do exactly what you expect them to do, and they do a great job of showcasing Sailfish application design. There's not a whole lot more to add here.

I also need to mention that yes, Sailfish supports Android applications through Alien Dalvik, but my experience with this was very negative. Alien Dalvik crashes constantly, it's slow, and if you use multiple Android applications at once, you need to switch between them with the Android application switcher instead of the Sailfish one. I found it a terrible experience, and I really think Jolla shouldn't put so much emphasis on this capability. I uninstalled Alien Dalvik after about a week, and never missed it at all. I guess it's nice to have, but I personally wouldn't consider it a genuine selling point.

In summary, it's obvious that Sailfish doesn't have remotely as many applications - or even remotely as many quality applications - as competing platforms, but if you're considering buying a Jolla you're most likely already aware of that. Luckily, there's already a very active community of developers creating beautiful, fully functional and entirely native applications for Sailfish, which I found quite surprising this early in the platform's existence.

Table of contents
  1. Introduction
  2. Hardware
  3. Sailfish, part I
  4. Sailfish, part II
  5. Miscellaneous & conclusion
e p (18)    28 Comment(s)

Technology White Papers

See More