The Palm Pre

On June 6th 2009, Palm released their first smart phone featuring a non-Microsoft OS to support true multitasking. That all by itself isn't such a huge deal even though stalwart Palm fans have wanted that exact feature for years.

The real news is that it's new operating system, WebOS, is totally Linux based and appears to be significantly more open than Google's Android or certainly the bsd based OSX variant used on the iPhone. Even better for Palm and it's fans, WebOS has a feature base and attractiveness that even the iPhone's OS can't best. Compete with, yes. Get the better of, no (at least according to most of the reviews i've read).

Now, I must admit some bias because I have been a fan of Linux and it's usage since mid-2002. That said, I'm not particularly impressed with Android. WebOS is much slicker, and in my opinion the differences in openness are stark. I will be looking at webOS as it stands, not in comparison to anything else.

In this spirit, I have talked with some of the hackers currently working away on the Prē through #webos-internals on Freenode, and i'm very impressed with the device's OS and what has already been discovered less than two weeks out.

The amazing things these early adopters have been able to discover is in a large part due to a purposeful openness Palm has built into their OS. Not only is gaining root access to your device trivially simple (see the video below) but it's not something that you break into - in other words, Palm specifically decided not to keep us out. This is a major difference between Andoroid or iPhone OS and webOS - It's totally OK to hack. The connection to the developer's computer is done using a utility called Novacom, and that, too, comes directly from Palm. This communication method is expected to be identical to what will be used in Palm's own SDK, which is still only available to private parties while palm works the kinks out. However, while palm un-kinks its tools, the community is hard at work documenting the new operating system as best they can on predev.wikidot.com

In fact, some Palm employees have unofficially acknowledged the hacking / homebrew community, and they have given them only one rule: Don't disclose or discuss any information regarding tethering, because then Sprint would probably complain to Palm, and then Palm would have to shut the homebrew community out. On top of this obvious hat tipping, I was told that several Palm employees actually frequent the homebrew IRC channel. Essentially, they have been told this: Have Fun!

While Palm has no official stance and everything the community is doing is completely legal, There is always the possibility that Palm could change their mind and try to tighten things down. Doing so would be like shooting themselves in the foot, however, and nobody likes doing that.

So it would seem that Palm wants us to look at their OS, and probably then do what the open source community does best: make great applications. One question remains, however: what have they found so far?

Essentially what they have found appears to be a Linux hacker's dream come true. It is a full fledged Linux OS with a real unix userspace. This includes a package manager, vi, rsync, cron, awk, and sed, and basically whatever else is in busybox. Nearly everything else you might want can be installed in /opt, including ssh, python, perl, and others using a tool called ipkg following the directions here.

According to IRC user bdumm, there are about 1700 packages already available pre-compiled (no pun intended) for Palm's webOS and made available by OptWare. This doesn't mean native prē applications that function using it's deck-of-cards style GUI. Linux-native console applications that run in the background work fine, however graphical applications currently must completely overtake the device's screen to show themselves, disabling the webOS user interface while you use them. While this is certainly not optimal, the community is still learning about the GUI and how it works.

One (probably well informed) opinion on how it works is that basically the entire GUI is webkit based, and it has hooks into the operating system below using a custom plugin infrastructure. All the apps that have been looked at except, perhaps, Classic (the palmOS emulator), have been written using javascript, css, and html. While this sounds limiting to some, it is important to note that all of palm's own apps are written using this API as well, and they are absolutely impressive. Also important to note is the fact that this isn't your normal run of the mill javascript - Palm has built in APIs designed to communicate with all of the important subsystems of the device, and all of the important software stacks. So while the language and interface are written using web standards, the user experience does not have to be the standard web.

In order for everyday, run-of-the mill Linux software work on webOS without modifications, a system would need to devised (and Palm may be working on it) to allow direct framebuffer access from the applications, or maybe the X11 protocol, to draw inside a card in the GUI. This would allow a normal binary app to appear just like a standard webOS application. The process to get to this point is not quite as homebrew-friendly as the rest of the OS it seems: webkit and thus the GUI toolkit itself, is binary. Another possiblility for binary applications is to follow the path that Classic has according to current understanding: a javascript app for the GUI that connects to a binary application that runs on the underlying OS using an API designed for that purpose.

Although modifications to webkit itself would be open source, any plugins may not have to be open. This is both good and bad: On the one hand, all of webOS's applications must use the native GUI toolkit for drawing. That means the applications will all sport the same interface unless someone goes far out of their way to draw things differently. On the other hand, applications that process raw data like video or numbers in ways the javascript API doesn't allow for will likely have to do it inside their own code. Performance for these sort of operations would be much slower than a compiled binary would be for the same thing, even if they are dynamically compiling the javascript code.

Although it has been less than two weeks so far, the Palm prē and its webOS operating system have generated a large wake and a similarly large following. It's a great device from a typical user point of view, but it doesn't stop there. As more is discovered, and especially after the SDK becomes available, the prē may well surprise us again soon!

Trackback URL for this post:

http://intellilinux.info/trackback/29

royal canin kattenvoer

De eetgewoonten in het verleden zijn van grote invloed op voedingskeus van katten. Bovendien reageren katten zeer gevoelig op de struktuur van de voeding verschillende smaakrichtingen nemen ze echter bijna niet waar

Comments

answer this topic

According to my own exploration, millions of persons all over the world receive the loan from different banks. Hence, there's great possibilities to receive a financial loan in any country.