Jump to content

Sailfish OS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 102: Line 102:
| Initial release || [http://thejollablog.wordpress.com/2013/11/28/jolla-system-updates-will-be-named-after-a-finnish-lake/ Kaajanlampi]<ref>http://thejollablog.wordpress.com/2013/11/28/jolla-system-updates-will-be-named-after-a-finnish-lake</ref>
| Initial release || [http://thejollablog.wordpress.com/2013/11/28/jolla-system-updates-will-be-named-after-a-finnish-lake/ Kaajanlampi]<ref>http://thejollablog.wordpress.com/2013/11/28/jolla-system-updates-will-be-named-after-a-finnish-lake</ref>
|-
|-
| v1.0.1.10 || [https://lists.sailfishos.org/pipermail/devel/2013-December/001693.html Laadunjärvi]<ref>https://lists.sailfishos.org/pipermail/devel/2013-December/001693.html</ref>
| v1.0.1.10 || [http://thejollablog.wordpress.com/2013/12/09/first-sailfish-os-software-update-laadunjarvi-is-now-live-changelog/ Laadunjärvi]<ref>http://thejollablog.wordpress.com/2013/12/09/first-sailfish-os-software-update-laadunjarvi-is-now-live-changelog</ref>
|-
|-
| v1.0.2.5 || [http://thejollablog.wordpress.com/2013/12/27/second-sailfish-os-software-update-maadajavri-is-now-live-changelog/ Maadajävri]<ref>http://thejollablog.wordpress.com/2013/12/27/second-sailfish-os-software-update-maadajavri-is-now-live-changelog</ref>
| v1.0.2.5 || [https://together.jolla.com/question/3612/release-notes-software-version-1025-maadajavri/ Maadajävri]<ref>https://together.jolla.com/question/3612/release-notes-software-version-1025-maadajavri/</ref>
|-
|-
| v1.0.3.8 || [https://together.jolla.com/question/21786/release-notes-software-version-1038-naamankajarvi/ Naamankajärvi]<ref>https://together.jolla.com/question/21786/release-notes-software-version-1038-naamankajarvi/</ref>
| v1.0.3.8 || [https://together.jolla.com/question/21786/release-notes-software-version-1038-naamankajarvi/ Naamankajärvi]<ref>https://together.jolla.com/question/21786/release-notes-software-version-1038-naamankajarvi/</ref>

Revision as of 08:29, 21 February 2014

Sailfish
DeveloperJolla
OS familyUnix-like (Linux)
Working stateCurrent
Latest release1.0.3.8 / 31 January 2014
Repository
Marketing targetMobile
Package managerRPM Package Manager
Kernel typeMonolithic (Linux)
Licenseopen source for OS, but various for Jolla's swipe UI (see Licensing).
Official websitesailfishos.org
Hackday with Jolla, Mer and Nemo Mobile in September 2012

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 a 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 was announced in Helsinki at Slush in 2012, and the alpha published in February 2013. As open source software, it is available for free download from the Sailfish OS Wiki together with installation and coding tutorials. Most users have described positive impressions from using the alpha SDK, however some critical remarks has been reported. Several developers announced porting their existing software from various platforms to Sailfish OS at JollaHQ twitter channel.

The Sailfish OS SDK uses Qt with virtual box for development, compiling and emulation purposes. This technique allows compilation on the Sailfish OS and to test developed software 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, there are no differences between developed software appearance and behaviour in SDK and on end-user machine with Sailfish OS. Note: the SDK contains Sailfish OS in its entirety, 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- and 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 [dubiousdiscuss]. "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

Software version

List of software version and update names for Sailfish OS. Each Sailfish OS version will be named after a Finnish lake.[7]

Software version Name
Initial release Kaajanlampi[8]
v1.0.1.10 Laadunjärvi[9]
v1.0.2.5 Maadajävri[10]
v1.0.3.8 Naamankajärvi[11]

Migration to Sailfish OS and porting software

A number of projects successful at other platforms are migrating to become native at Sailfish OS. This enable developers to earn additional incomes, also for abandoned Harmattan or Symbian developers. In case of Qt written projects often it's a question of a few hours to port a whole project. This process is supported and for this purpose sailfish.org collects and publishes [12] an online compendium of knowledge, links and instructions on:

  • software porting and migration to Sailfish OS
  • similarities and differences between Harmattan and Sailfish
  • guides how to port MeeGo 1.2 Harmattan applications for the Nokia N9 is the Sailfish OS devices
  • porting framework (Qt 4 to Qt 5, SDL 1.2 is SDL 2.0, Debian packaging is RPM packaging)
  • application porting tutorials and examples (QtQuick QML applications, the Flickr application Qt 5, SDL / OpenGL ES applications)
  • Qt Quick Components map to Sailfish Silica

It gathers and links development resources of different kinds and origins.[13]

Jolla Harbour for submitting software to the Jolla Store

The important element of the Sailfish MeeGo ecosystem is the Jolla Harbour (harbour.jolla.com) devoted for submitting applications to the Jolla Store, where one can submit and manage one's applications. Consumers are able to install available software directly from their Sailfish devices. As Sailfish is mobile OS of general purpose it is intended to make Sailfish software available for sale and as a free applications.

There are binary package naming guidelines for uploading files. Developers are to provide metadata:

  • An app icon for the Store (86x86px, png)
  • 1-3 screenshots (540x960px, png or jpg)
  • An optional Cover image for developer's Store page (516x252px, png or jpg)

After submission an application to Jolla Harbour, so the metadata and the binary and required images, Jolla performs Quality Assurance testing on real Sailfish devices, then gets back with feedback of QA results within undefined "a few days" via the email address registered to Jolla account.

At the beginning of November 2013 it was launched but not fully operational as still under construction, so it is in advanced public betatesting, but not the full performance. It allows developers and users to test portal performance with free applications and Jolla to correct issues reported by users to avoid the shame of non-working properly store known generally from former mobiles vendor. That is also fulfilling of the one of the main demands from both customers and developers:

  • the correct performance of searching & downloading & charging for customers,
  • the correct performance of publishing & managing & paying for developers.

During the first days after launch at 6 November 2013 number of interested in exceeded expectations and hardware abilities. There were so many demands that the server was overloaded and access to the Harbour portal website was impossible.

Compatibility

Jolla declared Sailfish OS compatible with Android phone and tablets hardware, using existing Android device drivers.[14] 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 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.[15] This was done in collaboration with the creators of Alien Dalvik, the Myriad Group,[16] 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.

In all Sailfish OS devices released for sale (via mobile operators and internet Jolla's shop) in 2013 year the Android compatibility has been fully working as expected for almost all software. However, in a few cases, when original software was not following the Android standards, it was not launch-able or steering was a problem, as Jolla informed before.

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,[17] 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.[17] 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 Firefox OS 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.[18]

Devices running Sailfish OS

Sailfish has been presented on devices like:

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.[25]

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. (...)"[26]

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 16 September 2013, Jolla has announced that its Sailfish OS is now compatible with Android applications and hardware.[14]

Jolla announced that the first phone to come with Sailfish OS will be[needs update] launched on 27 November 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.[27]

See also

References

  1. ^ "The Sailfish OS Wiki". The Sailfish OS Wiki. Retrieved 14 March 2013. {{cite web}}: |first= missing |last= (help)
  2. ^ "Jolla OS Will Run Android Apps Says CEO Jussi Hurmola".
  3. ^ a b Jolla, Community. "Sailfish Architecture". Sailfish. Retrieved 18 March 2013.
  4. ^ Larabel, Michael (2013-04-11). "Jolla Brings Wayland Atop Android GPU Drivers". Phoronix. Retrieved 13 April 2013.
  5. ^ Joire, Myriam. "The Engadget Interview: Jolla CEO Marc Dillon at MWC 2013". The Engadget. AOL Inc. Retrieved 2 April 2013.
  6. ^ "QA". SailfishOS. Retrieved 2013-06-14.
  7. ^ http://thejollablog.wordpress.com/2013/11/28/jolla-system-updates-will-be-named-after-a-finnish-lake
  8. ^ http://thejollablog.wordpress.com/2013/11/28/jolla-system-updates-will-be-named-after-a-finnish-lake
  9. ^ https://lists.sailfishos.org/pipermail/devel/2013-December/001693.html
  10. ^ https://together.jolla.com/question/3612/release-notes-software-version-1025-maadajavri/
  11. ^ https://together.jolla.com/question/21786/release-notes-software-version-1038-naamankajarvi/
  12. ^ https://sailfishos.org/wiki/Porting/Harmattan
  13. ^ -, -. "Porting/Harmattan". sailfishos.org/wiki/. https://sailfishos.org/. Retrieved 25 January 2014. {{cite web}}: |last= has numeric name (help); External link in |publisher= (help)
  14. ^ a b Bhushan, Amarendra. "Jolla Sailfish OS Now Supports Android Hardware And Applications". CEOWORLD Magazine. Retrieved 16 September 2013.
  15. ^ McAllister, Neil. "Jolla Sailfish OS to support Android hardware, apps". The Register. Siig numbertuation Publishing. Retrieved 16 November 2013.
  16. ^ Neil McAllister, Neil. "Jolla's Android-aping Sailfish OS smartphones to land in November". The Register. Situation Publishing. Retrieved 16 November 2013.
  17. ^ a b http://news.cnet.com/8301-1035_3-57603093-94/jollas-sailfish-os-adds-android-compatibility/
  18. ^ "Jolla phone will be priced premium". nokiagadgets.com. 2012-11-25. Retrieved 2013-06-14.
  19. ^ Sfiet_Konstantin, -. "Sailfish on an Acer Iconia tab W500". vimeo.com. Vimeo.com DMCA. Retrieved 21 April 2013. {{cite web}}: |first= has numeric name (help)
  20. ^ vgrade100, -. "Sailfishos running on O2 Joggler. Modesetting xorg driver on gma500_gfx kernal driver with mesa-llvm". youtube.com. vgrade100. Retrieved 21 April 2013. {{cite web}}: |first= has numeric name (help)CS1 maint: numeric names: authors list (link)
  21. ^ vgrade100, -. "Sailfish on Exopc #merproject". youtube.com. vgrade100. Retrieved 21 April 2013. {{cite web}}: |first= has numeric name (help)CS1 maint: numeric names: authors list (link)
  22. ^ a b "Sailfish". Mer Wiki. Retrieved 19 November 2013.
  23. ^ Carlos_Gong (产品观察家). "Retrieved 15 July 2013". Geekpark.net. Retrieved 2013-08-07.
  24. ^ Jonne Eilimö. "Video: Sailfish OS running on a Google Nexus 4". Retrieved 23 January 2013.
  25. ^ "Jolla". Retrieved 19 November 2013.
  26. ^ Tung, Liam. "Jolla's MeeGo UI is ready to go - and it's on the hunt for mobile talent". ZDNet.com. 2012 CBS Interactive. Retrieved 16 August 2012.
  27. ^ "First Jolla Phone with Sailfish OS to launch on November 27th".