Pages

Sunday 1 December 2013

Sailfish OS by Jolla

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:
  • (0) hardware
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.
  • (4) Applications
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 ]. "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 ], 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 ]. 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

No comments:

Post a Comment