Linux systems consultingand support services

The Jolla phone – first impressions

The first device running SailfishOS, the successor of Meego, has finally been released. It’s elegant and beautiful both on the outside and inside. It has multiple unique features that makes it unlike any mobile device we’ve seen so far.

We have been waiting for Jolla to release their phone for more than a year and finally it has happened. It is certainly not an easy task to make the world’s greatest mobile device and fulfill all the expectations people have for Jolla, but they have indeed succeeded in doing something amazing. The last Nokia Meego device N9 was very good and appraised for its gesture based interface and now two years later we can find that all new Google apps, Windows Metro and Ubuntu phone among others are built around swiping. In Jolla SailfishOS the gesture based interface is refined and feels almost magical to use.

The hardware

The device rocks an clean and elegant Nordic design. It is simply beautiful. There are no front facing buttons but on the side there is a power key and volume buttons. The volume buttons double as camera buttons if the camera is open. The back facing camera has an LED flash, auto-focus and an 8 megapixel sensor which is more than enough. In fact, the default wide screen camera mode takes 6,1 megapixel pictures, which many agree is the most optimal file size-to-quality ratio. There is also a smaller front facing camera for video call use. The internal storage is 16 GB and there is a slot for an external microSD card where users can attach e.g. a 64 GB card. The screen resolution is 960×540 pixels which looks very sharp on the beautiful 4,5 inch screen – no pixels can be distinguished with the bare eye. All the usual sensors are included (compass, gyrometer, acceleration, ambient light). The GPS is a dual chip with Glonass, so it will be able to figure out the location quickly – even inside vehicles or indoors. The battery is user-replaceable and has a capacity of 2100 mAh.

Jolla and Other Halves

All of the above can be found in other top-of-line smart phones as well. However, there is one hardware feature that is unique to Jolla: The Other Half. The Other Half is a concept of user-changeable smart back cover. The basic covers included in the package feature an embedded NFC chip that makes the Sailfish UI change color and theme (called Ambience). However, the Other Half could connect to the main device also using a I2C connector. I2C is a bus standard common in all sorts of electronic devices and it can transmit both power and communication. Using this bus, anybody could make all kinds of imaginative Other Halves. Hopefully a keyboard will be one of the first Other Halves to come to the market. The battery connectors are also facing the back cover, so it should be easy for any manufacturer to make a giant 10 000 mhA battery filled Other Half. And of course the Other Half could also use Bluetooth or other generic means to communicate with the main device. The official specs will soon be released, so even home 3D-printing enthusiasts may produce their own Other Halves. It will be very exciting to see what kind of Other Halves start to appear in the future.

The software: SailfishOS

The software is indeed something altogether unique. Most readers of this blog are familiar with the story of Maemo-Meego-Eflop. Now the big question is, does SailfishOS offer something it’s competition does not? – Yes! The swipe based UI is a bit weird the first 5 minutes you use it, but once your muscle memory catches up, you’ll notice your fingers swiping all devices you touch and your brain wondering why those other devices require unnecessary amounts of thought to use. Android is easy to use, but even after using SailfishOS just for one day, going back to the Android world of multiple desktops, widgets, app menus and such starts to look rather complex. SailfishOS is just so natural you need to experience it yourself.

Visualise this: you take your device out of your pocket and then double tap on the screen with your thumb to activate it. Then, without moving the place your thumb is at you just swipe down a little bit and feel the device vibrate three times as the selection passes over the pull down menu options. Even without looking at the device you know when the third option (camera) is selected. Then you simply lift your thumb and the camera opens. Then you point at something, move your thumb slightly down and then touch to take the picture. Then you might want to look at the picture you just took? Just swipe left and the picture is visible in full screen. Pinch to zoom. When you are done and you e.g. want to look at the clock, just swipe left starting from the edge of the screen and you get to see the main view with time, battery status, open apps overview etc. Maybe in the middle of that you decide you still have time to capture some more photos. Instead of swiping all the way to the end, you reverse direction in the middle and return back to the camera. All this with very smooth animations and responsive feeling.

On day-to-day basis a very important part of the user experience is the on-screen keyboard. SailfishOS uses the same Maliit keyboard familiar to many from the N9, which is excellent. It is strange that this open source keyboard component hasn’t been picked up in other mobile Linux “distributions”.

Jolla themselves talk a lot about the UI theme system called Ambiance. Basically you pick a background picture and then ambiance applies automatically the picture and matching colors all over the user interface. Most of the time it is stylish, but sometimes the system thinks bright red is a good colour for UI elements and you wish you could set the colours manually; but you can’t.

Multitasking is a feature that sounds technical, but when you have the app overview open and see the real time minified versions of the apps (think Gnome Shell) the feature and its advantages are easy to understand. It was great to be able to have Osmand download a 150 MB offline map file uninterrupted while browsing some photos at the same time. It was great to be able to load up a music video on YouTube and be able to listen to it without having the screen turned on at all or while reading an e-mail in another app.

The settings center is fantastic. In fact, the whole way the app settings, contacts, accounts and everything in general seems to be integrated very well; but then again that was already true with Nokia N900. This is an area where the Maemo-Meego was a pioneer and the competition hasn’t catched up yet. Linux geeks will love that in the settings there is an option to enable the developer mode. With developer mode enabled, the app Terminal is visible. This app is in fact the famous FingerTerm app with a special four row keyboard with all the special keys needed in terminal use. The keyboard sits translucent on top of the content, so the maximal screen area is available for terminal output and the app works well in both landscape and portrait mode. Linux geeks and developers will also respect the fact that SailfishOS is a true GNU/Linux system running Linux kernel 3.4 with a fully functional shell, software is managed as RPM packages with Zypper and the SailfishOS project is very open to new contributors. If you want to read about how this software is shipped, checkout the SailfishOS site and upstream projects Mer and Nemo.

The SailfishOS label says ‘beta’ but the system itself seems mature and stable, at least in our use so far. All the functionality that belongs to a modern mobile OS is there, but when it comes to things apps should do, there are still many things lacking.

The software: HTML5, Jolla and Android apps

Sailfish architecture

Jolla has its own app store where you can browse and install native Qt/QML-based apps. At the moment however, there are very few apps, but then again all the basic apps you need like an alarm clock, e-mail, maps, calendar etc. are included.

At Seravo we hold the belief that in the long term, browser based HTML5 apps will be more important than native apps. Therefore to us the mobile browser is more important than any of the native apps combined. It should be is easy to search the web, enter URLs, open new tabs, save bookmarks etc. All of this can be done with the current browser in SailfishOS. The browser seems to work pretty fast and flawlessly. We heard at the launch event that the rendering engine is Gecko (same as in Firefox) so it is likely to have good support for HTML5 features. However in terms of usability, Chrome for Android is still the best mobile browser we’ve used so far. In particular the SailfishOS browser does not seem to have support for landscape mode. Hopefully while SailfishOS matures, the browser will grow to be more polished as well.

Android apps can be run using Alien Dalvik (probably some sort of virtual machine layer). You can either get both free and paid apps from the bundled Yandex store or you can get individual .apk files from other sources and install them manually. If you prefer open source only, then one option would be to use F-Droid, which can be installed by simply opening in the browser f-droid.org, downloading the apk and activating it.

Interesting times ahead

On the SailfishOS website it states that “We believe this will act as a refreshing sea-wind that will help push the industry forward.” Indeed it is refreshing and is leads the industry forward by leaps and bounds. At the same time there are also interesting developments going on with FirefoxOS, Ubuntu and Tizen. Whenever these are compared, Jolla seems to get the best reviews. However, SailfishOS and particularly the ecosystem around it has just started to grow so nothing is certain yet. The only thing we can be sure of is that we live in very interesting times. In the coming years, billions of people are going to buy new mobile phones and to many of them, their mobile phone is going to be their primary device to get online and get involved in the information society. If you wish to become part of this, you can get involved in the SailfishOS community. SailfishOS can, in fact, be installed on other devices as well as the Jolla phone, but nevertheless we recommend, in particular to Linux fans, to scroll down at Jolla.com and sign up for availablility notifications so you can eventually get a Jolla phone for yourself.

Yes, but Google Play Services is not the Google Play Store, it’s a runtime that Google are pushing thee days. Without it, many apps are completely unable to operate. It’s a fairly big deal to not have Google Play Services now. They even have a version for Gingerbread, so legacy phones require it too.

Vibrating pull-down menus seem very clever, but they also seem like they’d be very frustrating half the time. If my finger slips off the face, I’ve just done something.

It looks like learning to use a clutch: usually pressing down performs an action, but in this one instance, letting up performs an action. And clutches aren’t known for being the easiest thing in the world to learn.

Is Cron available? Can I run Bash scripts using Cron. Is there documentation on how to use systemd to detect events and run Bash scripts based on the event?

For example, when a Bluetooth device is connected and it’s identified as my car’s Bluetooth then open my music streaming app and set the volume accordingly. When disconnected, close the music app and return to default volume levels. If my headphones are connected, set the volume to specific levels. If there’s a dock then when docked set my alarm but if it’s not docked don’t enable the alarm. If there’s a car dock then I’d like to enable/disable GPS and Bluetooth on dock/undock.

Thanks for the nice writeup. A question that Jolla itself is surprisingly unclear on (I’ve asked twice): Does the phone force you to connect it to some sort of online identity or even credit card data, as the iPhone and (many?) Andriods do?