This article is about the Linux operating system (OS) by the Jolla
company. For the alliance gathering Sailfish OS partners, see
Sailfish Alliance. For the Jolla company, see
Jolla.
Sailfish is a
Linux-based
mobile operating system developed by
Jolla in cooperation with the
Mer project and supported by the
Sailfish Alliance. It is to be used in upcoming
smartphones by Jolla and other licencees
[citation needed]. Although it is primarily targeted at mobile phones, it is also intended to support other categories of devices.
Software architecture
The Sailfish OS and the Sailfish
Software development kit are based on the
Linux kernel and
Mer.
[1] Additionally Sailfish OS includes a partially or completely
proprietary multi-tasking
user interface
programmed by Jolla. This user interface differentiate Jolla
smartphones from others. Sailfish OS is intended to offer a competitive
advantage against devices that run Google's
Android or Apple's
iOS.
[2]
Jolla has unveiled the Sailfish architecture
[3] which contains:
-
- Any hardware platform on which Linux kernel can be launched.
-
- plus all necessary hardware specific Kernel patches, or Android drivers through libhybris
- Mer contains as few hardware adaptation bits in the main repository as possible
- (2) Mer: System essentials, Multimedia, Graphics (Wayland),
Communications, Personal Information Management, Software Management,
Security, Build and Development (Qt, Qt Webkit and others)
- (3) UI and middleware
- Home screen & switcher, Real live multitasking, Input methods,
Ambiance theming, Localizations, multimedia codecs, Power management
optimizations, Integrated UX for key web services, Application and UI
performance optimizations
- Jolla & Partner Sailfish OS adaptations: these adaptations can have influences/implications on both: 4th and 3rd[clarification needed] levels.
-
- Jolla's Applications: Phone, Messaging, Contacts, Camera, Gallery, Settings, etc.
- 3rd party applications: Browser, Android applications runtime, Maps
- Jolla & Partner Sailfish OS adaptations: these adaptations can have influences/implications on both: 4th and 3rd[clarification needed] levels.
- (5) Application store
- (6) Repositories and other sources by 3rd parties including wide range of communities, operators or companies of many kinds.
"(...)Sailfish is built on the heritage of the proven MeeGo™
technology. This ensures that core cellular functionalities like power
management and connectivity are inbuilt and optimized in restrained
embedded environments. The core of the OS comes from the Mer Project.
The UI is built with QML and Qt Quick. This enables fast and easy
customization of the UI and further development of partner specific
screens with fast and easy to use development tools.(...)".
[3]
Wayland (display server protocol) in Sailfish OS
Carsten Munk, Jolla's Chief Research Engineer and one of key persons in
Mer project, has made it possible to run
Wayland (display server protocol)
atop Android GPU drivers. It's being done with glibc rather than
Android's Bionic libc derivative. The solution is to enable the use of
Wayland on top of Android hardware, particularly with its GPU drivers.
However, as part of it, for the operating system to not depend upon
Google's Bionic libc library. In April 2013 the code is at a stage of
being able to handle a QML compositor on top of Wayland while rendering
to Qualcomm's GPU Android drivers. The motive for engaging this work is
that most device manufacturers are only willing to work with Google's
Android and not supply drivers for X11 or Wayland or other platforms.
Carsten Munk is planning on putting patches out under LGPLv2.1 and sees
this work as potentially benefiting not only the Sailfish OS but also
Qt, Mer,
Nemo mobile, OpenWebOS, EFL, KDE, GNOME, Hawaii, and others.
[4]
Sailfish OS SDK
The Sailfish OS
SDK
has been announced in Helsinki at Slush in 2012, and published in the
alpha stage in February 2013. As open source software it is available
for free download from the Wiki of the Sailfish OS together with
installing and coding tutorials, which are developed further. Most users
have described positive impressions from using alpha SDK, however some
critical remarks has been reported also. Several developers announced
porting their existing software from various platforms to Sailfish OS at
JollaHQ twitter channel.
The Sailfish OS
SDK use Qt with virtual box for development, compiling and
emulation
purposes. This technique allows to compile on the Sailfish OS and to
test developed software on the Sailfish OS in the virtual machine. This
also separate development activities and (side) effects from everything
else going on this particular computer.
Jolla says that as development with Sailfish SDK is development on
Sailfish OS itself then there are no differences between developed
software appearance and behaviour in SDK and on end-user machine with
Sailfish OS. Note: the SDK contains the whole Sailfish OS, and emulates
(see: emulation, in contrary to
simulation)
the entire Sailfish OS at the host computer running SDK what in fact
means that the entire Sailfish OS, including the kernel, is running in
the SDK's virtual machine. That is why porting and developing of any
software with Sailfish SDK is possible, even before Jolla mobile is
available.
The open source nature of SDK allows to shape and rebuild it for
particular and specific needs of any company or any organisation or any
group of developers or an advanced developer, what allows to create
context specific environment. This supports creating the specific
personalised coding environment with specific tools for specific needs
which is set once and then always ready to work as set, and does not
need initial preparations for specific needs every time it is turned on
(booted).
SDK supports many systems like Android, Linux (32 & 64 bit version), iOS (64 bit version only as of March 2013) or Windows.
Marc Dillon said about the SDK: "(...)Yes, there's an emulator so you
can see how the applications work, and all of our UI features are
available as UI components. Actually you can develop applications that
have all these different UI components and different elements and use
the power of the OS.(...)".
[5]
Declared: without PRISM and no disclosure of information
Responding to privacy concerns in light of the
PRISM
spying program that came to light in summer 2013, a company
representative said the US National Security Agency (NSA) would have no
access to Jolla's servers
[dubious – discuss].
"Jolla servers are not in US, so we are not subject to any US rules or
regulations regarding disclosing information." Many see in this the
Sailfish OS and Jolla's smartphone advantage over other operating
systems like Windows, Android or iOS, which are from companies that
allegedly grant secret services wide access to user data.
Components
Connection between some mobile platforms. Sailfish OS uses Mer
Jolla has revealed its plans to use the following technologies in Sailfish OS:
- The Mer software distribution core
- A custom built user interface
- HTML5
- QML and Qt
Jolla continues building the
MeeGo ecosystem.
The Mer project does not include a
kernel, so it can't be considered a complete
operating system
on its own. It is a set of libraries complying with the MeeGo API
specification, which can be used to build a bootable Linux distribution
(i.e. Sailfish OS). This means that Sailfish OS will work on any
hardware platform on which the Mer core can be installed.
Application programming interfaces
Qt APIs (QtQuick, QtWebkit and more) should be used by typical
Sailfish OS applications. Also standard Linux APIs within reason for
mobile usage will be available.
[6]
Software overview
Compatibility
Jolla declared Sailfish OS compatible with
Android phone and tablets hardware, using existing Android device drivers.
[7]
This was announced on September 2013 and it is a major milestone. This
has been achieved with use of Alien Dalvik by Myriad Group. This is a
big step forward for phone and tablet manufacturers
[neutrality is disputed]
which can immediately and effortlessly integrate their existing devices
with the Sailfish OS and still have ability to use Android software.
Unveiled in 2013 Jolla prototypes and Sailfish running on other
non-Jolla devices have shown proves of compatibility and Android
applications running without problems, with native speed, without lags
or jams.
Jolla has previously stated that Sailfish is compatible with Android applications.
[8] This was done in collaboration with the creators of Alien Dalvik, the
Myriad Group,
[9] known for running Android apps with the
Nokia N9
(but the Android layer was never released as built-in on N9). Many
Android applications run on Jolla devices unchanged. To take advantage
of all UI and other features of Sailfish OS and make applications fast
they may need porting to native Qt/QML, there are extensive guides
available on porting to Qt/QML.
Jolla has reported that Ubuntu, Sailfish and Plasma Active
cooperation for sharing common APIs is in progress and - upon success -
will make the platforms compatible on the API level.
As Jolla Sailfish is based on the open-source Meego, it is compatible
to some extent with MeeGo Harmattan released by Nokia with the N9
phone. The applications written in Qt for N9 might need a minor
conversion process before they can run on Sailfish.
Software availability
Sailfish will be able to run most applications that were originally developed for MeeGo and Android
[dubious – discuss], in addition to native Sailfish applications. This will give it a large catalogue of available apps on launch.
Considering upon Jolla's declarations that Sailfish OS is be able to use software from following platforms
- Sailfish (natively created + ported like from Qt, Symbian, MeeGo -
developers have reported that porting a Qt written software with
Sailfish SDK takes a few hours only)
- Android applications are directly running in Sailfish OS[dubious – discuss]. They are compatible as they are in third-party Android stores, with no needed modification (in most of the cases).
- MeeGo (because of backward compatibility thanks to MeeGo code legacy included in the Mer core)
- Unix and Linux (as Sailfish is Linux then using such a software is
possible, especially RPM packages, either in terminal/console mode or
with limitations implying from using Sailfish UI, if not ported and
adjusted)
- HTML5 (because it is ready for this kind of software then use oncoming FirefoxOS software can also be possible)
Then a number of unique software possible to use can be estimated by
adding number of software from the list above. In general it can be
expected to be not less than 500K unique software pieces at the
beginning.
Hardware overview
Advantages due to the Mer
The Sailfish OS in general can be used on any hardware supported by the Mer core distribution.
Rather than designate a specific reference hardware platform, a
VirtualBox implementation with the Sailfish OS SDK is available for
development on most popular OSes like Linux, OS X, Windows, and this VM
contains whole Sailfish OS isolated from local resources to enable
comfortable work at any particular PC. This allow to evaluate coded or
ported software behaviour and performance in future on any real device
and safe experimenting
de facto on Sailfish OS itself. This is
also caused by fact that Sailfish OS is not limited only to Jolla
products and devices, but open for other partners which can use any
different hardware.
Types of devices
Although Sailfish has been presented first for
mobile
use with upcoming smartphones by Jolla, as a continuation of MeeGo and
using Mer core and the open source philosophy behind them both, it is
also an OS for general purposes including devices such as
smart televisions, computers, laptops, netbooks,
tablets, navigations, cameras, household devices of many kinds, for
automotive in cars and
IVI, for
sailing
purposes in yachts and boats, and others. The Sailfish Linux OS in the
same way as the MeeGo and the Mer projects it is not limited to use in
mobiles only, but can be used with other forms of
consumer electronics.
Jolla's Sailfish OS works on a tablet too. Jolla managers said in
November 2012 that there could be a Sailfish tablet, but Jolla itself
will, in this first wave, concentrate on a smartphone, but it does not
exclude devices of different types.
[10]
Devices running Sailfish OS
Sailfish has been presented on devices like:
- Acer Iconia tab W500[11]
- O2 Joggler[12]
- Exopc[13]
- HP Mini[14]
- PackardBell Butterfly Touch [14]
- Nokia N950 and Nokia N9 - during several presentations given by Jolla
- Google Nexus 7[15]
Sailfish OS Licensing
Jolla said that any mobile phone manufacturer will be able to license
and use Sailfish with their mobile phones and other mobile devices, as
they can with Android. The details of licensing have not been presented
yet, but it was mentioned that the whole of Sailfish OS is to be
licensed as open source.
OS Development status
Sailfish OS is promoted and supported in many ways with the open
Sailfish Alliance
established in 2011, a movement established to unite OEM and ODM
manufacturers, chipset providers, operators, application developers and
retailers.
[16]
On 16 August 2012, the user interface was reported as ready to go.
Jolla's CEO Jussi Hurmola stated in a ZDNet interview: "(...) Our UI is
ready now, we haven't released it yet, we will save it for the product
launch and the platform is getting up now so the project looks pretty
nice. (...)"
[17]
The next day, Jolla's CEO Marc Dillon tweeted that they had reached the first development target.
The Sailfish was presented for the first time by the Jolla team,
including a worldwide internet stream, as a demo of the OS, as well as
the
UI and
SDK during the Slush event in
Helsinki,
Finland, on 21,22 November 2012.
The Sailfish OS SDK in the alpha stage was published at the end of February 2013 and available for free download.
On September 16, 2013, Jolla has announced that its Sailfish OS is now compatible with
Android applications and hardware.
[7]
Jolla announced that the first phone to come with Sailfish OS will be
launched on November 27 at a pop-up DNA Kauppa shop in Narinkkatori,
central Helsinki, Finland. The first 450 phones will be sold on this
event, while the rest of the preordered devices will ship shortly after.
[18]
Source : Wikipedia