Palm Pre, FastFigures and powerOne

I have had a steady drip of requests since the Palm Pre launched for a webOS version of our software. I wanted to take the opportunity to talk about the platform, what I think Palm is doing right and wrong, and relate that to our own software products FastFigures and powerOne.

First, let me say that I like what Palm is doing with the Pre from a developer perspective except one major flaw. A year ago I wrote a post on the recipe for beating Apple and highlighted three things that the company needed to do. Palm has nailed two of the three:

  1. Build a beautiful, touchscreen device.
  2. Make it synchronize with web-based applications.
  3. Focus on offline use of web-based applications.

Palm is flubbing #3.

Palm has built their platform so that all applications are written in CSS (the page style), HTML (the content) and Javascript (the interactivity), the core languages of the web. But these three languages are intended to handle the user interface, or client, side of the equation.

What’s missing — and what Palm insists it doesn’t need — is the underlying technology that handles the business-side of web applications. Developers use a multitude of server-side technologies to do this, including Ruby on Rails, PHP, .net, and Python. Most mobile platforms use either C or Java to handle the business logic.

Palm insists it doesn’t need anything. And this is a major mistake.

Our software requires the business language to run the engine that performs all the calculations. Javascript won’t do primarily because of security and speed issues. In addition, insisting on using Javascript for business logic flies in the face of everything I learned about how to do web development.

Palm’s perspective is that applications that need business logic should interface with the web, such as Google’s search engine. Except an application like ours works best when the calculation is resident on the device, not because the calculations are better but because our customers don’t trust the Internet connection with their devices. There are just too many holes.

So what do our customers do when it comes to the Pre? They can either use the Classic emulator, which we don’t officially support but seems to run our software without a problem according to customers who have tried it, or use the web-based version of FastFigures at http://www.fastfigures.com/mobile. Either way, if you want our products on Pre, please drop us an email so we know.

And hopefully in the future, Palm will realize their mistake and give us a business logic language to work with. For now, though, I won’t hold my breath.

To Flash or Not To Flash? That’s The Question

I’ve been following the news out of the Mobile World Congress (MWC). There are probably two items that struck my fancy: the first is the debate raging in the mobile world regarding Adobe Flash on smartphones and the second is the lack of Android/plethora of Windows Mobile announcements. I’ll address the first this week and talk about the second later on.

Ah… Flash. To some it is the holy grail. To others it’s bloated c***-ware that’s run its course. Flash, if you are unaware, is a programming language that runs in the browser. It was invented by Adobe to provide browser functionality that wasn’t native to the web languages of CSS and HTML. Probably its most popular use in the early 2000s was as a way to deliver interactive advertising on sites like Yahoo!, but over the years it has been used to develop web-based applications as well, such as Quicken Online.

Here’s the problem: Flash is an intensive memory hog designed for desktop use and that makes it difficult to use on mobile devices. After all, who wants half the battery time.

The news: at MWC Adobe announced a consortium of mobile platforms — including Nokia and Palm — who will support the development of a full version of Flash that runs on their devices. Why is this creating a stir in the mobile world? Steve Jobs, Apple’s CEO, announced vehemently that Flash would never run on an iPhone. Now the world is a-twitter with “has Apple missed the boat” conversation.

The reality, however, is that Flash on a mobile device doesn’t really matter. It’s a dying platform on the web anyway, being replaced by a JavaScript protocol called AJAX that’s far less memory intensive, supported by all the browsers, and not controlled by any single entity, a holy grail for the open-standards web.

Who does Flash on mobile help? The market followers. Those crying for Flash on mobile point to Twitter clients and Facebook clients and the like. But those applications are already available at Apple’s AppStore, the market leader for third-party software. It’s everyone else that benefits from it as they get Twitter clients and Facebook clients without having to worry about significant additional development, hypothetically. Significant is the key word, of course, because some changes have to take place to work on the small, smartphone screen.

So what do I think? I think the entire conversation is a distraction. The reality is this: if Palm sells 25 million units in its first two years and sets up an effective software sales and distribution model then developers will flock to the platform, writing applications using its native development tools. And if Palm doesn’t sell millions then it doesn’t matter if Flash runs on the Pre or not as no developer will spend time optimizing their code for a couple thousand users.

One Programmer’s Lament

Since Infinity Softworks had to get small in order to grow, I took on the task of programming again. Before 2007, I really hadn’t written any code since 2000. Since 2007 I have been involved in learning no less than five “development” languages: Objective-C for iPhone; RIM’s special Java flavor for BlackBerry; Ruby on Rails, CSS and HTML for the web version of FastFigures. This does not include the other one I still need to learn. We’ll need JavaScript for FastFigures.com but I was overwhelmed with everything else and couldn’t manage any more programming knowledge in my measly little brain.

I wouldn’t call myself a great programmer. I’m competent and seem to be able to get the job done as long as it’s mainly focused on user interface. I can’t do the hard-core programming. Luckily, my other full-time developer handles all the guts of the applications.

My lament, though, is not over having to learn so many different languages but instead how quickly the knowledge seems to seep out of my head. Being engrossed in Apple’s Objective-C language for the past few months, we really haven’t touched the website. Now we are working on a UI overhaul and new web capabilities and I actually need a refresher course on those web languages. I literally stared at CSS and HTML code one morning for two hours, as if I was trying to read Ancient Egyptian hieroglyphics. It just made no sense at all. And this is something I have done a lot of over the years!

Albus Dumbledore has this really cool device called a pensive. In the Harry Potter books, he’d just drop his knowledge into this pensive. When he needed it again, he’d pull the knowledge out and put it back in his head.

Either that or I need someone to stick their fingers in my ears to plug the leak.