Friday, June 03, 2011

Pure Speculation

I’ve had a night to kick back and mull over the whole Windows 8 live tiles HTML 5/JavaScript thing. The more and more I think about this, the more interested I get in it. I need to clarify again that this is all speculation, based on a single presentation which lacked any information about technical aspects, but based on current implementations of various technologies we can come up with some fun speculation.

HTML, JavaScript and .Net are all interpreted. That’s probably the key thing about this whole argument that I find the most interesting. HTML and JavaScript have had a lot of love from the IE team, and more recently from within the Windows Team.

From various sources around the web, we’ve heard about Native HTML, and even the effort being put into a faster JavaScript engine. It’s the “Our JavaScript Engine is fastest” trend in the industry at the moment that’s driving a lot of this. Not so much the adoption within windows, but more the fact that Microsoft have a fast JS engine.

Just like JavaScript and HTML, .Net is interpreted at runtime. All .Net code is compiled down to IL, which is then JIT compiled on the fly. This isn’t a bad thing. What is a bad thing, is the current load time for .Net. The load time is still a pain for managed developers, and in fact, IE can now load and render a web site faster than even the most simple .Net apps can load. This isn’t a good thing.

So, we have 2 different technologies, one is lightning quick to load, while the other isn’t.

From here, we need to look at yet another trend in the industry, the “I want it now” trend. People expect PCs/devices to be running and usable in seconds, not minutes, and the Windows Team are busy playing this same game. This is pure speculation, but I suspect that by focusing only on HTML5 and JavaScript, they can have a “Start Screen” loaded and responsive well before the rest of the OS has time to finish spinning up services, pre-caching apps and all the other nice to have features used on desktop machines.

It’s this desire for a fast start up time that hurts .Net. Spinning up the .Net runtime is expensive at the best of times, and adding that cost to the start up time for Windows is expensive.

So, I would hazard a guess that this is the decision that the Windows Team were stuck with.

Now for my grumpy .Net Rant… It’s been the Windows Team that have done nothing for years to help the world of .Net performance, so in effect, this whole situation is probably of their own making. Had they put in some effort to help out, we may be in a completely different position today.

Now after this little rant, I’d like to say that I still hold out hope that yesterdays presentation was just a little poorly thought out, and the .Net is going to be treated like a first class citizen within the new tablet interface.

No comments: