LuneOS tries to keep webOS alive
Even the most dedicated watchers of mobile operating systems may have been surprised recently when a distribution called "LuneOS" announced its first release (code-named "Affogato"). LuneOS, it turns out, is a version of webOS, a mobile operating system originally created by Palm. WebOS has had a bit of a troubled history, but it still has a dedicated following of users and developers. LuneOS is another attempt to turn webOS into a useful system for those users. The effort is a noble one, but the LuneOS developers have a lot of ground to cover yet.
After its initial fall when Palm ran into financial trouble, webOS seemed destined for great things after HP announced that it would be open-sourcing the system and using it as the core of its mobile strategy. The euphoria did not last long, however; HP canceled most of its mobile initiatives before they really even got started. The webOS system was eventually sold to LG, which has since incorporated webOS into its "Smart TV" product line.
LG also took over the management of the Open webOS project, which is meant to continue the development of webOS as an open-source project. The software is still clearly being developed, but it seems like a stretch to describe Open webOS as a truly successful project at this point. Activity is low, the last weblog posting was in March, and there have been no releases usable by the community. A recent GigaOM article described the webOS acquisition as a "failed experiment," attributing the failure to internal corporate power struggles. Also, importantly, LG has abandoned the "LunaSysMgr" user interface, replacing it with a proprietary interface module on its TVs. So there really is not much for an outside development community to work with.
The webOS Ports project is working to rectify this situation by creating a webOS distribution that is installable on real-world devices. Its developers have taken the webOS code and based it on the Android kernel and some low-level Android user-space components; the libhybris library is used to do impedance matching between Android components (that expect the "bionic" C library) and glibc. Rather than maintain LunaSysMgr on their own, project members decided to write a new user interface (called "Luna Next") from scratch. This module reuses some LunaSysMgr code, but is based on Qt and WebKit. The project has also replaced the on-screen keyboard (with Maliit) and a number of other components.
The result is a system that retains a number of webOS concepts but is increasingly distant from webOS itself. The goal of this work is described in the release announcement:
The current "Affogato" release is available for four devices: the HP TouchPad, the Nexus 4 phone, the Nexus 7 Tablet, and the Galaxy Nexus phone. The latter two devices will not be supported going forward; development effort will focus on the TouchPad and the Nexus 4. As it happens, your editor has a sacrificial Nexus 4 sitting around just waiting for a chance to run an experimental new operating system. So giving LuneOS Affogato a try seemed like the obvious thing to do.
The LuneOS experience
A prospective LuneOS user might be forgiven for thinking that they are
getting off to a rocky start. The installation
instructions start with a list of seven rules that one must agree
to before installing the system; they include things like which URLs may be
publicly posted and a requirement to "fastidiously follow
" the
project's IRC channel. Your editor, never a big IRC fan, stands in
violation; a visit from the webOS Ports Police is nervously anticipated.
As of this writing, the URL on that page for the actual installation image is incorrect. Your editor dug around and finally ended up with the webos-ports-package-mako.zip image (dated September 1) from this directory (hopefully posting that URL is not a violation of rule #6). At that point, assuming the device is already unlocked and has the ClockworkMod Recovery image on it, installing LuneOS is a matter of a single adb sideload command followed by a reboot.
When the system boots, it starts by presenting an end-user license agreement stating that LuneOS can only be used for non-commercial purposes. That restriction is blamed on the existence of binary driver blobs (taken from Android) in the system itself. One must agree before anything else can be done. The problem with "non-commercial" licenses, of course, is that "non-commercial" is poorly defined. Whether testing the device for an LWN article qualifies will, one might imagine, have to be worked out in that conversation with the aforementioned webOS Ports Police.
The feel of the system resembles that of past webOS devices, unsurprisingly. There is a home screen with a dock at the bottom for a few applications including a launcher for all the rest. There is a single button that, when tapped, zooms back to a scrollable list of all running applications, allowing quick switching between them. The set of available applications includes a web browser, an email client, a PDF viewer, a fairly extensive terminal emulator, a calendar, a calculator, and not a whole lot more. There is a tool for software management, but no indication of a functioning repository for add-on applications.
The overall presentation is attractive and, in many ways, pleasant to use. It must be said, though, that the lack of a "back" button makes itself felt frequently; it often feels like applications lead the user into dead-end screens that cannot be escaped from. What's worse, though, is that things really just do not work very well. Response is often sluggish and applications will become unresponsive for lengthy periods of time. WiFi networking is supposed to work in this release, but it never was able to see any of the (many) access points visible from LWN's testing laboratory. In general, it does not feel like a system that one would want to use even for serious testing, much less as an actual phone.
In all fairness, the LuneOS developers never claimed to have a production-ready system. They are, as is mentioned a couple of times in the Affogato announcement, a small group trying to take on a large task. It is unsurprising that this task is taking a long time to come to fruition. Indeed, unless it can bring in some more developers, the webOS Ports community may have a hard time ever getting LuneOS to a point where it might be truly useful for anybody other than the most committed webOS enthusiasts.
It would be a good thing if they did succeed. As nice as Android is, it is
in need of strong competition from at least one open-source
alternative. LuneOS, a community-developed distribution based on a
known-to-be-popular system, could possibly be such an alternative if it could
build up some momentum. That looks like a long shot, though; the barriers
to entry in this area are high and getting higher and it is not at all
clear that a small, unfunded project like LuneOS can ever get much
traction. But, then, that's what was once said about operating system
kernels, so one never knows.
Posted Sep 4, 2014 1:27 UTC (Thu)
by roc (subscriber, #30627)
[Link]
Posted Sep 4, 2014 8:00 UTC (Thu)
by rsidd (subscriber, #2582)
[Link] (12 responses)
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
But, then, that's what was once said about operating system kernels, so one never knows.
Linux got lucky by starting out at the right time, when the i386 platform was inexpensive and products from different manufacturers were highly compatible. It was easy to boot a minimal kernel that just supported keyboard and mouse (maybe just a serial console) and get started, and the same minimal kernel binary would run everywhere. Once you got it running, you could compile in drivers for other hardware (and, later, you just needed to insert the right module). Today's ARM hardware is a different matter -- you can't even re-use kernels between different products from the same vendor! If Linux hadn't happened in the 1990s, one of the BSDs would probably have become widely popular instead. But if neither Linux nor a free BSD existed today, I think there would be no hope of having a free operating system running portably across today's devices.
Posted Sep 4, 2014 12:20 UTC (Thu)
by eru (subscriber, #2753)
[Link] (11 responses)
That's crazy! I guess we owe a dept of gratitude to IBM and Intel who established de-facto standards for the PC, even though everyone at the time ridiculed it as kludgy!
Posted Sep 4, 2014 13:07 UTC (Thu)
by kiko (subscriber, #69905)
[Link]
Posted Sep 4, 2014 15:20 UTC (Thu)
by robclark (subscriber, #74945)
[Link] (2 responses)
standardized hw really helps, but this is nothing that can't be solved through software (ie. see upstream work for arm kernel consolidation). The problem is more an issue of "doing it right" vs "doing it right now".. the timescales and market pressures in mobile tip the scales strongly in favor of the latter, and no player in the industry who is in a position to tip the scales back the other way (ie. google/android) chooses to do so.
Posted Sep 4, 2014 16:03 UTC (Thu)
by rsidd (subscriber, #2582)
[Link] (1 responses)
Posted Sep 4, 2014 18:13 UTC (Thu)
by robclark (subscriber, #74945)
[Link]
completely agree.. didn't intend to imply otherwise.
Posted Sep 4, 2014 19:55 UTC (Thu)
by rahvin (guest, #16953)
[Link] (6 responses)
Posted Sep 4, 2014 22:44 UTC (Thu)
by rsidd (subscriber, #2582)
[Link] (3 responses)
Posted Sep 6, 2014 9:47 UTC (Sat)
by ballombe (subscriber, #9523)
[Link] (2 responses)
Posted Sep 7, 2014 2:38 UTC (Sun)
by rahvin (guest, #16953)
[Link] (1 responses)
Posted Sep 7, 2014 18:57 UTC (Sun)
by smoogen (subscriber, #97)
[Link]
Linux had nothing to do with that.. The market that ARM is known for now (small units like beaglebone etc) is large because of Linux but in numbers shipped they are immensely tiny compared to overall ARM usage.
Posted Sep 15, 2014 19:22 UTC (Mon)
by TimSmall (guest, #96681)
[Link] (1 responses)
IMO, probably they should be thanking Russell King as much:
http://www.arm.linux.org.uk/docs/history.php
... this was all done in 1995, in his spare time whilst he did his undergraduate degree. To give some context to that, the A5000 which he targeted launched with a spec of a 25MHz ARM2 and 1/2/4MB RAM and either a 40MB hard disk, or no-hard-disk (floppy disk as the only storage).
Incidentally, Russell was a terrible person to have in your high school computer club - he was very knowledgeable and helpful, but he set the bar so high that I nearly took an entirely different career path...
When I found out a few years later that he'd ported Linux to the ARM essentially single-handedly, I felt a lot better.
Posted Sep 15, 2014 19:47 UTC (Mon)
by TimSmall (guest, #96681)
[Link]
Posted Sep 6, 2014 17:26 UTC (Sat)
by dilinger (subscriber, #2867)
[Link] (2 responses)
Posted Sep 6, 2014 21:26 UTC (Sat)
by richarson (subscriber, #74226)
[Link] (1 responses)
Posted Sep 7, 2014 0:20 UTC (Sun)
by tialaramex (subscriber, #21167)
[Link]
The _issue_ is that "back" in Android, as with a modern web browser, has unpredictable consequences. Not literally impossible to predict of course, but requiring such a complicated model of what's happening that ordinary users end up modelling it as "Sometimes it will do what you expected and sometimes not". This confusion was true for the hardware "back" button on my oldest Android phone, and it's true for the software "back" button on my Nexus devices.
One problem is that Android (intentionally, and _almost_ seamlessly) hides some context from the user by not making you explicitly start / stop programs. This means that sometimes what you think of as analogous to "I'll switch back to that other program" is actually implemented as "let's run the other program again and tell it to restore as much context from its last session as possible". The "back" button is one of the leaks where you can see this hidden context, as an app must go to great lengths to remember why you were where you were, or else "back" won't always take you exactly where you expected.
Posted Sep 8, 2014 7:16 UTC (Mon)
by speedster1 (guest, #8143)
[Link]
Was it a broken link? Or pointing to the wrong thing? I can see that at least it is not a broken link right now, perhaps fixed after you pointed it out. I do know that the instructions for touchpad installs are correct, because I successfully ran through them (http://webos-ports.org/wiki/Install_WOP_for_Tenderloin)
Posted Sep 8, 2014 7:31 UTC (Mon)
by speedster1 (guest, #8143)
[Link]
I love that all the annoying "text correction" features default to OFF instead of on like usual. The blue luna moth background is really nice too :)
Posted Sep 11, 2014 13:01 UTC (Thu)
by Preemptive (guest, #98824)
[Link]
Hopefully, you will now enjoy the experience more! ;-)
Today's ARM hardware is a different matter -- you can't even re-use kernels between different products from the same vendor!
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
>
> That's crazy! I guess we owe a dept of gratitude to IBM and Intel who established de-facto standards for the PC, even though everyone at the time ridiculed it as kludgy!
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
LuneOS tries to keep webOS alive
Android "back"
LuneOS tries to keep webOS alive
LuneOS is looking really nice so far
LuneOS tries to keep webOS alive