|
|
Subscribe / Log in / New account

Jolla: Sailfish OS, Qt, and open source

Did you know...?

LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.

By Jake Edge
July 31, 2013
Akademy 2013

Jolla's Vesa-Matti Hartikainen came to Akademy 2013 to talk about—and show off—the new Jolla phone with Sailfish OS. Like a number of related projects, Jolla (pronounced as "Yo-la") was created in the wake of Nokia's move away from MeeGo. While Sailfish OS is based on Linux and many other open source technologies, the "user experience" (UX) layer is (currently) closed, but it's clear that Jolla has put a lot of thought into how to interact with a mobile phone. Whether that translates to success in the marketplace remains to be seen, but Hartikainen's demo was impressive.

[Vesa-Matti Hartikainen]

Hartikainen began by noting that he is an engineer at Jolla, so he does "code—real stuff". Some of the software he will be showing was written by him, and much of the rest was written by his friends and colleagues. His talk was about "Sailfish OS, open source, and Qt" which covers "who we are", "what we do", and "how we do it", he said.

He switched to a bit of history, going back to the beginning of 2011, when "Nokia was a coward" that "didn't believe in themselves", and killed its own platforms. That was when Nokia switched to Windows Mobile for its phones. Several MeeGo people who were working on the N9 phone (which ran a MeeGo derivative of sorts) recognized that the MeeGo platform was a good one and was open source. They wanted to continue working with MeeGo, so they started the process of creating a company to do so. That company is Jolla.

Starting the company

In order to start a company, you need people, money, and technology, Hartikainen said. Initially it looked like MeeGo would be the technology. Lots of people were getting laid off from Nokia and other MeeGo contractors, which would help fill the people requirement. Money took a bit longer. After a year or so, though, there was enough money and confidence to announce the company as a continuation of the legacies of the N9 and MeeGo.

At roughly the same time, Nokia had "another strategy change" and decided to give up on Qt. It sold Qt to Digia and many of the Nokia Qt employees also made the switch, but some did not, including teams working on QML and Qt Mobility. So Jolla recruited some of those people and was able to build a Qt team that way, he said.

Somewhere in all of that, Intel also gave up on MeeGo and moved on to Tizen (which was not Qt-based), which resulted in the creation of Mer—a stripped-down version of MeeGo. Another project is Nemo mobile, which continues the MeeGo handset path. Nemo mobile provides packages for applications like a dialer and for SMS messaging. Jolla uses Mer for the core of its OS and Nemo mobile for some of the "middleware" applications.

But Jolla also needed something unique to offer, Hartikainen said. It was determined that the UX would be the differentiator for the phone. Luckily, there were a lot of talented designers available as well, due to the MeeGo fallout. The folks at Jolla had already knew many of those designers, knew "they were easy to work with", and those designers could create "innovative ideas" that the other companies were too afraid to try.

In June there was a public launch of the resulting "Jolla phone". It is a "real thing", he said, and held one up to show. Currently, the team is working on the "final stretch": last minute bugs, optimizations, and small features, to get it ready to go into stores.

Demo

[Demo]

At that point, he asked a colleague to run a video camera while he operated the phone. That allowed the audience to see the phone and the UX as exercised by Hartikainen. He started with the "basic lockscreen", which has notifications that can be accessed by pulling right, a "pulley menu" that is accessed by pulling down, or the main screen which is reached by pulling up to "open the phone". Unlike Android's notifications, he said, you don't need to pull all the way from the top, pulling (i.e. a one-finger swipe-like gesture) from anywhere on the screen in the proper direction will activate the feature.

The interface seems to be more gesture oriented than other phones. As he was showing different features, there were numerous different gestures used, which may require users to learn more before they can get the most out of the phone. For example, there is no back button, so swiping from the left goes back. In addition, status items like time, power, network status, and so on, are on their own screen, rather than lined up across the top as in most phones. That screen can be "peeked" at by pushing partly across the screen from the right. Once the finger is lifted, the display returns to wherever it was.

Leaving the status off each screen is part of the design philosophy of using the screen real estate for user or app content, rather than controls. The "pulley menu" which can be pulled down from the top is another example. It is application specific, with haptic and sound feedback for each menu item that makes it "almost" able to be used without looking, Hartikainen said. When it is not needed, though, it takes up no screen real estate for a button or control. One can also interact with running apps from the multitasking screen (which has thumbnails of each running app), rather than switching to them (by tapping), you can use gestures on the thumbnail to perform certain actions (e.g. switch songs).

There are various ways to personalize the device, as well. The "ambience" feature allows you to choose a photo from the gallery as a background, and the phone will switch its interface colors to match the "mood" of the photo. Ambience will also be tied in with the idea of the "other half", which is an intelligent back cover for the phone (aka "active covers"). Attaching different covers will change the ambience of the phone, but it may also do more than that. Hartikainen described a "party profile" that might be associated with a red cover; when it is attached, perhaps work email and certain incoming phone calls would be disabled along with other changes that correspond to a party mood.

The covers have both data and power connections, so they could serve other purposes as well. Additional battery power or a hardware keyboard are two that were mentioned. The protocols and pinout information will be available, so the hope is that other companies come up with their own innovative ideas.

Hartikainen showed a few more features of the interface, including the event feed, which is accessed by pulling up. It is similar to that of the N9, he said, but you can "+1", "Like", or comment on an event directly in the feed, there is no need to open an app or web site. The app store is meant to be a "social store", he said, with true recommendations from friends. But that is "hard to get right".

More details

The device he showed is a prototype, the final device will be smaller, but even now it is "so nice" to use, he said. That ended the demo, and he moved into a rundown of the specifications of the device: 4.5" display, dual-core processor, "nice camera", user-replaceable battery, and so on. There is a runtime for Android apps, so any that are absolutely required and only available for that platform can still be run on the phone. Those apps will provide an "Android experience", rather than the normal Jolla experience (no ambience, pulley menu, or interaction with an active cover, for example).

To sum up the user interface, Hartikainen said, it is meant to be beautiful and personal. It maximizes the screen space for user content and uses gestures rather than tapping for control. It provides a modern look, he said, but is "not boring".

Before his talk, everyone told him that he "needed technical details" in it, he said, so he turned to the architecture of Sailfish OS. The user interface layer is Jolla-specific and is currently closed, but it will not remain that way forever. Parts of the Sailfish Silica QML components were released under a BSD license with the alpha SDK; the native (C++) code parts will follow "soon". Silica is what is used internally as well; there is "no secret magic", as everything uses the Silica API. The Jolla team in Australia has been working on QML performance and have gotten it to work "extremely well", even on older hardware.

On the "middleware side", there is Nemo, he said. It provides services like tracker for indexing multimedia, mallit for virtual keyboards, lipstick for building home screens, grillo for multimedia, Gecko for the web, and so on. Under that is Mer, which provides Gstreamer, ConnMan, Qt 5, Wayland, PulseAudio, and systemd "for startup". It is, he said, a very normal Linux distribution, just with a "tight set of packages" so that a small company like Jolla can maintain it.

The Sailfish SDK is based on Qt Creator and virtual machines: one as a build engine and the other as an emulator. The emulator runs a full x86 version of Sailfish OS. Because of that, much of the development for the phone can be done just using the SDK, he said.

Jolla is not just "sitting alone at home coding", but instead does a lot of collaboration with other projects. The main projects Jolla works with are Qt, Mer, and Nemo. Jolla started with Qt 4.8 and added some hardware-specific code and optimizations; eventually backporting some Qt 5 code to 4.8. Since then, it has moved on to Qt 5 and the main focus right now is to "get Qt 5 fast as hell" on Wayland and ARM.

"We are a small company", Hartikainen said, so right now the intent is to ship products before it does more ambitious things, such as helping out more on Qt upstream. Jolla is the main contributor to the Mer project; "we love it". It is also a "significant contributor" to Nemo, mostly in the middleware layer (as Jolla does not use the Nemo UX)

Jolla has two offices, in Tampere and Helsinki, Finland, and a "bunch of people working from home" in various locations around the world. There is "light process" in the company and it takes an iterative approach to solving problems, especially in the user interface design. Most importantly, though, it is not afraid of change, he said. Everything is set up to try new things quickly. It is an "open source way of working", he said, without that and open source software itself, "we wouldn't be here". Pull requests, patch reviews, IRC, and other distributed working environment techniques have made it all work for Jolla.

[Thanks to KDE e.V. for travel assistance to Bilbao for Akademy.]

Index entries for this article
ConferenceAkademy/2013


(Log in to post comments)

Jolla: Sailfish OS, Qt, and open source

Posted Jul 31, 2013 16:27 UTC (Wed) by rvfh (guest, #31018) [Link]

I love this! When can I try it on my SGS2 via libhybris? :-P

Back cover

Posted Jul 31, 2013 16:49 UTC (Wed) by tanuk (guest, #71154) [Link]

This is the first time I see Jolla confirming that the interface between the phone and the back cover is more than just NFC. Very good news!

Jolla: Sailfish OS, Qt, and open source

Posted Jul 31, 2013 17:18 UTC (Wed) by jfebrer (guest, #82539) [Link]

From all the mobile os projects, Jolla is the most attractive to me, Android can be ok but I never feel really comfortable with it, and my impressions are that I will feel the same about Firefox OS and Ubuntu mobile.
That's the reason why I haven't bought a new phone since years, there was a time I was waiting for Nokia to release a Linux/Qt one, when they finally brought N9, it wasn't available in my country and they already lost my confidence as they were in bed with Microsoft.

If Jolla is hackable friendly I will buy it without a doubt.

Currently closed

Posted Aug 3, 2013 23:14 UTC (Sat) by man_ls (guest, #15091) [Link]

From the article:
the "user experience" (UX) layer is (currently) closed
Get back to us when it is open. There are enough open alternatives right now that we do not need to care about closed software, even with the promise of future code. If the plan is to open the code, why not commit to a code release right after the hardware is distributed?

Jolla: Sailfish OS, Qt, and open source

Posted Aug 5, 2013 8:43 UTC (Mon) by ssam (guest, #46587) [Link]

this is why we need to separate the hardware and the software. you ought to be able to get a phone and then install which ever OS you want on it.

Backports to old hardware?

Posted Jul 31, 2013 17:46 UTC (Wed) by dskoll (subscriber, #1630) [Link]

I have an N900 and really like it, but I recognize that the software it's running (Maemo from Nokia) is at a dead-end. I wonder if it'll be possible to backport Sailfish OS to older hardware like the N900?

Backports to old hardware?

Posted Jul 31, 2013 18:20 UTC (Wed) by jospoortvliet (guest, #33164) [Link]

MAYBE to the N9 (has 1 GB ram and 1ghz A9 cpu) but the N900 I bet is way too slow. Well, who knows- but it seems unlikely to me that you can get a decent experience on the N900.

Backports to old hardware?

Posted Jul 31, 2013 19:14 UTC (Wed) by halla (subscriber, #14185) [Link]

The N9 is one of the Sailfish development devices -- the one I'm actually using at the moment. The N950 works, too, but I lost mine :-(.

The N900 isn't just "older hardware" -- it's ancient hardware by now, nearly four years old. My wife is still happily using mine with the original maemo, but it just won't support anything newer.

Backports to old hardware?

Posted Jul 31, 2013 21:42 UTC (Wed) by dskoll (subscriber, #1630) [Link]

The N900 isn't just "older hardware" -- it's ancient hardware by now

I hate Internet time. :) Ah well, I'm still very happy with my N900 as it is, so I'll probably just keep using it until the hardware dies. I might investigate Nemo (as pointed out by lsl.)

Backports to old hardware?

Posted Aug 1, 2013 3:13 UTC (Thu) by richarson (subscriber, #74226) [Link]

The N900 is awesome (for me anyway). I lost mine about 2 years ago, after only 6 months :(

Now I have an N9 but it's not as hackable, so I got another N900 (found one pretty cheap, received it last friday).

Before I start using it seriously I'm gonna try Meego/Mer/Nemo on it.

After that, I'll probably do the same on the N9. I hope I'll be able to load Sailfish on it, since it's looking really nice.

Backports to old hardware?

Posted Aug 1, 2013 7:10 UTC (Thu) by pabs (subscriber, #43278) [Link]

A lot of hardware support for the N900 is now in mainline Linux, so in principle you could install any distro with ARM support (such as Debian). The Maemo UI is obviously long dead though but there are other UIs available. Some links:

http://elinux.org/N900
https://wiki.debian.org/pkg-n900
http://shr-project.org/trac/wiki/Devices/NokiaN900
http://www.nitdroid.com/

Backports to old hardware?

Posted Aug 2, 2013 18:32 UTC (Fri) by dskoll (subscriber, #1630) [Link]

I need the phone to work, though, and I don't want hassles. For now, I'll stick to my existing software build.

Somewhat OT, when I said "I hate Internet time", there are serious ramifications to replacing a phone every 18 months or so. The amount of hazardous electronic waste from old phones is quite staggering. The "new and shiny and better" philosophy pioneered in part by Apple has an awful environmental cost.

Backports to old hardware?

Posted Aug 9, 2013 17:10 UTC (Fri) by The_Barbarian (guest, #48152) [Link]

The Maemo UI is the best I have seen, though...

Backports to old hardware?

Posted Aug 22, 2013 14:47 UTC (Thu) by jospoortvliet (guest, #33164) [Link]

Maemo? I was never impressed with the N900... The N9, that's a different story - that UI was absolutely brilliant...

Backports to old hardware?

Posted Jul 31, 2013 20:48 UTC (Wed) by lsl (guest, #86508) [Link]

You could try Nemo (linked in the article) which makes images available for the N900. Kernel is stuck at 2.6.37, though, due to the binary blobs needed for full HW functionality.

Jolla: Sailfish OS, Qt, and open source

Posted Aug 1, 2013 18:24 UTC (Thu) by miahfost (guest, #51602) [Link]

A nit I'd like to pick; Mer is actually "Maemo Reloaded" and was being worked on by in 2008 or 2009 by Carsten Munk and David Greaves, both were involved heavily in Mer at the time. Both work for Jolla now. While Mer was sort of reborn after the death of MeeGo as a "mobile core" it was really a Maemo project that slid into MeeGo and carries on into Sailfish.

Jolla: Sailfish OS, Qt, and open source

Posted Aug 2, 2013 13:55 UTC (Fri) by lbt (subscriber, #29672) [Link]

You are quite correct; as a project Mer began back in those times and had a certain amount of continuity in the people, the mission and the logo (and some working practices through our involvement in Nokia and their MeeGo efforts). However it's also fair to say that the packaged codebase was essentially replaced with MeeGo derived packages.

Jolla: Sailfish OS, Qt, and open source

Posted Aug 8, 2013 16:03 UTC (Thu) by shmerl (guest, #65921) [Link]

Hopefully the UI and core applications will be fully open sourced soon enough and not a very long time after the release.


Copyright © 2013, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds