This is probably the umpteenth million Palm Pre blog/review, but I’ve had it burning in me for awhile.

I really can’t figure out why people still defend the iPhone.  Or Blackberries. I’ve developed for both.  I would use Symbian devices over both.  The Symbian architecture is much more powerful and was built purely for mobile devices, even if programming for it feels like having a root canal done.  iPhone is powerful, but reminiscent of early Windows CE…feels too much like a clumsily shrunk down desktop OS.  Unlike WinCE, Apple tried to go too far, and discovered that some things were really hard to figure out how to do well on a small screen, so they just omitted those fairly common features and pretended like that was intentional.  (Why did it take so long to support video?  The Treo 600’s could do video in ol’ PalmOS!)  Not only that, but Objective C is not that impressive of a language, and developing on the platform of your choice pretty much means your choice has to be a Mac.

I guess it could be because iPhone is pretty easy to use, and it’s like having a bike with training wheels…it’s probably your first bike, or maybe its just a lot nicer than the total piece of shit you used to use to get around, and you’re excited that you can do shit that most mobile device users have been doing for several years now.  It really is cool and you grow sentimental about things that blow your mind for the first time.  I know I have a much higher opinion of Phillips music players because my first boom box with a cd-player was a Phillips.  It rocked the hell out of every radio I’d ever had before, and I thought “Phillips is an amazing company to make something so rad.”  Then I discovered that Sonys were better.  A lot better.  Then I discovered mp3 players.  But I still kept giving Phillips a lot of credit that it didn’t probably still deserve.  I thought they were the real innovator, but in reality, they were just another player.  I thought this way about PalmOS, too.  First PDA OS I ever used.  I told myself “I’ll never need a laptop, because I’ve got this thing figured out, the Graffiti, the hacks, I can McGuyver it with a modem and get it on the web, and I can freaking program it to do all kinds of things, too.”  I got sentimental.  Then Palm fired the guy who invented the thing, sold PalmOS to the Japanese, and began putting Windows Mobile on their handhelds.  It happens.  If a company doesn’t think they’re making the big bucks, or that platform isn’t bringing enough people into the fold, they fold it and you got to learn to live without it.  It happens a lot more with big companies that undergo restructurings every 10 years.

Blackberry OS does what a phone can do, but aside from being proprietary, it has a butt ugly interface, is not horribly extensible, and is at the whims of MIDP, which as far as Java goes, is a 80 pound weakling.  BBOS just has limiters all over the place AND it’s tied to a sinking ship called MIDP.  I have never been able to do everything I wanted to do while working within the constraints of BlackBerryOS/MIDP and their API.  I always need to do something that I just cannot do, and it’s infuriating.  Not only that, the developer signing bit is weak.  It adds no security to anything, it just allows RIM to have a catalog of all the software apps out there for their phones so they can keep tabs on things.  Palm used to use an ID for apps…but that was mostly to keep apps with the same name from clashing with each other’s databases.  That’s an actual functional use for that.  Digital signing of apps doesn’t really mean a whole lot anymore except that you jumped through some hoops.

I can understand Windows Mobile.  I agree, it’s user interface seems to have crawled out of a mule’s backside, but as a developer, I’ve never used a more powerful toolchain to create solutions before.  Now, it was pretty much suck prior to .NET, but .NET made WinMob awesome.  Making a clean, easy to learn and well supported toolchain is how you make friends with me, even if you are butt ugly. WinMob 7 is supposed to change all that, but I’m still skeptical of that.  Every time Microsoft says they’ve improved the UI, it seems to be less easy to use.

And even though I’ve long been a big Palm fanboy and I fully admit it, I didn’t think they had much of a shot after they mothballed Cobalt (which was a really cool and powerful OS that…well, didn’t support multi-touch and all the things that would have made it obsolete a year after release).   Then I saw a demo of a Palm device running Linux, and thought “what kind of pipe dream is this?”  I had my doubts, big time.  I know linux, and I like linux.  But no matter how much I try, I never can persuade my family to use linux.  They’ll do it for a few months, then quietly get rid of it and not tell me.  Or they just won’t use it and hate me for installing it in the first place and gobbling up hard disk space from their precious Windows.

This isn’t like that.  The only way you can tell you’re using Linux is if you’re using the developer tools.  Palm figured out a way to make linux not look at all like linux…and also be super easy to program for, to boot.

The user interface is a browser.  WebKit, to be exact.  Now, I’m not exactly fond of WebKit, but it is fast and pretty powerful…and there really isn’t a better web browser out there that I could consider would be acceptable for a user interface.  Google wants to do that with Chrome and make GoogleOS, but Google is also a company that has to make money on these products, and I know they will find a way to do so that will creep me right the hell out.  They don’t use software to sell the hardware like Palm does.  They make money on software and web services and advertising, and I’m sure that its only a matter of time before Android and GoogleOS, provided they make enough of an inroad into the mobile user base, begin to work their money making bloatware in there so their shareholders don’t get anxious.

Developing for the Pre is as easy as it gets.  If you know how to make a webpage, if you know a little CSS and javascript, you’re most of the way there.  They have an API that lets you hook into the stuff you need, and everything else, you do in xhtml and css.  You can do it in any editor you like, as these are fully open standards, and there are tutorials all over the place.  All you have to really learn is how to call out the api (which is not too different from other Javascript APIs, like JQuery and Dojo), and you can make full featured apps.

So you’re sitting there thinking “well, how do you make games?”.  Aside from the fact that Flash will most likely come to the Palm Pre’s platform (webOS), which means any old flash game on the web is fully portable…there’s a guy who took and made the classic 3D ID game, Wolfenstein 3D, for the Pre.  There’s a whole lot you can do with HTML5 that you’ve never been able to do with HTML before.  Ajax is a powerful way to program, and most sites are just scratching the surface of what this methodology/scripting language can do.

But that’s not all.  This thing is running on Linux.  Linux has been around now for almost 20 years.  There’s a whole lot you can do on Linux that you can do on Windows and MacOS.  That said, this will make porting apps between Android and Pre probably pretty simple.  Not only that, there’s an emulator that will run a whole lot of the old Palm OS apps fairly well.

So you say “but where’s the apps?”  Well, this thing was just released last month.  It takes some time.  However, there were hundreds of thousands for the old PalmOS platform, and already in the last month, after the first round of code camps, there are well over a hundred up on the “unofficial app store” known as precentral.net (which has a very useful app you can download to hook into their site and download the other apps just like you would with an app store).  But that’s certainly not all…Palm just opened up the floodgates on their own official app store, and I’ll say this…if you can get it there, do it.  It’s worth it.  The updater for webOS is very slick…it won’t just update your OS like windows update will, it updates your apps you downloaded from the app store as well!  And it’s FAST.  Your apps are basically complex scripts that pull their content from the net, so downloading new apps usually takes just a couple seconds.

Of course, this also means you should really get an unlimited data plan.  However, their initial carrier, Sprint, provides a very affordable unlimited plan.  You can use the built in wifi, though, if you want…it’s probably the most efficient wifi implementation I’ve ever used (although the one thing that makes me crazy is that I can’t save my stupid password for enterprise wireless networks like I have at work…though my solution is to then turn on Pandora and listen to music, use that to keep me logged in, I’d rather not abuse Pandora so much).

The music and media works pretty much like an iPod does.  Not surprising, since the daddy of the iPod is the CEO of Palm, and he’s the guy who laid down the law on how webOS was supposed to work.

One thing I regret, though…that they didn’t release the Foleo.  Or moreso, that they didn’t release the Foleo with the same specifications as other modern netbooks.  This phone made me want to go out and buy a little black netbook (MSI Wind U-100) to use for programming my phone.  webOS, being an open platform, can be made to be “tetherable”, meaning you can open it up and use it as a portable wireless access point when you’re in a pinch.  Therefore, you’re connected through your data plan, so you can do something like write a blog with your netbook, or download something to your netbook wirelessly.  It’s very nice when there isn’t a handy coffee shop with wifi around and you get that urge to write something on the net.  Even so, I’d have loved to have had a Palm branded and made laptop that had some extra functionality to control and tether the phone, or work with the media better over the cable.

When a Pre gets plugged into a computer, it works one of three ways…you can sync it with your media player like an iPod, you can use it like a flash drive and just drop files into its file system, or you can just let it charge up through USB.  Those options are really flexible and make this thing much more usable than you’d think it could.

You can’t really know how awesome it is to multitask on a phone until you find one that does it right.  Windows Mobile did it, but it always felt clunky and unintuitive.  This feels even better than switching tabs in Firefox or IE.  It’s seriously the most intuitive method to multitask I’ve ever seen.  It just makes a whole lot of sense, especially if you’ve got a screen that supports those kinds of gestures.  The analogy to flipping cards and a deck is a very good one, though I’ve never played a card game where I drag my finger one way, and all the cards rotate in that direction.  🙂  But it works and works well.

Another thing about the Pre…it’s the sort of platform where you discover some incredibly useful new trick every so often when you really sit down and use it.  It’s like the developers kind of said “well, they might use it like this, or they might use it like that, so let’s figure out a way to do it both ways”.  It’s hard to explain without having someone really sit down and use it.

I really wish, though, that the voice control were a little further along.  From what I’ve seen, the voice control really isn’t fully integrated as I’d like it to be.  I’d like to see voice control be really easy to add to any application, so I could easily open that app, like Pandora, for example, tell it to log in, tell it the station I want, and have it start working without having to touch the device.  Or have it open a twitter client, log in, and voice dictate a tweet and post it.  It’s a nice thing to be able to do if you’ve got it on the inductive charging touchstone (worth the cash you plunk down in straight up usability and coolness factor), you’re working on your desktop and your headphones are on and you don’t want to go touch the screen.

The build quality of the initial devices had some problems, which made a lot of really stupid iPhone and BB fanboys declare that Palm was already dead in the water.  You see, these are people who enjoy seeing the underdogs fold, crash, and die.  You’d think these are the same kinds of people who also enjoy watching animals get hit by cars, by the way they talk, but I digress.  With all new appliances, build quality issues are very common.  If it’s not one thing, it’s another…and the more risks you take with the design, the more problems you’re likely to have.  It just so happens that Palm took a lot of risks to make a fairly revolutionary design…a bottom sliding keyboard, the magic “pearl” embedded into the bottom of the screen, the gesture area beneath the screen, etc…risks that Apple didn’t even come close to taking (and since BlackBerries feel like they were made for blind 3 year old boys with pudgy, fat fingers, no, they didn’t take many risks either).  But they had problems early on, too.  And they fixed a lot of them, just as Palm is fixing their problems with the Pre right now.  Expect much better units to begin being rolling off the line in the next couple months.

Another knock that the iPhone and BlackBerry fanboys haven’t really been as loud about is the sales knock by the stock analysts.  They know full well that new devices go through three or four phases:  1.  Early adopters who line up at the store to buy the first devices that roll off the lines, 2. The lull as the early adopters figure out if they like their phones or not, while build quality issues are resolved, while services are rolled out, etc., 3. Power users and people whose contracts have run out, or people who know early adopters, Christmas shoppers, whatever…start coming out and buying the device, and 4.  The late adopters, IE, the people who switch because they just get sick of their old phone, start looking into the models.  Well, we’re in the second stage right now.  The early adopters have bought their phones, now things are getting fixed and everyone is waiting to see how things go.  But for some unknown reason, stock analysts don’t seem to understand this very simple process, and if the sales go down for a month, they just jump all over that product.  Especially if they have their egos staked to it and called that product dead in the water to begin with.  And even more especially if they have a phone made by a rival company and might be fanboys themselves…and that unconsciously leaks into their work and causes them to make predictions that end up hurting anyone who dares to invest using their advice.

One last knock is that this “webOS” thing is not a platform, according to Gartner.  It’s just an Appliance, although it’s no longer a “Concierge”.  Well, if the web isn’t a platform for business, then no, it’s not a platform.  If following open web standards isn’t a platform for business, then shucks, I guess it’s not a platform.  Guess the Internet is not something that you can recommend doing “business” on.  I can understand platforms that aren’t extensible, proprietary APIs and third party developer interfaces that are ultimately weighed on the source provider’s internal work to add features and functionality…but then again, .NET is just that, and Windows Mobile is ruled a full on “platform”.  Well, you have to consider that these are business people making this call, and not engineers.  open standards mean nothing to some guy who has no idea how the technology to send email through a server works, but just wants certain features that are ultimately tied into a platform methodology and user philosophy that is set by one company (in this case, Microsoft…which probably explains why their mobile OS, despite being foul to use, is considered a “platform” and thus recommended for business use).  Even though I’ve written a lot of Windows Mobile apps, and every time, my users have a “work phone” and a “me phone”, and that “me phone” isn’t the Windows Mobile phone.  There’s a reason why I have a little love/hate thing with Windows Mobile…every developer wants to make apps that people enjoy to use, but if the platform isn’t a joy to use, you feel like your work is handicapped.

But my golden rule is this:  companies that solely focus on one platform, one device will always make the best device in the shortest amount of time.  A company that makes a device or platform as a side division rarely can do a better job or innovate in the field because the people on top make the calls, and the best people in the company trickle into the projects that make the company the most money.  Mobile devices are, for a lot of companies, a loss leader.  They do a lot of work on a platform and a device, sell it cheap, get a contract going with a carrier to ensure stable income to make up some of that loss, and use that platform to get people to adopt their bread and butter platforms.  Don’t think for a minute that I didn’t think about buying a Mac when I was trying to learn how to develop for the iPhone…but ultimately, I looked at my bank account, took a long look at all the hoops I’d have to deal with, and thought about whether or not the platform would really stick around that long…and went out and bought an Alienware laptop with Windows on it instead.  That may not have been the smartest move, but damnit if I don’t love this laptop.  🙂

Palm’s future rests on this device and their platform.  You can bet that you can get a bit more responsiveness and service when a project is that important to a company.

Leave a Reply