I'm drafting this post in WordPad*, on the basis that I don't have much else installed on Windows 8 - I could have written it directly into the browser, but this feels like a better place to start - I've got a lot to say, and may need to make a small mini-series out of it.
Setting the scene a bit, I was encouraged to write this after I pulled Scott Hanselman into a G+ discussion about other peoples views on the Windows 8 Developer Preview. We were challenged by him to stop wasting our precious keystrokes and blog about it, and others had previously been riled by my statement that we're not "typical" users any more, and wanted to know my thoughts… All the while I'm trying to "remember that this is a Developer Preview, it's not Beta, or even Alpha".
Whilst I've not yet spent all that long playing with it, I've read and watched a few things around the web this week, and so have been forming thoughts for a little while, and here's my opinion, and my guesses as to some possible justifications - note that I am guessing here, and your guesses might be different and more accurate.
One of the big discussions we'd been having was "Who is Metro aimed at?". It's clearly a "Touch First" UI, and indeed preferring a tablet form factor over anything else - using a mouse in there really does feel like a poor runners up choice. My stance was that these days more "typical" users are using tablet devices (mostly with an i at the front) and MS are clearly hoping to get in on that action, and they are using them for content consumption rather than content creation (whatever that content may be, from graphics, music or video through to word documents, spreadsheets, and applications). In that sort of situation, were a user is consuming some media, perhaps along side watching the telly, a full screen app held at not quite arms length on a touchable interface makes a lot of sense. For those of us still creating content, generally this will require the more formal interfaces of mouse and keyboard**.
Now that I've been using it, my initial thoughts are somewhat confused - but I hope that this is because of the early nature of things - a lot of the apps behave inconsistently - for example when I first saw the Metro start screen I thought: "I hope that scrolls left and right as I scroll the mouse wheel up and down", and it does, so I am happy navigating around in there. But so many of the other apps don't do this at the moment (Socialite, Tweet@rama and News/RSS to name three) - which worries me: is this something that Devs are going to have to implement in every app? Shouldn't this be the "native" behaviour of the "Grid Application"?
I know Metro is targeting the Tablet form factor, and I don't yet know how much the frameworks are hiding the fact that the user is using a mouse or a finger for navigating around, but there seems to be a lot of "mystery meat" navigation or buttons, and the usual trick of hovering over them doesn't work, because nothing pops up to tell you what the name of the button is - presumably because you can't hover with a finger.
Take Metro IE for example - what does the button on the right do:
Open a new tab? Open a new URL? Apparently it allows you to search for content, or switch to Desktop IE:
One of the things I've been dabbling with over the last few years is XNA - this isn't in the Windows 8 Dev Preview, and hasn't been mentioned on the technology plans (other than in the negative) - I believe the reason for this is the move to DirectX 11 - XNA at the moment targets the implementations of DirectX on the XBox and Windows Phone platforms (9) - and there are at least two factors at work here:
- Different Hardware - Historically, new versions of DirectX have needed new hardware to fully support them, this isn't an option with the XBox or Phones, and adding a new version of XNA doesn't work on the XBox will cause confusion I'm sure.
- Different Teams and Timescales - XNA has often lagged the framework updates a little bit.
This was exacerbated for me at least with the demo at //build/ where they show building a controller aware application, and to do this, they had to build a C++ wrapper - this raises a much higher barrier to entry than just adding a Controller object to your class.
This is a shame, because I've always held the opinion that the easiest way to get kids interested in programming is to get them writing games - it's how I started, and how a lot of my friends started. But then along came the consoles, and they were hard to develop for unless you had the funds for a dev kit ($10,000 for the original XBox I believe); XNA changed all that, and it would be a shame to lose it again.
It's possible that these wrappers will move into the main framework (or sit officially in the Microsoft namespace rather than System) at some point in the not too distant future.
Overall, I think I'll like it, the system is generally snappy and responsive (but this hardware is no slouch), and I'm putting the glitches there down to early drivers and odd hardware rather than anything else, but I'm not sure how much time I'll spend in Metro.
There's more to come, but that will do for now, as I was up too late last night playing with Windows 8.
* That was a very bad choice, at this point in time, on this computer, the rendering of the text in the document, and more importantly, the location of the caret in relation to it is way off - I've not used it in so long I can't say if this is a feature of the app or the OS.
** Which now neatly sets the scene for Voice Recognition to come of age, and we'll all be plugging a Kinect into our PCs to enable the touch features even without a touch screen. April 2012 at the latest, along with my flying car.
Filed under: Opinion, Windows 8