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 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.

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 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.