As you probably know, Microsoft has officially started talking about Windows 8, releasing a video showing how the new "tiled" user interface, already found in Windows 7 Phone, is supposed to become the default UI for a PC.

As much as I think this is a nice UI for a phone, and might be a good one for a tablet, I have real reservations about the PC. First, I have no plans to buy a touch screen notebook, the mouse is good enough, thank you. And a touch optimized UI hardly works fine with a mouse, there is no unifying interface. I'd rather keep using Alt+Tab to switch context rather than moving my fingers around the screen. It is not a coincidence that Apple still keeps two separate UI models for computers and devices. When you are mostly using the keyboard (writing emails, text, computer programs, HTML pages), the traditional UI seems more effective.

Truly, Windows 8 will still run any existing Windows application. And those won't be tiled, and use the full screen (or half screen), but will use the classic overlapping metaphor. I'm sure that in many circumstances the new UI will make sense, but I'm also sure many users will find a way to disable it completely in their Windows 8 PC... or else they'll stick with Windows 7 for some time to come. Indeed, a pivotal moment for Microsoft.

Windows 8 and Development

Of course, I'm specifically interested in how you develop applications for Windows 8. First, classic applications will still run with the traditional UI; so your Delphi program will still have some road ahead. Notice, though, that Windows 8 will apparetly run also on non Intel-86 CPUs, where the Delphi applications won't go (as for any existing Microsoft application). As probably many other developers, when the video started I was expecting to hear that Silverlight would have been the engine behind the new tiled UI. Instead, they stated quite clearly it will be all JavaScript and HTML. So not only have .NET and Silverlight been set a side for browser-based development, but they also seem not to be in the spotlight for future Windows client apps. Quite odd, indeed. And Microsoft is not commenting.

Now the interesting element will be how the two sides will cooperate. I suspect that a classic Delphi program with a build in HTTP server could provide the information to the "tiles", and possibly even generate the HTML and JavaScript for them. Since I'm doing quite a lot of work in that direction (Delphi applications generating their client JavaScript app, in my Delphi Relax framework) I'm curious if this will become an effective model. It might as well be. For sure, this will further push JavaScript, which is probably the most growing programming language these days.

In any case, we'll have to wait until September 13th and Microsoft's renamed PDC conference (now BUILD (Windows) conference) to know. I'm wondering if I can get the week free and get to California for the event... or just reserve some time for the remote podcasts. By coincidence, this is almost in the same dates of the Delphi Live conference (that I'm not planning to attend, at the moment).

In conclusion, I have to say that like many other long-time Windows developers, I'm really puzzled (and a little worried for Microsoft). We'll see. Your impressions?