“WebKit remains not ready for prime time, because the Web cannot deliver yet.”
– Paul Mercer, creator of a non-Web OS
There has been a lot of chatter over the article on the HP Touchpad flop, which conflates success of the Touchpad with the success of webOS and even gets into anti-Web territory.
I do think that the HP Touchpad was doomed, mainly due to how it was released before ready, with the hardware of an iPad 1. It wasn’t fair.
The sad thing is that there is a great story behind the rise and fall of Palm (and webOS). I wasn’t there for all of it, but learned a lot from stories… and my time in the belly of the beast. Palm was a juxtaposition for me. On the one hand I met phenomenal engineers. They were hard working (working all hours of the day for my entire time there, and I know beyond), and cared a lot. Many of them came from Apple, and other great companies. Some folks are posting that Palm should have hired better caliber engineers, and that is just wrong….there were plenty there. The fact that they shipped webOS in the timeline that they did amazes me. The other side of the coin is one of dysfunction throughout the company. Going up against iOS (and later Android) was a tough proposition, but I really think that we coulda been a contender, and we shot ourselves in the foot time and time again.
The New York Times article quotes Paul Mercer heavily. It is important to know where those quotes are coming from. Paul is a technologist who left Apple to create the Pixo OS (which sold to Sun) and later created technology that Palm acquired. This was not webOS as you know it. It was a Java based operating system (hand written JVM!) with a proprietary XML dialect for layout. Does that sound familiar? (I have seen Paul and Andy Rubin together in Los Altos many a time :) Can you imagine if Palm came out with a new OS that was basically Android, but not Android? It would have flopped. Instead, imagine a brave engineer hacking WebKit as the head to the system…. and suddenly you have webOS. There was a reason that people were excited when Palm announced webOS. The user experience was superior to iOS of the time in many ways (cards, network sync, multi-tasking, etc). For developers, especially Web developers, in theory they could write web apps that would live in this beautiful UI.
In practice, I admit that there were real issues. webOS 1.0 was more like a beta. Timing required that it just had to ship, but the performance wasn’t there and it was buggy. The article also mentions the return issues on the hardware. If you think about it, this is beyond a bummer. Apple has their own stores that customers can’t wait to go to. When you walk in, the experience is all Apple, and you will walk out with some of their product. Contrast that to where webOS devices were. I don’t know about you, but I never enjoy walking into carrier stores, and even in retail venues such as a Best Buy…. you are surrounded by competitors product. If the sales force sees a large return rate, they will push people to buy something else. I remember going into Sprint stores asking for a Palm Pre and being told “hey, get a Blackberry instead!” That was an immediate “uh oh” moment for me. The sales channel was poisoned. Doom.
With the early webOS releases, there were scrambles to fix issues on software and hardware, and then a classic second system syndrome kicked in. Many shortcuts were in place, so people wanted to go in and fix those problems and “build it right”. There were some real core architectural issues to be fixed here too (no sandboxing of apps so any bad code could mess up any other bad code, a lesson not learned from Pixo) and “fixing” these in a performant way is far from trivial! Needless to say, webOS 2.0 came waaaay too late and didn’t fix the core performance problems. In hindsight it would have been much better to have had a performance tzar who had people sitting with profilers open and fixing the darn problems.
The structure of the teams was also wrong in my opinion. App teams ran all the way up and down the stack, and there was no real platform. At one point there was a VP of Developer Platform that didn’t have direct reports that mapped to the platform itself!
So, there were a ton of core issues, from market timing to executive decisions etc… but none of these meant that the Web wasn’t up to the task.
Brendan Eich mentioned that B2G already has 60Hz flicker/tear-free panning/zooming using HTML/JS/WebGL. and that isn’t on bleeding edge devices. It is hard work to pull this off. Apple has a core system that is optimized for this, and they have to work their arses off to keep it solid (I am sure), and Android still has a ton of issues here, even with dual-core systems. It is naive to think “all you need is GPU acceleration!” and that there are other silver bullets. Blood, sweat, and tears is still needed. When you have a GPU in the mix, you have to worry about moving data between CPU and GPU… and using both in an optimized way. iOS views map nicely to GPU textures which is great, and can help a lot at the architecture level. Another great example is Kinoma. This crew came from the Quicktime and Carbon teams of Apple. Check out their demos and then think to yourself…. this is all done in software. Videos playback beautifully and when you minimize them they keep playing as their shrink into the icon location. Amazing. Again…. blood, sweat, and tears… on low end devices.
Don’t get me wrong. A Web runtime is a tough proposition. The Web wasn’t built to be an app platform, but its evolution is fast. Core platforms such as WebKit, and V8…. with standards such as WebGL and hardware accelerated graphics, make it better than ever to pull this off. But those who poo-poo the Web as “just a document platform” miss the great things about the Web. This is where webOS missed out. It was a Mojo platform more than it was a Web platform. We tried to change that and get functionality into the Web platform layer rather that in the “user land” of Mojo.
If we brought a true, reliable, performant, Web platform with the great UI of Matias and friends…. webOS wouldn’t be in the hands of Meg right now.
Great engineers, such as the Enyo team, keep the torch alive. Being able to create an Enyo+PhoneGap application that can deploy to iOS and Android as well as webOS is key. I keep harping on PhoneGap Plugins as a way to get into the land of native when needed… and it *is* needed. Android WebKit and even iOS WebKit are not there yet. At Walmart we build native+Web hybrid applications for a reason, but in my heart I long for someone to come along with a true Web runtime that lets developers write to a standards-based multi-vendor platform that no one company owns. Democracy is messy, but the Open Web is worth it. Don’t read one article and think that it can’t be done.
We often love to focus on the mistakes. The things that “went wrong”, but there is a lot that went right too. To truly learn from the rise and fall, it is important to know both sides.
January 2nd, 2012 at 11:41 pm
I appreciate your post. It feels like a breath of fresh air after the original article earlier today, which was not well-researched and felt too sure of its own conclusions.
I agree that a focus on creating a great platform for web applications, not just Mojo applications, is vitally important. It was not until I had already been a webOS developer for a year that I realized how easy it was to create an application without using Mojo.
Like you also mention, native is also important. Especially for games, the native development stack should not be overlooked. In messaging for webOS, the PDK has sometimes felt like an after-thought.
It is too soon to tell the eulogy of webOS, but the next steps are important. I hope that webOS continues to grow as a web application platform, and not as an Enyo platform, and that it continues to offer strong support for native development.
January 3rd, 2012 at 12:59 am
Good stuff!
If find the paragraph starting with “The structure of the teams was also wrong in my opinion” a bit difficult to understand (due to its terseness). More details would be interesting.
January 3rd, 2012 at 1:11 am
Thanks for the great insights into what really went down on the platform developement side of things. The way you said “in Meg’s hands” does not sound as if you believe the future holds a resurrection of any sort even if the open sourcing is “done right”. What ingredients would you consider necessary for a real resurrection?
January 3rd, 2012 at 7:14 am
Thanks !!
The palm fanboy in me cried when i read “Palm Pre and being told “hey, get a Blackberry instead!” That was an immediate “uh oh” moment for me. The sales channel was poisoned. Doom.”
January 3rd, 2012 at 1:47 pm
Thanks for this!
It’s cathartic to hear an informed retelling of the WebOS story with both pros and cons (vs just the cons). For too long I was the sole torch-bearer of WebOS and it’s unique potential amongst my skeptical tech friends. The bittersweet consolation was that when I finally moved on to iOS – after 2+ years with an original Pre – the most dominant and compelling UI advantages of WebOS had been adopted by Apple.
I look forward to the spiritual successor to WebOS, though it’s tough to see in this fiercely competitive mobile environment when or from where that might originate.
January 3rd, 2012 at 3:08 pm
Great insight. Thanks Dion. I agree, the timing was just a bit off (easy to say in hindsight). Also, the real competitor should have been Android, but seems to me like Palm always treated iOS as the primary target. webOS needed more devices and carriers, possibly even OEM partners, but politics got in the way (as usual with US carriers).
Competing with Apple on design & quality is a tough proposition. Early on, there were a number of areas where webOS was superior, but those have faded as iOS matures. Even today, webOS is still the leader (IMO) in UX multi-tasking. The “cards” metaphor is so intuitive.
Hats off to everyone on the webOS team who has given their all. If webOS was less-open, less-innovative, & less-daring, I’m not even sure it, or Palm’s legacy would be around today.
January 4th, 2012 at 1:52 am
Well written describing the whole seen of OS .
Good one sharing, Thanks for the post.
January 4th, 2012 at 4:38 am
Another perspective on the Palm Pre story http://mobileopportunity.blogspot.com/2012/01/why-web-os-really-failed-and-what-it.html
January 5th, 2012 at 8:21 pm
I agree with you final lament “but in my heart I long for someone to come along with a true Web runtime that lets developers write to a standards-based multi-vendor platform that no one company owns”.
Something like Silverlight (without XAML) has alway been possible and I’ve been wating for it since 1996!
There must be some kind of conspiracy – the big players not wanting the web to truly succeed.
January 5th, 2012 at 10:34 pm
Thanks for sharing the inside scoop. As an outside observer I thought there were many business issues that hurt WebOS. From your post I see that there were many technical challenges as well. The key issues in my mind were: Lack of distribution (Sprint exclusive), weak differentiation from the iPhone, and obviously abysmal developer adoption (this last one is more an effect than a cause).
January 6th, 2012 at 8:48 am
This is a great, insightful post.
I was at Palm(Source) during the pre-WebOS years, and I wrote an article for MaximumTech about the Rise & Fall of Palm:
http://www.maximumtech.com/palm-rise-and-fall-legend?page=0,0
It is a heartbreaking story. Thanks for sharing more pieces of it.
– Chris
January 9th, 2012 at 8:18 pm
I think the missed opportunity of webOS was, as the title of the post indicates, that it was not a “Web OS”. HTML, CSS, JavaScript, and all the emerging technologies and standards of the browser do not make web apps powerful – freedom, choice, and interconnectivity make the web platform powerful.
If webOS had made web applications first-class citizens and retained the true power of the web, we’d probably be having a very different conversation.