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.

Thursday, June 02, 2011

First thoughts on Windows 8

I love it.. It’s different, vibrant and looks like it may be a massive winner on touch/portable devices. This is the exact area that Microsoft have been struggling in.. That would make this a Win++

Unfortunately, I have some massive issues that come to mind straight away.. I’ll do my best to explain, but while I do, please remember that I’m a desktop jockey, I’ve working in WinForms, WPF and Silverlight since .Net was first released.

Desktop Machines and Monitors

I work on PCs, I play serious PC games. Both my work machine and home machines have multiple/large monitors, and I always have a bucket load of apps running at any given time. Visual Studio can easily consume 2 screens, while a third hosts a browser, email, whatever. That’s three screens of content that’s needed at a given time.

From the initial view of Windows 8 (and yes, it’s still very early days), it seems to focus around a single application running in full screen mode. Multitasking is done via hiding the other programs, or even snapping 2 programs into onto a single screen. I’d like to see how this strategy works across multiple monitors, for what I consider “power” users.

The other thing I’d like to add to this is “Large” screens. I use where possible, the largest screens I can get my hands on at a decent price. 24” monitors are now cheap and plentiful. 24” touch screens are virtually non-existent.. The new UI, while it can be navigated with a mouse, looks to be way more fun and focused on touch. I’m really hoping MS know something about the future of touch screens and availability that isn’t currently available.

I’m not going to bother with the whole ergonomics of touch screens on desktops..

HTML5 and Javascript

The strategy is good.. Lets let all the little script kiddies to write apps for Windows… The more people we have the better.. Right??

It’s an interesting strategy, but one that I’m really hoping the guys in the windows team have thought long and hard about. As I noted about, I’m a desktop jockey. I write and support some apps that are just not suitable for the web.

I understand that “Windows” still exists under all the pretty tiles etc, but will this new interface be accessible to some of the existing desktop tools? It’s been no secret that WPF isn’t getting any love, and Silverlight’s life is being heavily evaluated. Am I about to be put into a position where I choose between becoming a HTML5/Javascript kiddie or going back to the dark ages and working with C++… I really hope now.

Windows Phone

This somewhat goes back to the whole HTML5/Javascript thing above. Right now, I have a nice, shiny HTC Mozart. It’s powered by Windows Phone 7. Apps on my phone are written in managed code, using Silverlight or XNA. Basically, apps are powerful, can do lots of things, and are very easy to write. What my phone can’t do is run apps written in HTML5 natively. Personally, I don’t have a problem with that, but why then, does my powerful desktop machine now have to run apps written by script kiddies, while it can’t run the same thing my phone can?

The rest.

Clearly, some of what I’ve written is quite possibly over the top. I hope that some managed languages continue to be supported as first class citizens in Windows 8, and that MS have their schiznitz together in the desktop department. I hope that Windows 8 isn’t so focused on winning ground in the tablet market that it completely abandons heavy desktop users.

As with most things like this, it’s still very early days. These are my first reactions (and appear to be the same as thousands of others based on my twitter feeds), and I can only hope that MS have a lot more information to announce over the coming months.