Interview With WebOS Internal’s Rod Whitby

webos-internals-logoI had the opportunity to have a virtual conversation with Rod Whitby recently.  Rod is the founder of WebOS Internals and very active in the webOS open source community.  It’s pretty safe to say that WebOS Internals led the way to the first homebrew on the Pre and that they continue to play a critical role in the distribution of homebrew apps, patches and themes.  I invite you do drop in on the conversation:

First off, can you tell us a little bit about yourself?

I’m a Computer Systems Engineer by profession, live in Australia, and have a long-standing involvement in open source projects.  I work with both hardware and software, and most of my open source involvement has been related to firmware for embedded consumer devices.  In the last 5 years, I founded and lead the NSLU2-Linux.org project (PDF presentation), and when the Pre was announced I founded the WebOS-Internals.org and Preware.org projects.  I have used Palm devices since the PalmV, and my current phone/PDA device is a Treo 650 (I do not yet have a GSM Pre, and the CDMA Pre that I do have does not work as a phone in Australia).

When you first learned about the Pre what was it that excited you about it?

I have been looking for a phone that allows open source customisation for a long time.  I was involved in the OpenMoko project, and have a number of Neo 1973 and Neo FreeRunner development devices, but always preferred the physical keyboard of the Treo 650.  So I was looking for a Linux-based phone with the same format as the Treo 650.  Upon realising that Palm was embracing the strategy of an open device, I immediately took interest, and started WebOS Internals as a means to gather and collate the information that was being uncovered as people explored webOS.

preware_2009-23-11_160538Rick Boatright said that the Palm Pre open source community came together very quickly.  Did that surprise you?

I think the speed at which a community comes together depends a lot on the environment and structure that is put in place to enable that.  I had a lot of experience in facilitating open source communities from the nslu2-linux.org and openwrt.org and openmoko.org projects, so I had a good idea of what has worked in the past and what has not.  An IRC channel and an open Wiki is the baseline of what you need.  Then you need source code repositories and a culture of sharing information openly rather than hoarding it for personal benefit.  That culture is pervasive throughout the Linux community, but definitely not so pervasive in the mobile applications or gaming platform hacking communities (where you get multiple groups trying to show that they are somehow “better” than other groups).

You need to be inclusive of contributors of any kind, whether they be designers, coders, wiki editors, or just people that hang out in the IRC channel and help new people.  Some projects focus too much on the code alone, and forget all the other aspects that are required to not only advance the development, but also to publish the results of that development in a form that can be taken up by the wider community of users.  So the speed at which WebOS Internals came together was not so much of a surprise to those who’ve come from similar style projects in the past.

I imagine you were pretty disappointed to hear that the Pre wasn’t (officially) coming to Australia.  How did you come by the the CDMA Pre?

I was expecting a delay before an unlocked GSM Pre was released, and perhaps even a further delay before it was available from Palm Australia.  But the news that Palm had effectively pulled out of Australia altogether was a bit disappointing.  I was able to do quite a bit of investigation and development on the Emulator, but there are some things for which you just need a real device to experience.  One of the community members in the IRC channel started a donation drive to purchase an off-contract legitimate CDMA Pre for export to Australia so that I could use it for development.  In less than a week a Pre was purchased (after another community member checked out the ESN to make sure it was “clean”) and was on it’s way across the Pacific.

There was a running joke at the time that I might open the package, hold the Pre in my hands for the first time, not like the feel of it, and abandon the project as a result   Even though the CDMA Pre is not useable as a phone in Australia (which is exclusively GSM/UMTS like most of the world) I have still been able to use it at home and at work on WiFi and get a good feel for how it operates.

I take it then that you liked the feel of the Pre?

Yes, it feels good in the hand.  The keyboard is not as good as the Treo 650 that I am used to, but I expect I’ll get used to that over time.  The GPS on the CDMA Pre does not seem to work in the Southern Hemisphere when you have no carrier assistance data, so I haven’t been able to get a feel for that aspect of things yet.  I like the concept and implementation of the touchstone (I actually have two of those now).

preware_2009-23-11_160614What webOS-Internals development are you most proud of?

I personally have invested most of my time and effort into creating an open standard advanced homebrew ecosystem, where authors can submit their applications to their choice of submission site, and users can use their choice of installer, and every application from every author is available to every user.  There are over 1000 packages (applications, themes, patches, services, plugins, linux utilities) available in the open standard package feeds at http://ipkg.preware.org/feeds/ and these packages are available to any installer utility that partakes in the open standard advanced homebrew ecosystem.

Most users see the results of this work as the packages available for installation by our Preware application and the online repositories accessed by the WebOS Quick Installer and PreLoad tools (which are both examples of tools developed by other groups who collaborate in this open standard homebrew ecosystem).

I’m especially proud of the WebOS Internals developers who took this concept and did a thorough design (from a usability, security, and interoperability point of view) and implementation of the Package Manager Service and the Preware application.  The recent introduction of the Pixi hardware, and the upgrade to webOS 1.3.1, has shown just how important it is to take a holistic and forward-looking approach to the design of critical pieces of software like the Preware installer.  Preware supported webOS 1.3.1 on both the Pre and the Pixi on the day it was released, and is still the only installer tool able to apply webOS patches on the Pixi.

Palm has been very receptive to the homebrew community.  What’s your impression of Palm’s position on the patching and theming community?

Initially, we had no idea how the activities of the WebOS Internals group would be seen from Palm’s point of view.  However, from the very start we determined that we would be a development group that places an appropriate importance on complying with legal agreements, copyright laws, and carrier terms of service.  We also determined that the security of the platform would be a driving factor in any development decisions we made.  It is for these reasons that Preware does not allow installation of packages from a random URL on the internet, and the WebOS Internals Meta-Doctor requires an end-user to customise their own copy of the webOS Doctor files rather than illegally distributing already modified versions, and modifications to webOS are distributed as patch files rather than as complete copies of the proprietary Palm source files.  In just the last few weeks, we have seen the impact of poor security decisions on people who are affected by the iPhone Worm.

From informal discussions with various people at Palm, we are glad to know that Palm respects the fact that WebOS Internals has these principles, and whilst they obviously cannot officially sanction or support the types of advanced modifications we do to webOS, we do know that they appreciate that some structure and safety has been put in place around things that would have happened anyway with such an open platform.

Not too long ago Palm announced that they’ll allow developers to self-certify their applications and receive a download URL.  What effect do you think this will have on homebrew development, if any?

I think that self-certification of applications and Palm-determined download URLs will streamline the deployment of “normal” webOS applications to the user community.  From a Preware point of view, we will approach that just like we do for any other package feed: we will aggregate it alongside all the other sources of homebrew applications (PreCentral, WebOS Internals, etc) and make it available for users to install in one place through Preware.  Since the URLs will go through Palm’s servers, it should not impact the security of the platform (Palm can simply pull any rogue applications by making the URL no longer resolve).  We don’t believe that “advanced” homebrew packages (like services, plugins, themes and patches) will be suitable for (or accepted by) the self-certfication process, so there will always be a place for “trusted” community-managed repositories of such packages.

Where do you see homebrew and patch development heading over the next year?

WebOS Internals developers (I am just one person amongst a team of many) are focusing on applications that take advantage of custom Java and C services (an unofficial “Native SDK”) to achieve things that normal homebrew applications can not do using the official Palm APIs.
Examples of applications that use custom services are Preware itself, the Terminal application, the wIRC application, and the up-coming Backup Utility and Video Recorder applications.

On the patching front, we hope there will be a trend towards consolidation of patches with more user preference options, rather than an explosion of individual slightly-different patches.  This is one reason why we are proponents of the MIT Open Source License for patches, because it not only allows Palm to incorporate the patches into webOS itself without fear of incompatibility with commercial concerns, but also allows developers to consolidate multiple patches into a single “multi-mod” patch with the same flexibility as all the individual patches combined.

What advice do you have for developers who want to get involved with developing patches for webOS?

Create your patches on the Emulator, not on your phone.  Once a developer has used their webOS skills and knowledge to modify the files, the process for creating the patch file is well-known in the Linux development world.  This knowledge and process needs to be transformed into tools that webOS developers with no previous Linux development experience can use to easily submit and maintain patches.  There are plans underway to make the submission process for patches more streamlined and integrated with the existing homebrew community resources.

preware_2009-23-11_160558Are you comfortable recommending Preware to  people who are not technically savvy?

Once Preware is installed (and some great instructions for installing Preware have now been developed at http://install.preware.org), it is very easy to use, and as long as people remember to uninstall themes and patches before a webOS update then we believe it is the easiest and safest way to install, update, and remove packages that improve the functionality of their phone.  The original UI design for Preware was actually reviewed using paper mock-ups with a focus group of “mature” non-technical users before a line of code was written.

What’s your favorite pizza topping?  I hope it’s not kangaroo…

Chicken (free-range), capsicum (that’s green bell peppers in the US I believe), mushrooms, onions, pineapple and sweet chilli sauce.

Thank you very much for taking the time to answer these questions!

Thank you Roy, and thanks to all the developers and users that make the webOS community so great!

Leave a Reply