Tech —

Reviving the dead: How Android devices are keeping webOS alive

Using open source frameworks to help Palm live on via re-purposed Nexus devices.

A screenshot of webOS running on Android.
Enlarge / A screenshot of webOS running on Android.

There's an old saying that all good things must come to end, but that’s not always the case in the world of technology. A year after webOS was officially shut down, HP opened it up in hopes that third-party developers would continue development. And sure enough, the Open webOS project, established by HP to help further develop the operating system, is thriving—despite the prospect of having no new hardware.

In March 2012, a month after HP announced it was opening up webOS for development, a group of outside developers quietly began investigating the idea of porting webOS to other mobile devices. Many of these developers had been active participants in the webOS Internals group, a homebrew developer organization that formed in June 2009 (shortly after the "Konami code" was discovered, opening up the developer mode in Palm's webOS). So when HP decided webOS was no longer commercially viable, the team immediately wondered if webOS would eventually be set free for developers. “It did not appear that [HP was] going to be creating any new devices,” Tom King, project leader of the webOS Ports group, told Ars. “I think we all liked webOS, what it was, and what it potentially could be in its open source life. We realized that it was a minority OS and, at the time, there really wasn't any other good open source option available to us. Tizen and Meego were having its share of problems finding foothold anywhere.”

The webOS Internals team began working with HP to help release the Community Edition of webOS for the TouchPad. The objective of the Community Edition was to get the "community" code out in the wild, giving developers a chance to familiarize themselves with how the TouchPad hardware worked in conjunction with the webOS software. The idea was the practice time they had with this version would enable them to do more with Open webOS once it was officially released. But this also gave King and the team an opportunity to play with the open source version of the code before it was released to other developers.

HP released the Community Edition release to allow developers to learn how the platform and hardware worked together so that they might apply it to future tinkering in Open webOS 1.0.
Enlarge / HP released the Community Edition release to allow developers to learn how the platform and hardware worked together so that they might apply it to future tinkering in Open webOS 1.0.
A screenshot of webOS on the Samsung Galaxy Nexus.
Enlarge / A screenshot of webOS on the Samsung Galaxy Nexus.

In June 2012, the Community Edition finally went live with the help of the webOS Internals group, and soon after King and his team formally introduced themselves as the webOS Ports team. Next they banded together with folks from OpenEmbedded, a project that provides coding assistance and helps other teams build frameworks for packaging up Linux distributions for embedded systems. They began looking at Android devices as potential targets for the ports.

The fusion team focused on choosing devices that were easy to develop for, featured unlocked bootloaders and redistributable drivers, or could be modified with essential system software available under open source licenses. King and the team wanted to find a device that already featured code for what they couldn't recreate themselves. “There was a large process where we were examining [Android] devices and looking at code that was provided for them,” said King. “Android is a Linux kernel, so there was a lot of work already done in that respect ahead of time. We didn't have to reinvent the wheel.”

In September, after the 1.0 release of Open webOS—a separate release from the Community Edition—the team finally showed off a pre-release Alpha of the software running on a Samsung Galaxy Nexus. “[It was a] reasonable phone, performance and cost wise, so we made the decision to pursue that particular device,” explained King. After that release went live to the public, the team went back to work getting other variables of the operating system working with the device (like Wi-Fi). There were “a lot of people doing a lot of work to make this happen,” King added.

Today: webOS in its infancy

In the last two months, the webOS Ports project has hit quite a few milestones, including working builds for two additional devices: the Samsung Series 7 Slate and the Asus Nexus 7. The Ports project even has 16 people currently working on it globally. For now, the webOS Port runs alongside Android, but future releases will allow tablets to run webOS instead of Android. There’s still a lot of work to be done, however.

One of the biggest challenges for the team is 3D acceleration: when an application is launched and acceleration is engaged, the application fails to get a framebuffer. This in turn causes it to crash. “[Android] uses a single frame buffer, and webOS originally used two frame buffers,” explained King. There are other minor architectural differences between webOS and Android, so the webOS Ports team has a lot of work ahead of it.

webOS shown running on a Asus Nexus 7.
webOS shown running on a Asus Nexus 7.

On the plus side, HP is providing some support for projects like webOS Ports. Though not sponsored by HP, the company has donated servers for webOS Ports and officially approves any changes the team makes to Open webOS.  Also, the project has a “No ETA” philosophy—no one is allowed to announce an estimated time of arrival for anything they’re working on, nor will they comment on any projects they are working on until they actually work. That's why webOS Ports did not make its official debut until four months after its formation.

Although one of the bigger goals for the webOS Ports project is to get a fully-functional beta into the hands of users, King also wants to show the usefulness of frameworks like OpenEmbedded. He believes it's proof that a hefty number of resources isn't always needed get projects like his out the door. “We’re an open source group, we’re not that many people,” he said. “If we can make an effort in X number of months and be able to get things even further along with even fewer people than a full time porting project can do, that’s a good thing.” He added the cost of moving back and forth between platforms in development has usually been very high, but the webOS Ports project proved it doesn't have to be so.

The end goal, however, is to get more users interested in webOS and usher in the new generation of Web developers. “There’s a generation of people that know Javascript and Web scripting and are developing apps based on that because they already know it,” said King. “The consequence is that we need to have a platform that those things run well on, and that they’re designed for.”

To King, this is precisely what webOS was initially designed for. And he still feels it's among the roles webOS fills best.

Listing image by webOS Ports

Channel Ars Technica