webOS Q&A Metrix App Mill Forums About Contact Tip Us

Preware: Now and Later, an interview with WebOS Internals founder Rod Whitby

By: , 12/21/2009 8:00 am | 7 comments

If you have been reading the site, you know I am a huge fan of Preware. I firmly believe that if Pre and Pixi owners want to get the most from their phone, they should have Preware installed. It really takes any webOS device to a whole new level of awesomeness. Tomorrow I will have a video that gives a walkthrough of Preware so that people new to the idea of homebrew can become more comfortable with using this great piece of software.

Today, though, I am really excited to present a recent interview that I had with the founder of WebOS Internals (the creators of Preware) Rod Whitby. He was great to chat with, and is obviously very passionate about the platform as you can see below. So with that, here is the interview.

First off, thanks for taking the time to answer some questions today. I am a huge fan of Preware and WebOS Internals in general so it is a real thrill to be able to pick your brain a bit.

You’re welcome.  I’m happy to give your readers some additional insight into Preware and WebOS Internals.

preware_2009-18-12_172617For those who have no idea what this whole Preware thing is, could you give us a brief overview of the app and the role it serves the Palm community?

Preware (http://www.preware.org) is an advanced homebrew package installer.  It not only installs webOS applications, it also safely and securely installs themes, patches, plugins, services, and other linux command line utilities (we collectively call these things advanced homebrew packages).  It is safe to say that Preware is the only on-device homebrew package installer that you will ever need.

But Preware is just the front-end to a much larger thing which I call the open standard homebrew ecosystem.  This is the infrastructure, standards, processes, tools and people which allow any author to submit a homebrew package to any site (PreCentral, WebOS Internals, PreThemer, etc) and have that package be installable by any user running any installer program that subscribes to these open standards of package management.  Examples of such installers currently include Preware, WebOS Quick Install and PreLoad.  Whilst fileCoaster holds a special place in the history of webOS homebrew installers, it is not capable of installing advanced homebrew packages.

I read in an interview you did recently that you have been a big proponent of open source and have been involved in several projects in the past. What inspired you to start WebOS Internals and get on the Palm bandwagon? What “hole” were you trying to fill with Preware initially?

I’ve been a Palm PDA and Treo phone user for many years.  I was looking for a replacement for my ageing Treo 650, and noticed that Palm’s new webOS operating system was based on Linux, and that Motion Apps were developing a PalmOS emulator for use on webOS devices.  This gave me a convenient upgrade path from the Treo 650 to the Linux-based Palm Pre.  However, the Pre was not available in Australia, so I had some time to spare before I could purchase the device.  I decided to use that time to make sure the Pre would be the best and most open device possible by the time I was able to purchase one for my own use.

So I started WebOS Internals (http://www.webos-internals.org) with the intent to foster a community of developers (mainly open source developers, but more importantly open information developers) to gather and organise all the information about what happens “under the hood” of a webOS device.  WebOS Internals quickly became the focal point for the collation and documentation of all the discoveries that a large group of developers and experimenters were making about all the things that happen behind the official API that Palm publishes for webOS application developers.

However, it soon became clear that there was a gaping hole in the organisation of homebrew applications, and that such important topics as security, and the safe and reliable upgrading and removing of homebrew packages, were not being addressed.

With the assistance of the major homebrew submission sites (e.g. PreCentral.net and PreThemer.com), the developers of the other leading homebrew installers (WebOS Quick Install and PreLoad), and other WebOS Internals developers, I embarked on a crusade to develop a set of common standards for the packaging, distribution and installation of homebrew packages, and an architecture for an open standard homebrew ecosystem in which the developers and users could both participate equally without being locked into a single submission site or a single installer application.

I named this ecosystem “Preware.org”, and put in place (using hardware purchased by donations from the nslu2-linux.org community, and hosted at the Oregon State University Open Source Laboratory in the same server rack as master.kernel.org), the infrastructure for aggregating and publishing package feeds conforming to these standards.

But an open standard homebrew package ecosystem is not enough – you also need a powerful but convenient way for users to install these advanced homebrew packages over the air.  So I explained the Preware.org concept to a number of the WebOS Internals developers, and together we designed, implemented and released the Preware advanced homebrew package installer.

preware_2009-18-12_174830
Ok, so Preware is a veritable treasure trove of goodies. When you open it for the first time, it is easy to get a bit overwhelmed. Could you give us a description of all the various packages so people can get a feel for what to expect when browsing through them?

Certainly.  Preware can install absolutely any type of package available for webOS devices, including:

  • Application
    • These are the normal webOS applications, just like you would find in the Palm App Catalog.  These are developed by hundreds of individual homebrew developers, and are mainly submitted through the homebrew gallery at PreCentral.
  • Linux Application
    • These are additional Linux-based applications that do not have a normal webOS GUI interface, such as the Emergency Patch Recovery tool and the MvApp tool.
  • Optware
    • Optware is a set of Linux command line packages developed by the nslu2-linux.org project over the last 5 years.  Optware supports many different consumer embedded Linux devices, from routers and network-attached storage devices to smartphones like the Palm Pre.  There are +1600 linux command packages that can run on the Pre hardware, and the Optware category in Preware is just a very small subset which have been packaged up specifically for easy installation on the Pre by end-users who have no previous Linux experience.  The Optware section in Preware includes such packages as the OpenSSH server for secure access to the Linux command line and filesystem, and the Nano editor for editing files in Linux.  There is also an installer which provides direct access to the 1600+ optware Linux command line packages.
  • Patch
    • Patches are the means by which end-users can make safe, reversible changes to the webOS operating system. The 150+ patches available in Preware are developed by many different authors in the webOS community, and are submitted to WebOS Internals where they are checked against various security and stability criteria and then packaged using our Auto-Update Patch Technology (AUPT) which allows for easy and safe installation, upgrading and removal of modifications to the running webOS environment.
  • Plugin
    • Plugins are the means by which webOS applications can access sophisticated native functionality that cannot be implemented using Javascript.  The Motion Apps Classic application, the Palm PDF reader application, and the Palm Media Player are all examples of such applications. WebOS Internals developers have worked out how to create such plugins, and the plugin which supports the Terminal application is the first example of this.
  • Service
    • All webOS developers will be familiar with the Mojo services that Palm provides as part of the official webOS API.  WebOS Internals developers have worked out how to create custom services that can extend the facilities available to a webOS application.  The Package Manager Service used by Preware and the File Manager Service used by Jason Robitaille’s Internalz application are examples of custom services.
  • Theme
    • There are over 750 themes available in Preware, all created by hundreds of individuals who wanted to give their webOS device that personal touch.  WebOS Internals developed the mechanism by which these themes could be packaged and distributed, and Preware.org aggregates themes from both the PreCentral.net and PreThemer.com sites.
  • Unknown (this one in particular seems a bit daunting)
    • If you have packages in the Unknown section, then you’ve forgotten to enable the “Fix Unknown Types” preference (this will be enabled by default in a future version of Preware).  Preware usually gets all the information about installed packages from the open standard homebrew package feeds, but because Palm does not allow access to the App Catalog package information, then Preware needs to look at the contents of those packages to display information about them.  The “Fix Unknown Types” preference enables this additional search for information about packages that are otherwise unknown to Preware.

You recently posted a detailed roadmap giving a glimpse of the future of Preware. What upcoming features are you most excited about and why?

I’m currently working on the infrastructure, processes and tools for the creation and installation of signed homebrew packages.

To keep our webOS devices secure, we need to make sure that no rogue malware is installed.  The current deterrent is to only install packages from preware.org package feeds (not from some random package URL from an obscure internet site), and to present any installation scripts to the user for explicit consent before they are executed (since these installation scripts have full control over your webOS device when they are executed).

But this is very inconvenient when you want to install or update lots of patches.  So we’re developing a secure authentication mechanism which guarantees that the advanced homebrew package you are installing comes from a trusted source (such as WebOS Internals, or one of the other well-known members of the webOS development community) and has not been altered in transit.  This prevents some fly-by-night malware author using social engineering to persuade users to install some advanced homebrew package that will snoop your web browser for internet banking passwords.  Signing of advanced homebrew packages not only provides better security, but it also makes installing such packages much more convenient – that’s a win-win for users.

There is also a new packaging technology for patches in development which will (in the future) remove the need to uninstall all your patches before a webOS update.  The combination of signed packages, auto-update patch technology, and a new “Update All” button in Preware will make webOS update hassles a thing of the past.

Are there any other features you didn’t cover in your roadmap that will be coming up in future releases?

At some point (after the release of Preware 1.0.0), we intend to transition to a completely rewritten Package Manager Service to allow better feedback to users during the installation process (especially when updating feed and downloading packages).

WebOS is still in its infancy. As someone who is intimately familiar with the inner workings of the SDK, what are your favorite features? What do you hope Palm makes available to developers in future releases?

My personal favourite feature is the fact that webOS runs on top of the open source Linux operating system.  I hope that Palm soon makes available drivers for the Graphics Processing Unit that is built into the Pre but is not yet enabled.  I also hope that Palm makes available an official API for the custom plugins and services that WebOS Internals has already developed, and makes available a way for such advanced applications to enter the Palm App Catalog.  We are very pleased that WebOS Internals has been able to maintain a very good relationship with both Palm and Sprint, and we hope that relationship bears fruit in making the Pre even more powerful than it is today.

preware_2009-18-12_173141I myself have tweaked my phone pretty heavily with patches, themes, and other goodies. Even though your phone doesn’t quite work [the Pre was not released in Australia where Rod lives], I imagine you have yours loaded to the gills. What patches and homebrew apps do you have running on your pre?

I finally received a German GSM Pre just the other day, and have finally migrated from my trusty old Treo 650 to the Pre.  My favourite homebrew apps include Preware of course, and the Optware packages that allow direct access to the filesystem and command line over wifi (since I hope to open and close that flimsy plastic micro USB port cover as few times as is humanly possible).  I’ve never had a phone with GPS on it before, so I’m finding the Google Maps functionality on the Pre very useful.  Since there are no unlimited data plans available in Australia, I expect to be creating patches to make sure that the automatic syncing, backup and other background data-intensive operations happen when the Pre is connected by wifi at home or the office, rather than when connected to the volume-charged 3G data connection.

What are some of your (and other members of the WebOS Internals team) favourite apps that are on the official App Catalog?

I’m actually a bit underwhelmed by the applications in the official App Catalog.  A colleague in the US arranged a $25 prepaid Visa Debit card for me so that I could purchase applications, but I haven’t yet seen $25 worth of serious productivity-improving applications worth buying.  My phone is a productivity tool, and I’m looking for applications that increase the versatility of that tool, not applications which reproduce the noise of bodily functions, or applications providing information about sports teams that can just as easily be found on a web site.

Since you aren’t impressed with a lot of the apps on the Catalog, and you use your phone as a productivity tool, what apps do you feel are missing? What would be some examples of apps that would get you excited to purchase them?

One thing that I need is a good world clock.  Something that has the functionality of timeanddate.com, and can be used to book teleconferences with 4 different locations across the world, including 0:30 and 0:15 timezones.

Basically, if the built-in world clock from the Treo 650 was ported to webOS, that would fit my need.

Similarly for the Treo 650 calculator.  There is no calculator for webOS that I can see which allows you to easily enter, add and subtract hexadecimal numbers.

These are examples of how webOS application developers seem to be focusing on “recreational” applications rather than “basic productivity” applications.

Thank you so much for your time today. I really appreciate you taking time out of your crazy schedule.

Thanks for the opportunity.  And thanks to all the developers and users that participate in the open standard homebrew ecosystem and make the webOS experience so much better for everyone involved.

flattr this!


About David Baxter

David is the founder and Editor-in-Chief of webOSroundup. When not toiling away at WOR he is usually with his family, at church, building a website of some kind or another, or playing a video game. @davidbbaxter