August 29, 2014
Official Release of LuneOS and Project Updates
It's been a long while since we announced our Alpha 2 release back in June of 2013, but today after months of very hard work we are very proud and happy to provide our latest release to the community now named "LuneOS". The first eye catching change is the new name we’ll be using for our project going forward. The distribution will be called “LuneOS” instead of “WebOS Ports Open webOS” because it wasn’t very catchy. Lune is the French translation of moon and refers to the user interface we all love so much in legacy webOS, LunaSysMgr, which is named after the Latin/Spanish translation of moon. The release model for LuneOS is a rolling one where each of the releases will get its own name from a list of coffee beverages. This first release is called “Affogato”.
All work for each release is visible to the public and users can also update to unreleased stages to support the developers with testing and bug fixing. Our overall aim is to deliver high quality software which is stable and satisfies the needs of our users. We plan to have a new release at the beginning of each month.
As a mobile operating system, we’re tailored for smartphones and tablets. Our main focus is not to add new devices as they appear on the market but instead to provide a stable, easy to use and easy to port software base. Porting OS pieces itself was never the real problem of our approach since we solved the most important bits by using libhybris. The actual problem we’re facing is to get application software implemented and to add all the back-end functionalities to the system we love and need.
The main focus of LuneOS is to provide an operating system which is driven by the community and continues what we love(d) about webOS. We’re not trying to reach feature comparison with Android or iOS but rather building a system to satisfy basic needs in the mobile environment. Building a good quality mobile operating system from scratch is a hard job and is built in just the spare free time everyone involved in the project has. To get the best ratio between what we want and what we can do, we’re analyzing architectural decisions from both existing solutions we can base our work on and whether we have to write things from scratch.
We’re currently supporting the Nexus 4 and HP TouchPad. The Galaxy Nexus and Nexus 7 (2012 Wifi) are still supported with this Affogato release, but will not be actively maintained anymore by the project team for future releases. We would like someone to step up as maintainer for these devices. We also have started to write a porting guide to make it easier for community members to port LuneOS to other devices.
Wifi! We also have a working settings app which includes things like wifi, screen, developer mode, and about. Apps that work include a basic browser, Preware, mail (enyo1 but it’s working albeit a tad buggy...mostly screen size related things), accounts (with some minor issues), memos is fully working, a stubbed contacts app, initial calendar app with no real backend functionality yet, synergy connectors for a lot of endpoints (Google, Yahoo, i*, owncloud, and more) and initial work for a phone app. Also, contacts sync is working along with better suspend/resume handling, and a bunch of other smaller things.
After the Alpha 2 release we made the drastic decision to rewrite LunaSysMgr from scratch and name it Luna Next. This decision was made because LunaSysMgr distributed with Open webOS caused too many headaches, mainly due to the legacy device support and the overhead of code that was in there to support various things. Keeping LunaSysMgr would not allow proper hardware acceleration without a lot of work and would have made porting to other devices harder in the future.
Therefore, the team decided to start rebuilding the user interface from scratch using the latest technologies available (QT 5.2 / QML, WebKit 2, etc). This of course meant a lot of work, but also a lot of benefits because it provides design flexibility going forward. Where possible, existing code from LunaSysMgr was re-used.
As you can imagine, the rewriting has been a lot of work and there are many different scenarios to cover, so there might still be some bugs present. After this release we will focus on adding additional features to Luna Next.
Starting with this release, LuneOS has a built-in update mechanism which makes it easy for users to update to the latest build. The implemented mechanism is similar to the one which was used in webOS before but has a different backend implementation. Right now there is no automatic notification when a new update is available. The user has to check on his own in the Settings app if a new update is available to install it.
We’re still using Preware to provide application feeds which enables the community to distribute their applications. Currently we only support one feed which is built from purely open source applications. Submitting a new application is as simple as creating a pull-request against the relevant repository which sets up the feed. On the application side we have a reworked Preware application which is now based on Enyo 2. It is faster compared to the original Preware based on the Mojo framework due to the fact it can simultaneously download multiple feeds. However, it’s back-end is still based on the same code as in the legacy webOS system.
Improvements since Alpha 2
Overall there are a lot improvements since the last release. Below is a list which doesn’t aim to be complete but gives a good overview what the team worked on and is still working on: Core OS system improvements
- Built upon libhybris to enable easy portability on available Android based devices where the followings things are currently re-used from Android:
- Telephony system (rild)
- Graphics drivers
- We’re planning to utilize more things from Android soon like:
- Hardware accelerated video/audio playback
- Sensor integration
- Functioning camera
- There is currently no plan to support running Android applications within LuneOS like ACL or AndroidChroot do.
- Using systemd as system init manager instead of Upstart, giving shorter boot times and easier control of tasks during boot.
- Emulator based on VirtualBox is available for testing and development
- Completely built by the community (OpenEmbedded build system)
- Preware 2 is now working and enables users to install additional applications.
- Various bugs have been addressed in the Memo, Calculator and Email apps.
- A new PDF app has been created based on Mozilla’s PDF.js implementation.
- A basic file manager application is available.
- Open webOS core applications are still present but a little buggy at times; this needs to be fixed or replaced by new versions of the apps.
- A system update mechanism is available to easily update to a new build once available.
Current work in progress for future releases
- Native QML based phone application for speed & reliability
- Native QML based browser application for speed & reliability
- Media Indexer Support with legacy webOS compatible API
- Support for audio and video playback
- Tweaks support
- Further Status Bar indicator support and updates
- Further improvements to the keyboard layouts
- Adding user interface features to Luna Next which were also available in webOS 3.x and LunaCE such as “Card Stacking”, “Mini Cards”, “Card Zoom Gestures”, “Stack Spread Gestures”, “Infinite Card Cycling”, “Tap-to-Maximize Edge Cards” etc.
As LuneOS is a large project with just a small group of people working on it, we could use help with various things. Especially on the application development front. We have a lot of parts on the service side in place but the app UIs need a lot of work from creative people. If you like webOS, know how develop on the web and enjoy working with an enthusiastic team on a new community built mobile operating system, don’t hesitate to contact us through the available communication channels (see Communications). Besides doing real development we also need people spreading the word about LuneOS, working on the website or documentation for others about how to participate in the project.
Here is a rough and unsorted list of things we need help with:
- Fix bugs in existing applications (Settings, …)
- Create replacements for old Enyo 1 based applications:
- Contacts (first draft exists)
- Calendar (first draft exists)
- Messaging (with Synergy integration)
- Create documentation and workflow for app developers to develop and submit new applications
- Improve the project website with a better look & feel
- Testing and bug reporting
If you'd like to get involved, contact us!
XX September 2013
You may have noticed that efforts are under way to significantly rework our Wiki. The changes are aimed at:
- re-organising the Wiki pages into more logical categories;
- making Developer Resources / Guides, information on Ports for specific devices and the Team's other projects easier to locate; and
- ensuring there is more consistency across the Wiki pages.
Please be patient with us while we work towards making it easier for your access the information you need!
webOS Ports Wiki Team
26 June 2013
Today we're releasing an alpha 2 version of our work. We have worked very hard through the last months to achieve our goals of having a usable device running Open webOS. Due to a lot things we aren't as far as we thought we could be. Nevertheless we have some important features implemented which warrants the alpha 2 release today. These are:
- Video acceleration for card web apps (not perfect yet)
- Audio playback support (includes HTML5 audio support)
- Telephony support through the Android telephony stack (based on the great work of the Ubuntu Touch project. Thank you very much guys!)
- Mostly not available through the UI, but if you put a SIM card with unlocked PIN into your device you will notice the telephony indicator.
All in all we're basing our porting efforts on top of the libhybris project (see https://github.com/libhybris/libhybris) which enables us to utilize the Android hardware drivers to support most hardware dependent things (like accelerated graphics, telephony, sensors, GPS, ...). Our developers are contributing to the libhybris project in a continuous manner so we can share things developed as part of the libhybris project with its other users (Mer, Salfish, Ubuntu Touch, ...). For example libhybris is the same thing which powers Ubuntu Touch on all the different Android based devices.
We already achieved a lot but are still not at the point of having a usable day phone or tablet as we're missing a lot work on the application side. There is already existing work to port preware to enyo 2 but there are still a lot other areas which need help. If you're a webOS enthusiast or like our project feel free to contribute (you find all ways to contact us at http://www.webos-ports.org/wiki/Communications). We need all the help we can get to achieve our final goal of having a usable phone/tablet!
If you want to try it out on your Galaxy Nexus smartphone (codename maguro) you will find instructions and a link to the images below.
We created a list with things we need help with at http://www.webos-ports.org/wiki/Help_Wanted
The webOS ports team!
Please note that legacy devices are not supported by WebOS Ports, only the LunaCE project for the Touchpad is!
|For support and resources on legacy devices please visit [WebOS Internals]