Bet 204

Duration 2 years (02005-02007)

“In 2009, WinFX will be the dominant API for application development on all major PC platforms.”

Carl Lumma


Lumma's Argument

Win32 is still the way to ship applications (ask Google), but it's so antique nobody would consider doing anything innovative with it. The world is crying out for a new API.

Java applets failed miserably. The disasterous state of the JVM means Java today is less portable than C was 20 years ago. The widgets are a joke and applets are still as slow as molasses.

Quartz on Mac OS X had most of the right elements, but never came together as a platform for delivering, say, apps over the web. In fact, Mac developers are still trying to figure out what to do with it. Cocoa was stillborn.

The Gnome/KDE/QT crowd has some interesting stuff, but it's really looking too much like balsa wood at this point. And of course, glue.

At least one important app has been shipped with XUL, but it doesn't seem to be gaining capabilities quickly enough.

Flash actually seems like the biggest threat to WinFX, but its curators are resolutely unwilling to make it into anything more than a toy for making obnoxious web sites quickly and easily.

All the apps people might actually want to use are today being deployed with browsers and AJAX. After 10 years, browsers can finally render things consistently enough to be called a platform. And the festering promise is working itself out. But this platform is still too limited to deliver the next generation of applications.

SVG has been sitting around since 1998. It's the perfection of displaying stuff on the web, with the same interaction problems. X3D seems more capable, and just as doomed to obscurity as VRML.

WinFX is vector-based (scales with display dpi), cleartype-packing, natively 3-D (via DirectX, the dominant 3-D API) widgets laid out with (human-readable) markup, a paradigm-exploding WYSIWYG design tool (Sparkle) that exists TODAY, driveable with of any of the .Net CLR languages.

As usual, it will be available for the previous version of Windows (XP), but Microsoft is hinting that it will also be ported to other platforms. It's the only fully capable next generation API shipping today, running at real speeds, with a realistic platform included in the package. Microsoft knows that a client-side API lock will not happen again.

Challenge Lumma!

Challenge Carl Lumma to a bet on this prediction!