satine.org

by Charles Ying

Archive for May, 2007

How to Build The Next Ultimate Application Platform

Tuesday, May 29th, 2007

A long post. Enjoy. :-)

Today, my friend Rand Wacker revived a great post about browsers as the ultimate application platform. At a high level, I agree with him, but the reason why we’re not seeing more “multi-platform” applications is that right now, for many companies, the web browser application platform presents the best choice.

Desktop and mobile applications are very expensive to develop and are extremely difficult to build at an Internet pace on today’s platforms. Mobile frameworks like WebKit and desktop frameworks like Apollo and WPF are trying to correct this, but it’s not an easy problem to solve, and hasn’t been solved right yet.

In my career, I’ve had the pleasure to work on mobile apps, mobile browsers, mobile web apps, desktop web apps, desktop Windows + OS X apps, Flash widgets, RIA frameworks and RIAs at FilmLoop and Openwave. So based on those experiences, I present you with:

The 3 Key Ingredients of the Next Ultimate App Platform.

  1. Insane visual / graphics / text layout performance. It’ll off-load the heavy lifting to the GPU, do all the game programming tricks out there, and likely talks directly to DirectX and/or OpenGL.
  2. Spectacular type-setting and type layout. Macintosh, PostScript, TeX, PDF, HTML. Each of these successful projects either did text right, or text fast.
  3. Easy animation. I’ll speak more about this in a future topic, but to pass the bar Apple has set for application user experience, you must have animation and it must be easy. Most folks realize the need for animated UI now, but very few toolkits have made it easy. Apple’s Core Animation is one such toolkit, and you can see what it’s done for OS X Leopard and iPhone. At my company, PixVerse, we may open source our own implicit web animation toolkit once we get some free time.
  4. The basics (Okay, so there are really four … ) The obvious things that so many have hyped and written about already… fast dynamic scripting language; database and searching engines; persistent storage for offline use; encryption; desktop notifications; networking; sync, etc.

Now for a disclaimer. This isn’t the whole picture. It’s just one piece — the visual user experience. It seems to be the one that the hyped up platforms seems to be addressing first… whizzy graphics and video. Important things are being ignored: machine learning; data mining; decent search facilities; robust multi-directional sync (have you read about RSS-SSE and Unison?)

Written using TextMate. ;-)

Technorati Tags: , , , , , , ,

FaceBook Platform In A Nutshell

Thursday, May 24th, 2007

FaceBook released their new OS Platform this afternoon. It’s a big deal, but it’s hard to get a grasp on what the new changes are for developers.

Briefly, the FaceBook Platform extends the existing FaceBook API with:

  • A few new APIs, for setting FBML on a user’s profile.
  • A new FaceBook markup language, FBML, a subset of HTML with some FaceBook extensions. JavaScript and AJAX is not allowed per se (except via a Mock AJAX proxy), but Flash and SilverLight are.
  • An application directory for new FaceBook applications.

I’ll post later why you might think of this as “Windows 1.0 with deep social network integration”, and all the dangers and excitement that goes with it, but for now… you can read all the fun details and try out some FBML here: (until the main Developers page is updated).

FaceBook Platform Developers

More coverage: Facebook Launches Facebook Platform; They are the Anti-MySpace

Technorati Tags: , , , , ,