Palm Pre SDK != 'Web Apps'

Palm opened up their webOS SDK for the Palm Pre on July 16th, allowing anyone to check it out and start developing applications for the Pre. However, some developers are finding problems that prevent them from bringing their applications to the device. Craig Hunter, an iPhone developer, writes:
In my quest to re-experience the early days of app development on a new mobile platform, I didn't rewind one year like I was hoping -- I went back two years, back to the days when we could only develop web apps on the iPhone. I wrote this piece back then, bitching about the limitations of web apps on the iPhone. It seems we're right back in the same boat with webOS.
He specifically laments the lack of OpenGL|ES support and the accelerometer data being too inaccurate (currently limited to four readings per second). He raises some important points, with the above major stumbling blocks for those thinking of writing games, but he's wrong in saying that the Pre is akin to iPhone's web app 'SDK' as it was presented back at WWDC 2007. Palm's apps aren't web apps; yes they use javascript and HTML, but they tie into the system services with such. There is no other 'native' API; all applications, including the entire system shell, are built the same way and have the same capabilities. Really, Craig's found out that the Pre has (in effect) a sandbox for applications, and, if you think of it, it's not unlike the iPhone SDK sandbox. Bloggers lambasted the original iPhone SDK for providing only a baby subset of the actual features of the iPhone. Has it stopped growth, or a booming 65,000 app market with 1.5 billion unit sales? Of course not! Palm's lack of developer access to certain functions is a mere by-product of the immaturity of the platform. The reason there is no OpenGL|ES support on the Pre is because the Pre doesn't have an OpenGL|ES graphics driver. Currently the entire OS is using software-based drawing and animation (using directFB I believe). This is why webOS isn't as smooth as the iPhone in its animations or scrolling. But this is merely a software limitation, which will no doubt be improved upon with software updates. Palm has also proven that they're a much more open company than Apple in all their dealings with the Pre hacking community, which has impressed me to no end. I fully expect them to keep adding great features to their SDK and listening to the developer feedback. I do believe the accelerometer issue above to be an oversight; it's far more likely that Palm only envisioned game developers using the accelerometer at higher refresh rates, and the Pre wasn't initially designed for gaming, more being a re-imagining of Palm's canned Foleo project. That's not to say the Pre will never support gaming; the GPU in the Pre hardware is a damn good PowerVR SGX 530 chip, of the same family as that in the iPhone 3GS, just with a lower maximum polygon/sec count. As soon as there's a proper driver in the OS, and WebKit is re-tooled to use the GPU for its rendering, we should expect some really awesome updates to webOS. It's just a matter of time…

5 comments:

  1. Yeah, though Craig had some good points, the Pre situation now isn't anywhere near as bad as the iPhone was 2.x years ago.

    But... I've got to say,

    It seems like a definite lack of foresight on Palm's part not to write or acquire a software driver. I mean, they chose to use that chip. They saw what was happening with the App Store. I mean, how does writing a driver for the chip they chose to use not get put pretty high on their to-do list?

    ReplyDelete
  2. @Jeff LaMarche I agree, I think a proper hardware driver is a must, but I'm coming at this from the Apple point of view; they've used OpenGL as the base of all their platform UIs for many years now.

    Other phones in general do not; Android's graphics are mainly software based, even though there is an OpenGL|ES stack. Nokia doesn't use OpenGL for their UI either. We can forget Windows Mobile and Blackberry.

    Hopefully the other manufacturers will pick up the slack in time, but it certainly testifies to Apple's robust graphics stack. From all I can see, Palm is trying to be a better Apple, so hopefully they'll investigate a true OpenGL|ES-backed UI for the entire OS.

    ReplyDelete
  3. Minor point:

    "There is no other 'native' API; all applications, including the entire system shell, are built the same way and have the same capabilities."

    Not true. Classic is a native application. One of the first files you need to create a webOS app, appinfo.json, even has a required type tag where you choose between "web" and "native".

    Palm doesn't have a *public* native API yet, but it's in there.

    ReplyDelete
  4. @Anonymous Classic is a WebKit Plugin; the plugin is included as part of the OS when you buy a Pre. The Classic 'app' is just a thin front end to said plugin.

    Virtually all it does is display an embed view and a few other minor things.

    So no, Classic is not a native application.

    -S

    ReplyDelete
  5. Steve, do you have the WebOSDoctor "jailbreaked" availble for DL? I am not able to do the mod's myself, and i have a Sprint PRE here in NL. Hope you can help?
    Richard (richardrsb@gmail.com)

    ReplyDelete