Jolla's Sailfish OS

This week has been a busy one for a hacker-nomad. Weekend in Paris for the JS.everywhere conference, then on Monday a talk at the Hamburg JavaScript meetup. And now I'm in Helsinki. Slush, the conference I'm attending, is the biggest start-up event in Nordic countries. But even at that, it seems the Jolla announcements of today have been able to hijack most of the buzz around the event.

Thanks to the kind invitation from the Jolla team, I will spend today in the conference. This post will include the things I learn about Sailfish, their new mobile OS. I've been equipped with a list of questions from the Maemo community, and will try to pry answers to some of those during the day. In the meanwhile, I recommend reading my Dreams of the MeeGo Diaspora post before this one to get the background on where Jolla comes from.

What to expect from the day

Unlike with the smartphone giants, relatively little has leaked out on what Jolla will show us today. What we know is that they are working on a new OS for smartphones based on Mer and Qt. During Slush they will show the user interface and the SDK, but there should be no hardware announcements yet.

Jolla Tides has a list of various gossip about the event. We'll see how much of that holds true.

Before the opening session

Entrance to Slush

I arrived at Slush right around when the doors opened. Quite a few members of the Jolla team were there already to set up their booth and prepare for the keynote. Looking at all the familiar faces makes this feel very much like a Maemo family gathering.

Jolla - Unlike

The Jolla booth is right next to the main entrance. And there are stickers:

Jolla sticker on a MacBook Air

Before the event started, Jolla's CEO Marc Dillon shared the stage in the opening press conference with other Finnish start-up notables like Peter Vesterbacka from Rovio.

Press event

Jolla has grown very quickly from a start-up to a medium-sized technology company.

I think everybody who plays Angry Birds should get a Jolla phone

Marc Dillon from Jolla

The fact that Finland's prime minister will be opening the actual event shows how important innovative new companies like Jolla are for the nation.

Opening session

Peter Vesterbacka:

This is not California. Most of the year it is cold, dark, and there is slush on the ground. But this is also an advantage. You have time to build amazing things like IRC, Linux, or Angry Birds

Peter Vesterbacka opening Slush

In addition to Finnish companies, there are also 100 Russian start-ups attending.

If you look at the markets nearby, there are places like Russia and China practically next door.

Jyrki Katainen, Finnish PM:

I've never before been in an event where the prime minister's nails get painted. Innovation.

Jyrki Katainen

But seriously, we as a country have been losing market share in many important markets. The ways to solve this is through research and entrepreneurship. The focus on R&D was what lifted Finland from the recession of the early 90s. We want to become the largest hub of start-ups in Northern Europe. We need to create an atmosphere where new entrepreneurs and venture capitalists can meet in easier ways.

Before the keynote

Jolla's website is finally up at http://jolla.com/. The website is also showing the event livestream:

Jolla's new website

There is also a wiki for Sailfish OS now available.

Sailfish OS logo

Another exciting pre-keynote announcement is that Finnish operator DNA will sell Jolla phones.

This is also interesting, if true:

Sailfish OS for tablets tweet

Jolla launch keynote

A video of the launch keynote is available on YouTube.

2013 will not be like 2013

Jolla team coming on stage

The whole company came on stage, and each team was introduced with words like:

Here is the team that designs the most innovative user experience. We have the team that works to put Sailfish on all sorts of hardware. All hardware, whether high or low end, has been performing extremely well with Sailfish. We've been responsible for finding the best engineering talent in the world. We take care of systems, tools, and automation -- yeah, we build robots

Marc Dillon:

We have the world's best community behind us. There is such a need for another player in the mobile space. People need change, people need openness

Marc Dillon on stage

We want to be a company that sells a great user experience, a great operating system. Jolla is not a company. Jolla is a movement

Jolla wants to add more partners to the ecosystem, and to ensure it is an open ecosystem where companies can put Sailfish on different kinds of devices, and create new things on the platform.

It is a lot of fun what we do every day. I work with the greatest people in the world. The UI should also be fun for the users, for the consumers. We're out there creating friendships and partnerships. It is all about working bilaterally.

We've seen a company to build a business out of apps, and another company follow them on their terms. We don't have to do that.

The governance of Sailfish is about contributing. If a company wants to add a new technology or a standard, we're open for that.

China is the first market for Jolla. Sami Pienimäki on stage:

We're taking Finnish design and bringing it to China. Many people around the world have told us that what you're trying can't be done, that there is a Red Sea to block you. But China is the most dynamic market in the world. You need to listen carefully and be polite, and always learn. The management team is constantly on the field. You can't outsource this, you need to feel it yourself

Sami Pienimäki on stage

"China is a big country inhabited by many Chinese" - Charles de Gaulle. "No problem" - Chinese saying

Stefano Mosconi:

Our guys are really staying up until 4am to see that we have Sailfish OS booting on the new hardware. This doesn't happen every day. This is Open Source, it is stubborness, it is great engineering. Open Source is about doing stuff.

What if you could watch the development of the OS out in the open, and adapt your application little by little, instead of having to wait for the big code drop? Sailfish is the first mobile operating system that is really open 24 hours for your contributions, and your enjoyment.

Stefano Mosconi on stage

You out there are the interconnected organisms. We want to swim in the Open Source, we want to live and breath it. And when you're in the ecosystem, you can contribute, you can affect the way things go.

The SDK is based on Qt Creator and will be shown tomorrow.

Antti Saarnio:

There will be Jolla-branded phones, always leading by example. They will be the spearhead of the Sailfish ecosystem. But partners and operators can also sell Sailfish phones on their own branding. Other smartphone vendors can also use Sailfish. We're talking with several companies about this.

This industry is at the moment looking for change. Jolla and its partners can be the change by disrupting how the industry works. We don't have an existing business or cost base to defend.

Antti Saarnio on stage

UI demo

Marc back on stage, showing the Jolla UI video. There was an Android logo in one of the screenshots!

Sailfish lockscreen

Two taps on the screen activate the lockscreen. Scroll up and you'll see status information, and finally get to the homescreen. Swiping up again goes to the apps listing.

Sailfish media player

Sailfish has true multitasking, just like N9 or N900 had. When you open an application, the homescreen will have a large widget-like tile showing it. These widgets show status data from the app, and can have controls for the app, like pausing or forwarding music you're listening to.

This is true multi-tasking. You no longer have to go deep into an application to do something. You can leave your favorite applications open all the time.

Sailfish homescreen

Swiping gestures change between views inside an app.

The whole UI takes its ambience, its color scheme out of the picture you choose for the wallpaper.

Sailfish ambience from wallpaper

Swiping down from the homescreen brings you back to the lock screen, and swiping down again locks. So the whole UI is spatial

Interview

I had a chance to sit down and talk briefly with Sami Pienimäki, Harri Hakulinen, and Carsten Munk from the Jolla team. The Maemo community (and commenters of this blog post) had provided me with a set of questions, and here are answers to some of them.

In general, the Jolla team was very happy with the demo and the keynote, stuff worked and people were interested, both on-site and online.

There is much more to the UX than was shown yet

For developers, the interesting part is the platform itself. Mer is the core OS used, with various middleware pieces coming from the Nemo project. Qt Creator is used for building applications, with the Sailfish SDK being shown tomorrow.

Qt/QML story is the main story. And then a set of Linux APIs that make sense

I asked about the Android logo in the demo video. It seems it was an easter egg that most people noticed, probably because the logo is so common nowadays. The answer:

You can run Android applications on Sailfish. But native tools are encouraged. Sailfish can run Android apps but is not Android. More integrated UI needs Qt.

And the application story stretches beyond just Qt and Android APIs. You can also deploy HTML5 apps via PhoneGap, as Qt Cordova runs already on Sailfish.

We don't like to talk about security frameworks. We talk about user privacy frameworks. The OS will protect user privacy. User privacy framework will be open sourced I also enquired about various things about the form factor that will be relevant to developers, like screen sizes and HW/SW keyboards, but there have been no HW announcements yet -- as expected. The first Jolla device will probably be out in the summer, at least for customers in China and Finland. There are ongoing negotiations also with other European channels.

There may be a N900-like developer device program, but this depends on the partners. They want to ensure a program would make sense for both them, the developer community, and the operator partners out there.

Sailfish supports chipsets from ST Ericsson, and can already run also on other chipsets, as well as a VM. ST Ericsson's Snowball is a developer device that you can buy.

Intermission. On the way to a meeting between the sessions I walked past the former Nokia Research Center building in Ruoholahti. It felt weird to see the place without the familiar logos...

Sailfish UI session

In the evening Jolla's design team held another session on the Sailfish UI and the design philosophy behind it. The basic ideas behind it are simplicity and playfullness.

Devices are getting bigger

Smartphones in general are getting bigger, but the UI has to fit your hand without having to use it with two hands or shift the device around.

Multitasking is important. Normally, the apps take a full screen, but each of them also appears as a widget when either running or pinned to the homescreen. These widgets can present UI elements or data. No chrome where you want to just show content.

Running apps as widgets

The OS tries to be personal and customizable, unlike others.

We decided to abandon classical UI chrome and high-production visuals. Only using plain visuals would be boring. You need ambience. Everyone will bring their unique touch on how their UI looks. To stand in the crowd but stand out

Honesty to the medium, which in case of current smartphones means glass. So, no fake leather or 3D icons.

Virtual keyboard

Vertical swipes take you between the lockscreen on the top, homescreen in middle, and app list in the bottom. Swiping left and right shows various views of an app. There are also gestures to show available actions, like changing between a VoIP or a regular cellular call. The Jolla team called these different views covers, and swiping pushing.

Even the lockscreen has some UI options available via swipes, for example to switch the phone to silent mode.

Continuous integration

Everybody in Jolla team tests their work on actual devices, and gets constant updates on them. This way you can ensure performance stays smooth even on 100$ hardware. QML helps too.

QML example

Thursday: Jolla SDK session

Unfortunately I had to fly back to Berlin in the morning, but Jens Wiik agreed to write a report for this blog from the SDK session. The story below is from him:

Today's major Jolla event was the SDK demo.

David Greaves on stage

Watching the presentation, I felt like I'd already seen the same thing ten times. And I have.

Which is awesome.

Anyone familiar with Qt and Qt Quick should feel right at home. Qt Mobility is available as well. As far as the individual app developer is concerned, Jolla isn't making any radical departures from the existing frameworks. It remains an excellent way to develop a slick UI, regardless of whether you want to follow platform guidelines or customize everything (more on that later).

The SDK is available in source form now, and we should expect binaries for multiple platforms in the coming weeks (a minor disappointment, but no big deal). Qt Creator lets you deploy your code directly to virtual machines or real devices, and you'll be seeing stronger integration of Sailfish UI components in the near future.

Jolla also encouraged anyone with questions about the build system to contact them. They want to make it easy to support multiple architectures, and even multiple versions of Qt.

The number one thing to remember from this demo is that Jolla is open to people joining discussions online, and in fact strongly encourages it. They said they'd be very welcoming to people who show up on IRC with a good attitude, and want to release preview code early and often so you can help make it fit your needs before it becomes a more strictly defined finished product.

At the event, anyone could have walked up to the CEO and talked to him:

Marc Dillon in the audience

Android compatibility can be achieved in three ways:

  1. Apps developed using the SDK are Qt apps that can be run on Android.
  2. Many Android apps will already run on Sailfish due to an included VM.
  3. A lot of info will be available about porting apps to get native performance.

The rest of the presentation introduced Qt Quick to those who haven't seen it before. The following screenshots illustrate how to create a simple gallery app that adapts to the user's theme (ambience).

A basic window:

QML Window code

QtMobility for finding the pictures, and a gridview for displaying them:

QtMobility code

Adding the Sailfish PullDownMenu is also just a few lines of code:

Sailfish Pulldown code

And the final result, with the menu pulled down, now used for changing sorting order in the demo's gridview:

Demo result

All in all, getting to that point took about twenty minutes, with Jolla estimating that it should take about an hour without preparation. You even get lots of animations for free by using the provided components.

My personal impressions about Qt Quick are as positive as ever. But seeing this presentation from Jolla instead of Nokia felt different - in a good way.

Thanks, Jens! And also thanks to the Jolla team for the interesting presentations and the discussions in the Supercell party last night.