Tuesday, January 20, 2009

Palm webOS

It was hard to know where to start in talking about all the exciting software development prospects for the Palm Pre and webOS. I began by speculating about an eventual Java SDK for webOS, which would be a heck of a left hook to follow the Mojo SDK's right jab. But I'm getting ahead of myself. Even just considering the JavaScript SDK they have already announced Palm has put themselves in an astonishing strategic position that I'm surprised no one is talking about. By building a system using de facto cross-platform standards like JavaScript, WebKit, Java and Jetty, Palm has made a great platform for creating companion applications that can run on any desktop—Windows, Mac, or Linux—leveraging the same code that runs on the handset. You won't see Apple being able to deliver iPhone applications to the desktop like that any time soon, at least not for the 90% of personal computer users that don't own Macs.

Palm has prepared us not to expect desktop synchronization via cable or cradle like what Palm OS users have been accustomed to since the beginning. But the Pre is among other things a modernization of the original Palm concept of having always-on-you personal information management, updated to the reality that much of people's personal information now lives in the cloud. The desktop is still going to be the command center for most people's digital life and Palm knows it. So gazing into my crystal ball, let me tell you how the desktop story will in fact unfold:
LAS VEGAS, CTIA Wireless 2009, Apr 1, 2009 - Palm, Inc. (NASDAQ: PALM) today announced the Palm Desktop Companion, an application that brings to the Windows and Mac desktop the same integrated calendar and contacts found on the Pre smartphone.... Desktop Companion uses [crystal ball is clouding a bit here] to keep your calendar and contacts synchronized automatically without the use of cables or cradles. [Did I make out the phrase "peer-to-peer" when the crystal hazed over in that moment? Or was there a faint trace about a "secure web service"? Oh well, the future is coming through clearly again now.]

SUNNYVALE, CA - May 15, 2009 - Palm, Inc. (NASDAQ: PALM) today announced that the Mojo SDK will not only enable third party developers to write applications for webOS devices like the Pre smartphone, but to deploy the same applications to the Palm Desktop Companion.... "The SDK enables webOS developers that follow some simple SDK guidelines to build applications that 'unfold' naturally on computers with larger screens for the extra ease and efficiency of the full desktop experience" says Palm's VP of Developer Services Horton Hooville.... [The image dimmed for a moment there... not sure I got that name right.]

MOUNTAIN VIEW, Calif - June 23, 2009 - Three days ahead of the scheduled release of Palm's Pre smartphone, Google, Inc. (NASDAQ: GOOG) announced the release of GMail and Google Docs for the Pre as well as for the Palm Desktop Companion.... This announcement brings Google's popular mail service to the Pre as well as instant access to all of your office documents at any time. When at their desktop, users of Palm Desktop Companion now have access to Gmail and the ability to view and edit documents, presentations and spreadsheets even when they are offline....

BARCELONA, GSMA Mobile World Congress, Feb 15, 2010 - Palm, Inc. (NASDAQ: PALM) today announced the Foleo Pro Mobile Companion... The Foleo Pro runs properly configured applications created for the Pre without modification, but with the same ease of use found in the Palm Desktop Companion application.

The unfolding UI concept would be the key to making application screens that stack on the phone to display side-by-side in the familiar "master-detail" layout seen in applications like the original Palm Desktop and Microsoft Outlook. I blogged some thoughts about this idea way back in Sept 2005 in one of my very first posts, complete with a lame mock-up to illustrate. It's simple, really. Many, if not most mobile applications provide a "master" or "list" view of the data from which the user selects an item and then navigates to a screen that displays the details of the selected item with additional options for manipulating it. If these master and detail screens (or "cards" as Palm now seems to like calling them) are identified as having this relationship in the code by using an API that binds the selection in the master view to what is displayed in the detail view, all it takes to spread the stacked cards across a larger surface so they are viewable side-by-side is a little CSS. Making a desktop version of a webOS application might involve no additional coding at all, just some care to follow certain design guidelines.

The main work for Palm would be to create a native application that hosts the webOS environment on each system they want to support and provides some hooks into system services so that things like calendar event reminders work from the desktop. From what I can glean from looking at the leaked screenshots of the SDK in action, most of the hard work of developing this desktop presence has already been done since it went into developing the webOS middleware already on the Pre. That's the main reason I'm optimistic that Palm could pull this off during this period of severely strapped resources.

They would also want to integrate their application store in the desktop companion app, since the desktop is clearly the easiest and most engaging way to search for and try out applications. Letting application shoppers try an application in a simulated Pre phone launched from the desktop app would be a great way to break down the natural resistance to trying something new. I also believe there are opportunities to make installation of the application to the phone slicker and smoother than we've seen on other platforms using a desktop companion app like this.

Of course, some mobile phone features that Pre applications could use like the microphone, camera, voicemail, SMS and GPS would not be natively supported on most desktop computers. But if Palm or a third party were to implement peer-to-peer communication between the Pre and "Palm Desktop Companion" it wouldn't be much of a stretch to make even these phone features usable from the desktop. While you're at your desk you could receive SMS messages, proxied by your phone, and answer them using the keyboard and mouse already at your fingertips. With that link to the phone in place, seeing voicemails show up in the inbox of the desktop companion and being able to listen to them there might be a modest effort that extends Palm's story about total integration of messaging and contacts one notch further. Desktop web searches or mapping applications could be localized by clicking a "near my current location" toggle that geocodes a GPS fix retrieved from the Pre in your pocket and adds the location data to the query.

What a spectacle it would be to see Palm show up out of nowhere as one of the players in the hotly contested cloud computing arena. And not just to show, but to conquer a niche because their AJAX APIs expose unique messaging, location, even voice and camera functions on the mobile that only their position as a mobile software/hardware integrator makes possible!

Am I getting carried away now? Perhaps a bit. I may have compressed the timeline for these developments to unfold. But my bet is that their webOS strategy gives Palm a long enough lever to move some surprising mountains, even in their current weakened state. If they share the vision I've described, the key success factor in realizing it will be a peerless commitment to enabling the success of third party developers so that Palm has a strong ecosystem to pass the baton to. Palm's success in the 90's was built on stellar developer support and it's revival today must be built the same way. Early indications give hope that Palm gets this.

If Palm declines to offer a C/C++ or Java SDK and loses some developers in order to focus their energies on getting webOS and the Mojo SDK a place on the desktop, it'll be hard for me to feel all that disappointed. For that, I'll brush off my JavaScript skills and get right to work.

Tuesday, January 13, 2009

BoyGeniusReport has leaked some screenshots of someone using what looks like the Palm webOS SDK, complete with revealing console output. (You should know that a normal person looking at that gallery would be admiring at all the pretty UI pictures, of which there are many, but I'm most fascinated with the debug console.) The console shows the JavaScript code making requests using a "luna://" protocol to a Jetty web application server running locally, which in turn uses file I/O to access files with .json extensions in a Linux-like file system. It's not a sure thing I suppose, but it's a pretty darned good bet that we're seeing something very close to what happens when a webOS application is running on a real device like the Pre smartphone. If that's the case we've learned quite a bit, and can guess even a bit more.

First, at least as far as the application framework is concerned, the software on a Pre looks an awful lot like a Linux web server and nothing at all like Android, ALP or any other Linux-based mobile platform we've seen. Second, the server code that is running in the development environment is Jetty, which is Java. That makes sense from the standpoint of enabling developers to use Mac or Windows workstations but maybe there's a native C/C++ server running on the actual device. I doubt it. I say there's a Java app server running on the phone, too, inside a nice Java runtime. Why?

Well first, why not? Java is secure, stable, runs on all kinds of processors and OSes, including x86 PCs and Macs and a billion or so mobile phones. Palm didn't have time to mess around with porting or reinventing the wheel. Second, as I pointed out back in Sept '07 when the Foleo was cancelled, Palm was hiring Java engineers for...
implementation of Java based mobile system software on new product development project. Responsible for all mobile development (design through implementation and release), working with other device engineers and design lead on overall system architecture and design.

There have also been ads for Java web services engineers, but ads like the one above told me to expect that Palm's new Linux system would be "Java based." And I'm more sure than ever now that it is.

Here's what else we know: it's not a J2ME MIDP environment on the Pre like the ones on most other phones. To run an application server it's at least a CDC environment with Foundation Profile, which means it's pretty beefy and has a lot of the power of the underlying Linux system available to it. That doesn't necessarily mean that Palm will be letting 3rd parties write applications that run in the Java runtime as opposed to WebKit, but they certainly could.

This is where I get really intrigued, though. See, Palm's first carrier partner is Sprint. Sprint has been on the forefront of an idea to make mobile devices first class citizens on the web by enabling them to run "desktop class" software. The way they are doing this is through a platform they call Titan released just last month. Titan puts a powerful Java environment together with a technology called OSGi, which is the special sauce. It's a service platform that enables developers to create software by plugging together software components. For example, Sprint's Titan platform includes a web server module to enable iPhone-like widgets (hmmm). Because the server is running inside the OSGi container, widgets can interoperate with other components in the container: components for GPS location, messaging, multimedia, etc (hmmmm!).

The novel service-oriented architecture of webOS bears more than a passing resemblance to Titan. And I can't think of a better way for Palm to have put it all together than with OSGi, just as Sprint did. Loyal readers know I've been waiting years for OSGi to go mainstream on mobile phones. There are so many good reasons, for it, especially for Palm:

  • OSGi fixes some unfortunate limitations of Java ME: incompatibility with standard Java packages, no shared libraries, no long-running services, no loading of classes that weren't installed with the app, no intercommunication between applications, no app updates without reinstalling the entire application, etc. Seems like half the places you think there should be a door there's a blank wall.
  • OSGi also solves many of the problems that motivated these limitations in the first place, mostly having to do with challenges of delivering high reliability, manageability and security in an open component-based platform, long a sort of holy grail for software development
  • OSGi is designed for remote management. It would be ideal for performing firmware, software, or configuration updates over-the-air. Such updates could originate from Palm, from a carrier wanting to deploy a new service or app, a third party developer, or possibly an enterprise customer wanting to update an application or setting across all their users. This capability would give Palm one of the advantages that RIM has traditionally held in the smartphone market.
  • OSGi is ideal for delivering the same service with the same code across multiple platforms. If Palm is serious about delivering web services and plans to keep their Windows Mobile smartphone line they can reuse the Java service components they develop for the Pre on their WinMo phones. This can be true even when OS-specific native resources are involved. For example there is a powerful framework called RCP for creating Java GUI applications that can run on Windows Mobile, desktop Windows, Mac OS or Linux--all with a native UI provided by the underlying system. RCP and OSGi are the technologies that enable the Eclipse development environment to run fast with native look-and-feel on Windows, Mac and Linux desktops. Let me be clear here: It's totally feasible with OSGi under the hood for webOS applications and any special services that Palm develops for the Pre to also run on Windows Mobile, and that Java apps with native Windows Mobile GUIs could be developed using RCP that leverage the identical service software. I'd think that would be a pretty compelling proposition for Palm.
  • OSGi makes Android's IPC-based component model look slow, weak and restrictive. OSGi communicates with its bundles by ordinary method calls, a much better way to enable the kind of mash-ups that have made Android attractive to developers.
  • OSGi is a mature, open standard with strong industry backing, a sizable catalog of mostly free plug-ins, and considerable buzz among developers

So what to make of this? Has Palm jumped on the OSGi train? There's no way to really know at this point. All I really know is that if I were going to develop a system like webOS I would certainly use OSGi, and that some pretty smart guys I know at Sprint (and Nokia, by the way) came to the same conclusion. Keep in mind, if Palm is packing some OSGi goodness it doesn't mean it will all be open to developers when the first SDK is released. If they allow third party Java components at all there will likely be a digital signing requirement. But the day an SDK is available for Java as well as JavaScript developers, and we can target both webOS and Windows Mobile smartphones, Palm will be in a superb position to build a developer ecosystem that draws deeply and broadly on the talent that powers Web 2.0 today.

Oh, and I'll be there, too, heh. With bells on.

Monday, January 12, 2009

I've been seeing a number of folks describing applications for the just-announced Palm webOS as "web apps." It's understandable given the name and some of the technologies mentioned at CES, but it's quite misleading. I posted an explanation of this on PalmInfocenter and figured I would post it here as well (with a few edits) since what Palm has really done is create an interesting new fusion between web and locally installed applications.

First of all, a web application runs in a browser, which is a piece of software that's optimized first and foremost for making requests to a server on the Internet and rendering the responses as a web page. Browsers have gradually been twisted or tortured with plugins to playback media, use cookies as local databases, and integrate with other apps on the machine, but to operate reliably and safely on the Internet they're necessarily somewhat crippled in using features of the system or hardware. Just because Palm said that webOS apps can be written with HTML, CSS and JavaScript doesn't mean they run in a browser or have the limitations of a web browser. Those are technologies for rendering a GUI that can--and have been--used outside the confines of the browser, and Palm is doing just that.

Secondly, people should understand that HTML 5 goes well beyond what we're accustomed to thinking of as HTML. It includes APIs for immediate-mode 2D drawing, video playback, offline databases, drag-and-drop--pretty cutting edge stuff. Palm is certainly the first company to release a mobile product based on HTML 5, and even modern desktop browsers only implement parts of the spec, often through optionally installed plugins like Google Gears.

As for JavaScript, it's a general programming language that is separate from the HTML document object model that it's most commonly associated with. Palm has already stated that they have extended that model to enable access to local databases on the phone and handling of notifications of system events, and there's no reason they couldn't expose much of the system API that way if they chose to. Sure, you're not going to be able to write hardware drivers in JavaScript but while some developers have good reasons for wanting to do such things a little sandboxing can a good thing on a device connected to the wild, wild Internet. A developer who partnered with Palm told the press at CES that "everything he did before in Visual Studio he could do in Javascript on the Pre." If he was much of a Visual Studio developer at all that means there's a lot more than the HTML DOM being scripted there.

Next, there's the complaint that JavaScript and HTML are interpreted and therefore slow. But remember, webOS applications aren't running in a browser, so there's nothing that says any of this need be interpreted. Palm knows all about compiling HTML applications into native code: they developed tools and APIs for doing this on the Palm VII back in 1999 and presumably own patents on it. They called these "web clipping" applications, and they displayed in the launcher and ran as first-class native applications on Palm devices, not as interpreted scripts in an HTML browser.

Now JavaScript may not be a lot of fun to code and debug, compared to a statically compiled language like Java or even C/C++. But let's remember that we don't have an SDK yet. Until we do we have no idea if JavaScript is the only API or if there are other ways to access more of the system APIs. Obviously there are other ways to access system APIs, which developers will discover on their own if Palm doesn't document them, but for now it's too early to say. I have a suspicion that a Java runtime is lurking in there somewhere and Palm didn't want to mention it yet for fear of comments about Palm being "late to the mobile Java party." J2ME, Danger, RIM, Android, JavaFX, Sprint Titan... the advance of mobile Java may be exciting for mobile Java developers but to everyone else a new Java SDK sounds warmed over, and Palm's had enough of that kind of talk.

If you watched any of the announcement you know that webOS is also intended for delivering a cutting edge web app experience, but that has to do with the browser they developed. It should also be clear that applications originally written for the web using JS/HTML/CSS (like GMail, BaseCamp, Facebook, etc.) should be easy to port to webOS and be enhanced to run in offline mode, due to webOS's HTML 5 support for offline databases.

All this starts to blur the distinction between "web apps" and "local apps," and that's where I think we're going with the mobile web. My friend Enrique Ortiz seems to agree. Nice to see good old Palm pushing out the frontier once again.

Friday, January 09, 2009

The consensus seems to be that Palm way outstripped expectations in their announcement of the new webOS and Pre smartphone yesterday. The stock soared from $3.40 to over $6.00 after the CES demo. Here's a taste of how the mainstream tech media responded.

I've always been of the mind that Palm had more fight in them than most were giving credit, but while I was expecting something pretty special... well, let's just say I was positively floored--especially by the new webOS.

Let me just dispense with all the customary caveats and qualifications that should attend opinions about a product this new and untried, because I think the folks at Palm deserve a standing ovation. To put it plainly, Palm just leapfrogged right over both Apple and Google. The Pre doesn't just have an elegant, simple gesture interface: it has the physical keyboard that Apple couldn't bear to let "mar" the iPhone's monolithic slabness. And word has it that the Pre is 4 times faster than the iPhone. Palm apparently still knows better than anyone how to get performance out of mobile hardware: you don't start with a desktop OS and whittle it down, you build for mobile from the ground up.

As for the Google comparison, webOS sounds a lot like where Google seems to be headed with Chrome, Gears, etc: a web-based operating system. Except Chrome, Gears, etc. aren't an OS yet and they don't run on mobile handsets in any case. Poll position to Palm for the first of a new breed of mobile web device, melding some of the best features of the browser with the hardware integration and I/O options only installed applications can deliver (a fusion not unlike one I predicted Palm would bring to market, based on various clues they gave back in 2007). Palm also has the advantage over Android that they build and tightly integrate the hardware with the system, something Google seems to show no stomach for doing. Hardware/OS integration is one reason why Apple lapped Microsoft so easily, so it's great to see Palm finally putting this to full advantage again.

I'm thrilled that webOS seems in places to be one of the earliest and best implementations of a UI concept that I've evangelized here and here: what I called uninspiringly "the mobile command line." Check out this part of the demo to see what I was talking about here, beautifully realized by the Palm designers and engineers. I love the simplicity, power and efficiency of text-based interaction on my PC, but it's on my mobile that it really brings the walls tumbling down. You're looking at the future of the mobile UI.

I will switch to Sprint and buy a Pre the day they hit the shelves, and I'm very interested in seeing the SDK.

Palm has their mojo back.

Friday, July 13, 2007

Palm logo
Long time no post. It's been one of those crazy between-project times when you've got a dozen opportunities swarming around you like a cloud of gnats and, if you're like me, you can't wait to get back into the flow state, focused on one project. You'd think spending the day mapping the forest instead of staring at one tree would be conducive to blogging, but it's not. I have a theory, but I won't bore you with it.

In my last few posts I've been talking about mobile computing as the future of personal computing, with a lot of focus on Palm. I talk a lot about Palm on this site and before I continue I want to explain why. It's not because I'm completely bullish on the company's prospects—they've got a hard battle to fight in a market with some fierce competitors. Nor does my company make money from selling Palm devices (though we often recommend them to customers) and we create plenty of software for platforms like RIM, Windows Mobile and Java ME. I can't say that my interest in these guys isn't tinged by a bit of nostalgia. I cut my chops on developing for handheld devices on Palm OS. My first mobile application—a primitive blogging tool—was written, compiled and debugged with a stylus on a Handspring Visor during my commutes on public transportation to and from my job as a web developer in Houston. But that's not the reason I write about them in this blog. And, God knows, it's not because Palm is out on the bleeding edge of technology.

My interest in Palm is because they are still willing to listen to the guy with the most audacious vision for mobile technology around: Jeff Hawkins (to the shareholders' dismay) doesn't seem to care much about making smartphones iPhone-cool; he cares about a crazy idea of liberating people from their desktop and turning the devices in their pockets into their primary PC. For Hawkins (and to the gearhead's dismay) realizing that vision has more to do with holding products to a high standard of simplicity than adding features. In my view, Palm's greatest shortcoming in recent years has been a failure to simplify smartphones enough. The upcoming Foleo, to its credit, bears the imprint of the old Palm's focus on helping people do a few things simply and quickly rather than burying them with features that are hard or slow to access. This attitude looks like backwardness to some, but I agree with Hawkins that for people to start seeing their mobile devices as platforms for running useful applications the biggest challenge is not breaking technological barriers, but breaking down the barrier of "fundamental complexity" in computers. Any company can take a bunch of engineers and a big pile of carrier requirements and build a smartphone that's complex. How do you make mobile computers that people want to use as such? Whether they conquer that challenge or not, Palm takes it more seriously than anyone else.

But they're not alone in touting the vision of your mobile becoming the new PC. Not any more. Next post I want to talk about Nokia. It's still a little early to say, but there are hints that they have an idea very different from Palm of how this vision could come about, and I think the comparison is pretty interesting. Also, if anyone has a really long attention span and recalls me promising some wild speculations about how Jeff Hawkins might see mobile computing in a decade or so, well, I'll be getting to that, too, because I can't help myself. I think the Nokia/Palm comparison will be a good lead-in to that. Not trying to be dramatic... I just never have as much time to write as I need.

Tuesday, May 29, 2007

Jeff Hawkins, founder of Palm Inc., has been hinting for quite some time that Palm has had a "third business" in the works (after PDAs and smartphones) but all the hinting has come to an end today (press release). So, Hawkins will be announcing and demonstrating the new product tomorrow at Walt Mossberg's D: All Things Digital conference. He insists that it's not a PDA and not a smartphone, but it's the next logical step in the advancement of mobile computing. The word on the Palm Entrepreneurs Forum today (from a developer who claims to be in the know):

Update: A little bird that I trust on such matters tells me that most of the information that follows is actually quite wrong! See if you can guess which parts. Woo hoo! Isn't this fun?

  • It's a wireless Linux tablet
  • It's a little bigger than a Nokia N800, a little smaller than the HTC Athena
  • It has a Garnet virtual machine to run Palm OS applications (in addition, I assume, support for some kind of native applications)
  • It runs on both WiFi and cellular networks: CDMA initially, GSM very soon after
  • It has remote audio/video/file access and streaming capability
  • It'll set you back 999 Euro with the 20% VAT included. What's that, about $1100 in the US? Wow. Definitely not for the mass market. But I'm guessing that's without the carrier subsidy.
  • It'll be available this July or August

Nothing official, of course, but I have a strong suspicion it's accurate. I have so many thoughts about this, but I'm going to hold off until after I see it for myself tomorrow.

Wednesday, April 18, 2007

Palm logo
Sorry to be so slow to post about all the interesting Palm news. I notice that traffic here spiked heavily last week after Palm's Analyst Day, when they finally announced the home-grown Linux-powered version of the Palm OS that I've been predicting for a little over a year. Lots of other exciting stuff going on here at Pikesoft, so I haven't even had time to gloat. I'll try to make up for it now ;-) And I'll make another prediction that is far more speculative and will probably be wrong.

To even my surprise, Palm confirmed not just one, but all three important predictions that I made in this PalmInfocenter article published last May:

  • Palm is creating their own next-generation Palm OS by combining the old OS with a Linux kernel. This is not an announcement that they are adopting the ACCESS Linux Platform, rather this is an operating system that Ed Colligan says they have been working on for "a number of years"—by one now-credible report even longer than PalmSource themselves have been working with Linux.
  • They are turning to the server side with a new focus on web services and web applications. Innovations in the web experience, web services and "simple web applications" were mentioned over and over during the presentation, which followed closely on an Opera agreement to deliver a Palm OS port of Opera 9 for future Palm products.
  • Palm is adding the capability of updating both software and system firmware over the air. In the industry parlance this is called FOTA (Firmware updates Over The Air) and Palm sounds like they might be a fairly early adopter.

Details were very sketchy on all three points, but if you listened closely and know a little about Palm's history, I think you can fill in some gaps here and there. By the way, there's no transcript for Analyst Day, and it seems like the audio and slides have been taken down from Palm's site audio and slides only (registration required), so I'm sorry that I can't provide links to the statements made during the presentation. Later I'll speculate more about Palm's new OS and FOTA plans, but today I'm going to focus on all their talk about web experience, where I think they are in a better position to innovate than many folks give them credit.

The first area Ed Colligan identified as a "primary focus" for Palm is delivering "the fastest, most compelling web experience... with connected web applications." He said that Palm believes there is "enormous innovation to be done" in this area and said that toward this end they are building a "connected application environment." Normally the "connected application environment" for the web is called a browser. But for all the talk about "simple web-connected applications" the speakers seemed to be avoiding discussion of the browser, except when discussing Palm's past leadership in this area. While I believe that Palm wants to continue to improve the browsing experience (and Opera 9 will be great for that) something tells me this is not the whole story.

Another clue: when you hear someone from Palm talk about an experience being "fast" they usually mean it. Responsiveness has always been a hallmark of the Palm experience and I believe that an important part of the company's bold decision to tough it out and develop their own successor to the Palm OS was the sense that Palm had not been able to deliver the kind of snap that users expect as they tried to innovate on the old platform. Now, browser based applications running on high-latency wireless networks—even simple apps—are not typically what you would call fast. Certainly not by Palm's standards. Nor is there probably a whole lot that Palm can do to make HTML pages download and render faster in the browser, short of using AJAX and DHTML, which smartphones simply do not have the resources to do at this time.

So where am I going with this? Well, some Palm developers may remember an interesting technology that Palm (then Palm Computing) introduced with their first wireless PDA, the Palm VII, back in 1999. This device (and it's successor the i705) ran on the fairly large but horribly slow (19.2kbps) Mobitex pager network on which Palm built a network service called Palm.Net. The slow network wasn't the only barrier to a reasonable web experience: Palm devices at that time ran on 16MHz processors with 8MB of RAM, making the parsing and rendering of HTML pages slow enough to be out of the question for all but the most patient (or desperate) mobile user. Palm's solution to these severe constraints was called "Web Clipping." Bear with me a moment as I explain why I think this technology—or a successor to it—could very well be the centerpiece of the web services product strategy that Palm talked about so much during Analysts Day.

Web Clipping was a web technology, so from a developer standpoint it involved no native C code; rather there was a tool for "compiling" HTML forms into a Palm Query Application (PQA) that was installed directly on the device like any other Palm app. On the device a PQA was almost indistinguishable from a regular Palm app: it had its own application icon in the launcher and it displayed a form instantaneously upon launch with widgets that looked identical to those you saw in a native Palm application (even though the form was designed in pure HTML). But when you entered some data you wanted to retrieve (say a highway for which you wanted traffic information) and tapped a button it would submit the request to a server (going through the Palm.Net proxy) very much like a browser. The response was displayed in a simple browser designed to receive compressed, possibly transcoded content from the proxy.

This technology had several advantages over a regular web application and I think most of them apply as much today as they did in 1999. First, a Web Clipping Application (WCA) is a single-purposed app so there is no URL for the user to enter: it's compiled into the PQA. Second, the form for entering your query to the web doesn't have to be fetched from the server: again, it's already on the device so it comes up instantly. Third, the PQA didn't use HTTP to make the request, which involves lots of time-wasting "how do you do, how are you, fine and you?" over the network before it gets down to the business of giving you your data. Instead it uses connectionless UDP which dispenses with the formalities and just grunts "gimme this." It's up to the proxy to translate this rude but efficient request into polite HTTP and send it along to the appropriate web service. Result: your request gets to the web much faster than when you click a button or link in a browser. Finally, the Palm.Net proxy compressed the response it got back from the web service before sending it back to the device, again, speeding up response time. Everything was designed to be fast, which was the word we heard used at least three times during the presentation last week while describing the experience Palm users will have on the web.

Palm.Net was shut down in the summer of 2004. I can surmise a couple of reasons for this. First, the cellular data networks were so much faster and bigger than Mobitex by that time that the Palm.Net infrastructure had been completely outdated. Second, for better or for worse, the new smartphones were all coming out with full web browsers, as everyone thought you needed to approximate the desktop browsing experience as closely as possible to make the web interesting to users. People are only now starting to see that this is wrong. Ironically, if Web Clipping were being introduced in 2007, it would be referred to as a "widget platform" and considered to be cutting edge "Mobile Web 2.0" stuff like what Nokia just announced. Which is to say that Palm was ahead of their time. A modernized Web Clipping platform could use an awful lot of IP (including patents, I expect) that Palm already owns and give credibility to the claim that they were going to deliver web experiences that are "unique to Palm." Obviously there is more to the web than just querying for information, but I do think that's the lion's share of of the mobile web experience that people want today. And they want it fast. Fast search, faster access to RSS, faster startup of streaming media, faster access to location-based services, all integrated into the system—aren't these "simple web experiences" what you look for most often on your mobile, as opposed to web surfing?

More analysis of Palm's Analyst Day statements before the weekend. For now, I'm pressing my luck and predicting that Palm's idea of a unique, fast, simple web experience will be a next-generation version of a technology they abandoned in 2004. Back to the future, baby!

Friday, April 06, 2007

Palm Desktop is a solid, but aging application that handles personal information management well, but is totally overshadowed by Outlook and lacks integration with desktop email and messaging. Even so, it's a big improvement over Nokia PC Suite (last I tried that).

The contract under which Palm re-acquired substantial development rights over Garnet OS has been published (in partly redacted form) as a Form 8K on the SEC website and it shows that Palm acquired development rights not over just the operating system, but also some rights to Palm Desktop. Palm has an option to get access to the source code that it can exercise any time over the next 10 years for $3M. By my reading it sounds like Palm got the perpetual right to distribute and modify the Mac version of Palm Desktop and that ACCESS is washing their hands of any responsibility to support that—at least as far as Palm is concerned.

I think it's time for Palm to ditch Palm Desktop for something that's more open and user-extensible the way the Palm OS itself is. Palm would do well to develop a replacement based on Eclipse RCP so that users could easily download and plug in new functionality and developers could use cutting edge tools to deliver these plugins (Java and SWT instead of C++ and MFC). RCP works great on Windows, Mac and Linux since the GUI is native. Users would have no idea that they were using Java under the hood and Palm could consolidate on a single code base for all the major desktop platforms. In our last project David Orme and I developed a nice Day/Week/Month calendar control in SWT that would be perfect for this. If Palm (or ACCESS) was interested in talking about developing a modern, cross-platform desktop companion that could open its PIM suite up to integration with email, music, images, RSS, bookmarks, SMS, IM, VoIP etc, Pikesoft would be happy to develop this for them. B-)
Palm logo
PalmInfocenter reports that Opera and Palm have cinched a deal to deliver the Opera 9 browser on future Palm products. While it's not clear that this means there will be a native Opera browser for Palm OS (as opposed to this being something that is just for Palm's Windows Mobile products) I think it stands to reason that this is what they're talking about. Whether that means it's for what ACCESS is now calling Garnet OS, or for a successor to the Palm OS that Palm itself develops based on their repurchase of development rights for the erstwhile Palm OS, I won't venture a guess.

Either way this seems like further evidence that Palm and ACCESS have more or less divorced and are busy making two separate households. The Blazer browser that Palm has used in most of their products for years is a customized version of NetFront that they license from ACCESS, so this deal makes the browser one less thing for which Palm will be dependent on ACCESS.

Tuesday, March 20, 2007

If you thought I was going to speculate on this morning's fresh acquisition rumor then I'm sorry to disappoint you. What gets me is the way this stuff gets propagated into the mainstream media outlets. Most people get news like "Palm Takeover Expected This Week" from the New York Times (registration required). The Times quotes the Unstrung.com article (the first link) which in turn quotes "sources." As if news of this kind from undisclosed sources means anything. The fact that the sources are said to be "close to the situation" is hardly something that contributes to their credibility. A major shareholder of PALM who would like to pump up the stock before unloading it is "close to the situation." So would be someone inside Palm itself that would like to see the shares rise enough that a takeover is averted. Talk about the tail wagging the dog! It's bad enough that Unstrung is reporting this as real news, but that it gets play on the New York Times is ludicrous. It makes me feel like I may as well listen to the voices inside my own head as read the Times! :-)

Updated Mar 25, 2007:

Palm's stock climbed steeply through the week as the baseless news of the imminent acquisition announcement spread around—then plummetted when the market opened on Friday, hours before the conference call when Palm was supposed to announce the "acquisition."

This has been said elsewhere, but if you're ever tempted to take stock market activity as evidence of anything important that a technology company or its rivals are up to you really should first familiarize yourself with the way hedge funds have transformed the market these days. Jim Cramer's Guide to Market Manipulation (registration required), also published in the Times, is a good place to start. Cramer is a fund manager himself and told TheStreet.com back in December that this is the standard MO that he and his colleagues use to ensure the market swings their way when they need it:
Say a hedge fund manager is holding a short position — a bet that a stock will decline — in Research in Motion, which has just announced blockbuster quarterly earnings results. An enterprising fund manager might call several brokerage houses and either feed them bad information or order a slew of short sales. Then he or she could call up a “bozo reporter” with a fake news tip about Resarch in Motion rival Palm.

The result, he says, is a perfect storm of bad news that temporarily lowers R.I.M.’s stock price, long enough for the manager to reap a tidy profit.

Interesting that Cramer chose Palm as his example in that interview back in December. It looks like someone ripped that play out of his book and followed it verbatim last week.

If you ask me, Palm is not going to be acquired any time soon. They have, however, been making some acquisitions of their own: $19M worth during the last quarter (see transcript here), including ChatterEmail earlier in the month. Since Motorola acquired Good Technologies, which was one of Palm's best push email partners, adding ChatterEmail's popular serverless push email technology to its products makes a lot of sense.

Monday, March 05, 2007

Jeff Hawkins is a hero to anyone with an interest in mobile computing. Inventor of two watershed mobile devices—the wildly successful Palm Pilot that made "PDA" a household word a decade ago, and the Treo smartphone, the device that really kicked off the smartphone revolution—Jeff is someone you've got to keep an eye on if you have any interest in the future of mobile technology. While a lot of folks are down on Palm and wondering if they've lost their mojo in the last few years, close watchers of the company have been awaiting a new revolution that Hawkins and others have hinted at for almost two years now.

It sounds like the revolution will be announced, like most revolutions worth their salt, in May. Read this excellent interview of Hawkins and get a glimpse into the thinking of one of the top minds in the business. Here are a few tidbits:

About his work at Palm:
I basically work on new projects…projects that aren’t in the public view as of yet

About Palm's rumored "third business":
We’re going to be announcing something…but I won’t tell you what it is…we will be launching this year, not in the distant future. I’ll give you a much bigger hint: I’m going to be speaking at Walt Mossberg’s D Conference in May. It’s a high-end industry conference. Anyway, I’m going to be giving a talk there, and that would be something for the Palm fans to keep a close watch on.

[Some tantalizing rumors and speculation about this new product category here]

About the state of Palm Inc.:
Palm, in my mind, is in the best shape it’s been in, in a long, long time. It’s amazing this company is still around. It was split up, the founders were kicked out, and they sold off the operating system. It’s nothing that I or Ed or Donna had anything to do with; but, this company has been operated in…many different ways.

Now, look at Palm today: we have Ed, practically a founder, running the business. Donna (Dubinsky) is on the board, and I’m still involved. We have our name back. We just bought the rights back to Palm OS from ACCESS; so we now have control of the Operating System again. One of the main reasons we did a Windows-based product is because we were worried we wouldn’t have access to the Palm OS. Palm is in complete control of its destiny again.

There's also a good discussion of Jeff's work at Numenta, which, by the way, has just announced the release of NuPIC, a computer "operating system" and toolchain for developing applications that use the same memory structure as the human neocortex to perform pattern recognition and prediction. I can't help but wonder if these two strands of his work—mobile computing and machine intelligence—will at some point join down the road. The prospect is mind-blowing!

Meantime it's nice to know that Hawkins will be having a few words for us about his "secret project" in advance of the iPhone release in June. ;-)

Wednesday, January 17, 2007

An alert reader (thanks Brian) sent me links to some revealing new job postings on Palm's web site. Software Everywhere readers know that Palm has a penchant for posting job descriptions with juicy details about upcoming Palm products and OS plans. It's probably to make the openings seem more exciting to prospective applicants, but since my periodic reports have occasionally had pretty long legs in the blogosphere there's a chance that Palm is now using these postings to build buzz through the backdoor without the risk of official announcements. How much do I care? Not that much, I guess. I'll give the scoop and you be the judge about whether my interpretation makes sense.

There are two important pieces of news that can be gleaned from postings to Palm's job pages over the last 30 days.

Palm's Linux project

It's been 10 months since I first pointed out that the writing was on the wall that Palm has been working on its own Linux operating system, apart from any collaboration they might have or have had with PalmSource (now ACCESS). In that time the evidence has continued to mount:
In December Palm and ACCESS announced that Palm had successfully negotiated these rights, prompting Palm-watchers around the blogosphere to declare that Palm had it's OS back. While some have suggested that they would excercise those rights by making incremental improvements to Palm OS Garnet (like adding support for HSDPA networks) Palm's job postings since the agreement tell a story that solidifies the notion that they're doing a Linux OS of their own. Here are a few examples:
SW Application Developer: Palm is seeking a talented Linux SW Developer to develop applications for our next generation of devices.

Platform Design SW Engineer: ...investigate and implement new ideas as proof of concept of new hardware or software features for Palm Handhelds and Smartphones. This person will develop software from low-level drivers to applications for the Linux and WinCE platforms.

SW Tools Engineer: ...Desired Skills/Experience: Embedded development (esp. Windows Mobile or Linux)

Wireless Data Networking Software Engineer: Candidates with experience in mobile networking environments such as Wi-Fi, Bluetooth, GPRS, EDGE, HSDPA, UMTS, EV-DO data networks are prime candidates for this position.... Qualifications: Experience with Linux, Windows Mobile, and other network aware operating systems.

In all, there are 25 openings that mention Linux in the job description, most of them posted since Palm reacquired development rights to the Palm OS back at the beginning of December.

Two things I found interesting in these posts: some ask for experience with either the GTK or Qt graphical user interface toolkits. Qt is part of Trolltech's Greensuite Linux smartphone stack. Could Palm have partnered with Trolltech for this project? The other point of interest was in that last job posting which mentions cellular and WiFi networking in the same breath and follows up with "Engineers with experience in roaming across non-heterogeneous wireless networks are preferred." Does that sound to you like we're talking about products with both cellular and WiFi radios? Maybe, maybe not, but it's tantalizing. Either way, it leads me to another bit of news we can extract with more certainty.

Cranking up the WiFi

Palm has built WiFi into only three products in its history. None of them were smartphones, and two of them (the Tungsten C and now the LifeDrive) have been EOLed, leaving only the Palm TX handheld to hold down the WiFi fort for Palm. The TX is a great PDA, but the absence of WiFi support for the Treo (short of buying a big fat sled) has been the cause of a great gnashing of teeth and rending of garments among the Treo faithful. So it's a comfort to know that Palm has heard the cry of her people and is busy on WiFi products, even if we can't tell exactly what sort of products these might be.

Here's another WiFi-related job opening that's got some juice to it:
Sr. WiFi SW Engineer: This is an exciting opportunity to join a fast-paced and highly motivated development team responsible for Wi-Fi features across all Palm, Inc. products. Candidates with experience in mobile networking are prime candidates for this position. Engineers with experience in VoWLAN are preferred.

Gotta love phrases like "Wi-Fi features across all Palm, Inc. products," althought I hesitate to interpret that in the the most optimistic way you could. Let's just say it means Palm expects to have multiple products with WiFi in the future and is looking for developers to cover that part of Palm's product strategy. More telling is the reference to Voice over Wireless LAN (VoWLAN). Elsewhere there are open positions for folks with expertise in streaming protocols and audio and video codecs—application features that Palm has largely left for third parties to develop in the past. I'm probably colored by other rumors I've heard, but this sounds to me like Palm has product plans comparable to what Nokia is doing with their 770 and N800 Internet Tablets: not a replacement for your mobile phone, and not exactly a PDA, but a broadband Internet device for folks who find smartphones too constricting for their needs: too small a screen, too little storage, and too little bandwidth. A device that focuses on media-centric users and/or people who need a better data-oriented application experience than they can get on something like a Treo.

The question is, when do we see these products? Well, we're certainly talking about 2007. Ed Colligan didn't guide shareholders at the last conference call with a detailed product roadmap like last year's "four Treos in 2006" promise. But when questions turned to 2007 plans it seemed that every other word from his mouth was "diversify," "differentiate," and "broader product line." He also mentioned "new form factors." In another forum, when asked a question about whether 2007 is the year we'll see "the secret project that Jeff Hawkins has been working on" Colligan responded with a tight-lipped "yes." Perhaps the fact that Palm just consigned the LifeDrive to end-of-life is an indication that they have re-evaluated that target market (by all accounts missed by the LifeDrive) and bowed a product that's a bit more revolutionary for its traditional Spring release.

As is usually the case when questions of product schedule arise, your guess is as good as mine.