Posts Tagged‘winrt’

Microsoft’s Surface RT: It’s Nice, But…

Just like any new tech gadget I’ve been ogling tablets for quite some time. Now I’m sure there will be a few who are quick to point out that I said long ago that an ultrabook fills the same niche, at least for me, but that didn’t stop me from lusting after them for one reason or another. I’d held off on buying one for a long time though as the price for something I would only have a couple uses for was far too high, even if I was going to use it for game reviews, so for a long time I simply wondered at what could be. Well whilst I was at TechEd North America the opportunity to snag a Windows Surface RT came up for the low price of $99 and I, being able to ignore the fiscal conservative in me and relent into my tech lust, happily handed over my credit card so I could take one home with me.

IMG_3901

It’s quite a solid device with a noticeable amount of heft in it despite its rather slim figure. Of particular note is the built in kick stand which allows you to sit the Surface upright, something which I’ve heard others wish for with their tablets. It’s clear that the Surface as been designed to be used primarily in landscape mode which is in opposition to most other tablets that utilize the portrait view. For someone like me who’s been a laptop user for a long time this didn’t bother me too much but I can see how it’d be somewhat irritating if you were coming from another platform as it’d be just another thing you’d have to get used to. Other than that it seems to be your pretty standard tablet affair with a few tweaks to give it a more PC feel.

The specifications of it are pretty decent boasting a WXGA (1366 x 768) 16:9 screen powered by a NVIDIA Tegra3 with 2GB RAM behind it. I’ve got the 64GB model which reports 53GB available and 42GB free which was something of a contentious point for many as they weren’t getting what they paid for (although at $99 I wasn’t going to complain). It’s enough that when using it I never noticed any stutter or slow down even when I was playing some of the more graphically intense games on it. I didn’t really try any heavy productivity stuff on it because I much prefer my desktop for work of that nature but I get the feeling it could handle 90% of the tasks I could throw at it. The battery life also appears to be relatively decent although I have had a couple times where it mysteriously came up on 0 charge although that might have been due to my fiddling with the power settings (more on why I did that later).

Since I’ve been a Windows 8 user for a while the RT interface on the Surface wasn’t much of a shock to me although I was a little miffed that I couldn’t run some of my chosen applications, even in desktop mode, notably Google Chrome. That being said applications that have been designed for the Metro interface are usually pretty good, indeed the OneNote app and Cocktail Flow are good examples of this, however the variety of applications available is unfortunately low. This is made up for a little by the fact that the browser on the Surface is far more usable than the one on Windows Phone 7 enabling many of the web apps to work fine. I hope for Microsoft’s sake this changes soon as the dearth of applications on the Surface really limits its appeal.

The keyboard that came with the Surface gets a special mention because of just how horrid it is. Whilst it does a good job of being a protective cover, one that does have a rather satisfying click as the magnets snap in, it’s absolutely horrendous as an input device, akin to typing on a furry piece of cardboard. Since there’s no feedback it’s quite hard to type fast on it and worse still it seems to miss key presses every so often. Probably the worst part about it is that if your surface locks itself with it attached and then you remove it you will then have no way to unlock your device until you re-attach it, even if you’ve set a PIN code up. I’ve heard that the touch cover is a lot better but since it was going for $100 at the time I wasn’t too keen on purchasing it.

The Surface does do a good job of filling the particular niche I had for it, which was mainly watching videos and using it to remote into my servers, but past that I haven’t found myself using it that much. Indeed the problem seems to be that the Surface, at least the non-pro version, is stuck halfway between being a true tablet and a laptop as many of its features are still computer-centric. This means that potential customers on either side of the equation will probably feel like they’re missing something which I think is one of the main reasons that the Surface has struggled to get much market share. The Pro seems to be much closer to being a laptop, enough so that the people I talked to at TechEd seemed pretty happy with their purchase. Whether that translates into Microsoft refocusing their strategy with the Surface remains to be seen, however.

The Surface is a decent little device, having the capabilities you’ve come to expect from a tablet whilst still having that Microsoft Windows feel about it. It’s let down by the lack of applications and dissonance it suffers from being stuck between the PC and tablet worlds, something that can’t be easily remedied by a software fix. The touch cover is also quite atrocious and should be avoided at all costs, even if you’re just going to use it as a cover. For the price I got it for I think it was worth the money however getting it at retail is another story and unless you’re running a completely Microsoft house already I’d struggle to recommend it over an ultrabook or similarly portable computing device.

Windows RT Running on ARM Has Full Win32 Compatibility.

As far back as I can remember the differences between the full version of Windows 8 and the tablet version, now dubbed Windows RT, were made pretty clear. Whilst the Modern UI section of them was going to be essentially identical the full version of Windows wasn’t going to run on anything that wasn’t x86 compatible and RT would be the version that could run on low power systems like ARM. This, logically, came with some draw backs the largest of which is the omission of the desktop environment on Windows RT devices. In all honesty this didn’t bother me as Microsoft is making a version of their Surface tablet (and I’m sure others will as well) that would run the full desktop anyway.

The delineation also made a lot of sense due to the different markets that both versions were targeting. The full version is squarely aimed at the desktop/laptop space whilst the RT version is strictly for mobile computing. In terms of functionality there’s a lot of crossover between these two spaces but the separation essentially meant that you had your desktop with its oodles of backwards compatibility that Microsoft is known for whilst also getting that nice, highly focused tablet environment should you want it.

However as it turns out Windows RT is far more full featured that I first thought and is capable of running Win32 applications:

Windows 8 RT Running x86 Programs

Thanks one intrepid user, Clrokr, over at XDA Developers it has been found out that Microsoft actually included full Win32 compatibility in Windows RT devices that run on the ARM architecture. Whilst this doesn’t mean you can straight up run those executables on said platform it does mean that any Windows application that you have the source of can be recompiled to run, without issue, on Windows RT devices. The above screenshot is from another user, peterdn, who has recompiled PuTTy to run on ARM and it appears to be functioning quite fine. Other applications have also been tested as well and shown to work as you’d expect.

Thinking about it more clearly this shouldn’t have come as a surprise as the architecture diagram for Windows 8 clearly shows that C/C++/C# are fully supported on both platforms and the inclusion of the desktop on Windows RT devices (again something I wasn’t aware of) would have you thinking everything was there to support this. As it turns out the only thing that was stopping this from working in the first place was runtime authentication level that was hard coded to only allow Microsoft signed applications to run in such an environment. The jailbreak that Clrokr details in this post is simply an in memory overwrite of this value which will allow any application to run. From there you just need to recompile your application and you’re golden.

The reasons for the lock out make sense from a business point of view: Microsoft was trying to create a pristine tablet environment that was tightly controlled in order to create a better experience. However at the same time porting all of the underlying architecture to ARM would have required quite a bit of effort and locking this functionality away from people seems like a strange idea. Whilst I’m not going to say they should unlock it for everyone having it as a configurable option would have meant that most users wouldn’t know about it but power users, like the ones who discovered this, could take advantage of it. I haven’t seen if Microsoft has made an official response to this yet or not but I’m sure they’d win more than a couple fans if they did this and it doesn’t look like it would be that hard to implement.

I was genuinely surprised by this as I hadn’t caught on pretty much all of Windows, including everything that makes it tick under the hood, had been ported across to the ARM architecture. I had believed that it was just a port of the core functionality required to support the WinRT framework but as the above screenshots prove Windows RT devices are pretty much fully fledged copies of Windows, they just need their applications recompiled in order to work. Of course questions of how those applications fair vs their modernized counterparts in a tablet environment remains to be seen but it’s interesting that the option is there and that Microsoft has gone to such lengths to keep people from fiddling with it.

 

Windows 8, Games and The Critical Miss of Expecting The Desktop to Disappear.

If you were to believe what some games industry big wigs were saying you’d be lead to believe that Windows 8 was the beginning of the rapture for games on the Microsoft platform. At first it was just a couple developers, big ones in their own right (like Notch), but when someone like Gabe Newell chimes in you start to take notice as distributing games on the Windows platform is his bread and butter and he doesn’t say things like this lightly. However as someone who’s grown up on the Microsoft platform, from the old MS-DOS days until today where I’m running Windows 8 full time on my home PC, and has made his career on their products I still can’t help but feel that their concerns are misplaced as they seem to hinge on a fundamental miscalculation about Microsoft’s overall product strategy.

Those concerns are laid out in lengthy detail by Casey Muratori in his latest instalment of Critical Detail: The Next Twenty Years. In there he lays out the future of the Microsoft platform, drawing on the past few decades of Microsoft’s developments and using them to draw conclusions about what the Microsoft ecosystem will look like in 2032. In this world the future of games on Windows seems grim as all the current AAA titles don’t meet the requirements to be present on the Windows Store and the desktop interface is long gone, effectively destroying the games industry on any PC running their operating system.

It’s a grim future and the number of people worried about this coming to fruition seems to increase on a daily basis. However I believe that some of the assumptions made ignore critical facts that render all this doom and glooming moot, mostly because they ignore Microsoft’s larger strategies.

Before I dive into that however let me just acknowledge that yes the Windows Store doesn’t seem like it would be a great place for current games developers. Realistically it’s no different from Google Play or the iOS App Store as many of the requirements are identical. Indeed all of the platforms strive for the same “family friendly” environment that’s bereft of porn (or anything overtly sexual), violence and excessive profanity which does exclude a good number of games from making their debut on the platform. This hasn’t stopped countless numbers of companies from profiting on this platform but there is no denying that the traditional games industry, with its love of all those things these market places abhor, would struggle with these guidelines.

The fundamental misstep that many games developers appear to be making though is thinking that the Windows Store and the guidelines that come along with it will be the only platform available for them to release games onto the Windows operating system. Looking back to previous examples of Windows does show that Microsoft puts an end date on many technologies however I don’t believe that the desktop will be among them. Sure you might not be able to write a DOS game and have it run in Windows 8 but you can take a MFC app built in 1992 and run today (with the biggest challenge there possibly being recompiling it, but the same code will work).

The reason for the Metro (or Modern or whatever they’re calling it now) interface’s existence is not, as many believe, a direct reaction to the success of the iPad/Android devices and Microsoft’s failure to capitalize on it. The Metro interface, which is built upon the WinRT framework, exists primarily to provide a unified platform where applications can provide a unified experience across the three major screens which users interact with. The capabilities provided within that framework are a fairly comprehensive subset of the larger .NET framework but it’s not fully feature complete as the instruction set needed to be cut down in order for it to be usable on ARM based devices. Whilst it still has access to the goodies required to make games (you can get DirectX on it for example) it’s still not the default platform, is just another one which developers can target.

If the WinRT/Metro framework was Microsoft’s preferred direction for all application development then it wouldn’t be the bastard step-child of their main development technologies, it would become the new .NET. Whilst it is going to be the framework for cross platform applications it’s most definitely not going to be the platform for native development on Windows PCs. The argument can be made that Microsoft wants to transition everyone to WinRT as the default platform but I’ve seen no evidence to support that apart from the idea that because the Metro UI is front and centre that means it’s Microsoft’s main focus.

I find that hard to believe as whilst Metro is great on tablets and smart phones it unfortunately struggles in a mouse and keyboard environment as nearly every review of it has mentioned. Microsoft isn’t stupid, they’ve likely heard much of this feedback through other channels and will be integrating it into their future product strategies. To simply say that they’ll go “Nope, we know we’re going in the right direction and completely killing the desktop” is to be ignorant of the fact that Microsoft works extremely closely with their customers, especially the big organisations who have been the most vocal opponents of Metro-first design. They’re also a pretty big player in the games industry, what with that Xbox being so darn popular, so again I fail to see how they wouldn’t take the feedback on board, especially from such a dedicated audience like us PC gamers.

I’d lend some credence to the theory if the desktop environment hadn’t received much love in Windows 8 in lieu of all the work done on Metro but yet again I find myself coming up empty handed. The UI received a massive overhaul so that the styling would be in line with the rest of Microsoft’s products and there have been numerous improvements in functionality and usability. Why Microsoft would invest so heavily in something that will be slated to be removed within a couple generations of Windows releases is beyond me as most of their deprecated technologies receive no updates for decades prior to them being made obsolete.

And the applications, oh don’t get me started about Microsoft’s own applications.

Whilst Metro has some of the basic applications available in it (like Office and….yeah Office) all of Microsoft’s current catalogue received a revamp as desktop applications, not Metro apps. You’d think that if their future direction was going to be all Metro-esque that more of their staple application suites would have received that treatment, but they didn’t. In fact the amount of applications that are available on the desktop vs the ones available on Metro makes it look more like Metro was the afterthought of the desktop and not the other way around.

If Microsoft’s future is going to be all Windows Store and WinRT apps there’s really no evidence showing to show for it and this is the reason why I don’t feel sympathetic to those developers who are bellyaching about it. Sure if you take a really, really narrow view of the Microsoft ecosystem it looks like the end is nigh for the current utopia of game development that is Windows 7 but in doing so you’re ignoring the wealth of information that will prove you otherwise. The Windows Store might not be your distribution platform of choice (and it likely will never be) but don’t think that the traditional methods that you’ve been using are going anywhere because if Microsoft’s overall strategy is anything to go by they aren’t.

Three Screens Begins With Windows 8 and Xbox Live Arcade.

In the middle of last year I commented on some rumours that were circling around the Internet about how Xbox Live was coming to Windows 8 and along with it the ability to play some Xbox titles. The idea would have seemed to come out of left field for a lot of people as there’s no real incentive to enable such functionality (especially considering just how damn hard it would be to emulate the Xbox processor) but considering it alongside the Three Screens and a cloud idea it was just another step along the platform unification path. Since then however I hadn’t seen much more movement on the idea and instead figured that eventually everything would be united under the WinRT platform and was waiting to see an announcement to that effect.

As it turns out Microsoft are actually bringing several Xbox titles to Windows 8 next month.

The lion’s share of the titles that will be released on the Windows 8 platform are from Microsoft Studios with a couple big name developers like Rovio and Gameloft joining in the party. All of the first wave of titles will be playable on any Windows 8 platform and a few of them (most notably the relatively simple titles like Solitaire and some word games) will stretch onto Windows Phone 8 with things like resuming games that you started on another platform. Looking at the list of titles I can’t help but notice the common thread among them and I’m not quite sure to make of it.

For many of the third party titles its quite obvious that their release on Windows 8 (ostensibly on WinRT) is just yet another platform for them to have their product on. Angry Birds, for instance, seems to make it a point of pride that they’re on pretty much every platform imaginable and the fact that they’re on Windows 8 really shouldn’t come as much of a surprise. Indeed quite a lot of them are already multi-platform titles that cut their teeth on one mobile platform or another and realistically their move onto the Xbox (and from there to Windows 8) will just be another string in their bow. I guess what I’m getting at is that many of these titles already had the hard work of getting ports working done for them and it’s less indicative of how flexible the underlying WinRT platform really is.

Indeed the most innovative uses of WinRT come from the first party Microsoft titles which, whilst being unfortunately bland, do show what a truly agnostic application is capable of. They all feature a pause/resume function that works across platforms, ability to work with both touch interfaces as well as traditional mouse and keyboards and lastly some of them feature cross platform competitive play. It’s unfortunate that the third party developers didn’t look to take advantage of these capabilities but I can understand why they didn’t for these first wave of games; the investment would be too high for the potential pay off.

What I think really needs to be done is to bring the WinRT platform to the Xbox360 via a system update. Whilst its all well and good to have some Xbox titles ported to Windows 8 its really only a stopgap solution to bringing a unified platform to all of the three screens. Right now the only platform that’s lacking some form WinRT is the TV screen and that could be remedied via the Xbox. Whether that comes in the current generation or in Durango though will have to remain to be seen but it would be a great misstep from Microsoft to ignore the fact that the final piece of the puzzle is WinRT in the living room.

Microsoft really is onto something with the unified experience between all their available platforms and they’re really not that far off achieving it. Whilst it will take a while for third party developers to come out with apps that take advantage of the platform the sooner that it’s available across all three screens the sooner those apps will come. This first wave of games from Xbox live gives us a tantalizing little glance of what an unified platform could bring to us and hopefully subsequent waves take inspiration from what Microsoft has been able to do and integrate that into future releases.

Windows Phone 8 and Surface: Another Step Forward For Platform Unification.

I have a confession to make: I never took the plunge and bought a Windows Phone 7 handset like I said I would. It’s not because I didn’t want one, new gadgets are something I have a hard time turning down, it’s just that my desire to get one was overcome by the notion of spending several hundred dollars on a handset I wouldn’t use every day. I still kept my eye on them thanks to several people I work with having them but even their raving reviews of it weren’t enough to pull me away from my now Ice Cream Sandwich blessed Galaxy S2. In all honesty I had pretty much given up on Microsoft’s mobile efforts as they didn’t look like they’d be able to retake the crown they’ve lost to Google and Apple.

News comes today however that Microsoft has announced their latest version of their mobile operating system, Windows Phone 8. Unlike Windows Phone 7 which was more of a preview of Windows 8 than anything else WP8 keeps the same aesthetic that’s won them significant praise whilst firmly bringing their mobile platform into the Three Screens vision. WP8 also brings all the other improvements we’ve come to expect from new release such as support for faster phones, bigger screens, NFC and an upgraded browser that. The biggest improvement, from my point of view at least, is that WP8 devices will be running the full WinRT framework essentially elminating the gap between their tablet/ARM devices and their mobile line.

Now this isn’t anything that hasn’t been done before, Apple has long had a similar level of platform ubiquity between their tablet and handset platforms. However WinRT does provide the capability for applications to run on desktops as well, something Apple (or anyone else for that matter) has yet to achieve. Whilst the 3rd screen, the TV, has yet to receive the WinRT treatment from any Microsoft product it would seem to be a safe bet that the next generation Xbox will feature the framework. This is of course wild speculation on my part however Microsoft would be foolish not to take advantage of the foothold they already have in the home entertainment space and I’m sure the people inside Microsoft think in the same way.

Interestingly enough the announcement of Windows Phone 8 comes hot off the heels of another announcement from Microsoft: that of their new Surface tablet. Now this isn’t to be confused with the original Surface table as that’s now been renamed to Microsoft PixelSense. No this tablet is a lining up to be a direct competitor to the iPad having very similar styling and identical use cases. The differences appear to be however that the Surface will come in two versions, one WinRT only and the other a full blown x86 PC. The delineation isn’t made lightly and it’s obvious that the x86 model is going to be aimed more at corporate users who need all their applications and the WinRT version will be meant for the consumers. It looks like a solid product however I can’t help but shake the feeling that it might not be the greatest step forward for Microsoft.

You see whilst Microsoft does need to do something about getting into the tablet space they’ve already done most of the legwork with Windows 8. They already have great relationships with OEMs and this is why you don’t see a whole bunch of Microsoft branded devices around the shop: they make the software and others provide the hardware. Getting into the tablet business means they’re kind of thumbing their nose at the OEMs, especially when each license for Windows 8 will cost them $85. As long as Microsoft makes their tablet a premium price range product though this won’t be so much of an issue but they could really do some damage to their OEM relationships if their tablets debut in the $200~$400 range. Since there’s not a whole bunch of information about it now I’ll have to play wait and see with this one as things could change significantly between now and launch day.

Microsoft’s mobile platform has been taking a battering from every side but with the unification between all of their platforms they might just be able to tempt people away from their Android and iPhone comfort zones. Certainly the unified platform provided by WinRT will be attractive to developers and that will hopefully see more killer applications find their way onto Windows Phone 8. The next year of Windows 8 related releases will be key for Microsoft’s future and will be telling if their vision for platform unification is the direction they need to be heading in.

Durango, Orbis and What’s Influencing the Next Generation of Consoles.

The current generation of consoles is the longest lived of any generation of the past 2 decades. There are many reasons for this but primarily it came from the fact that the consoles of this generation, bar the Nintendo Wii, where light years ahead of their time at release. In a theoretical sense both the Xbox360 and the PlayStation 3 had 10 times the computing power of their PC contemporaries at release and they took several years to catch up. Of course now the amount of computing power available, especially that of graphics cards, far surpasses that which is available in console form and the gaming community is starting to look towards the next generation of consoles.

The last couple weeks have seen quite a lot of rumour and speculation going around as to what the next generation of consoles might bring us. Just last week some very detailed specifications on the PlayStation4, codenamed Orbis, were made public and the month before revealed that the new Xbox is codenamed Durango. As far as solid information goes however there’s been little to come by and neither Sony or Microsoft have been keen to comment on any of the speculation. Humour me then as I dive into some of the rumours and try to make sense of everything that’s flying around.

I’ll focus on Durango for the moment as I believe that it will play a critical part in Microsoft’s current platform unification crusade. Long time readers will know how much I’ve harped on about Microsoft’s Three Screens idea in the past and how Windows 8 is poised to make that a reality. What I haven’t mentioned up until now is that Microsoft didn’t appear to have a solution for the TV screen as the Xbox didn’t appear to be compatible with the WindowsRT framework that would underpin their platform unification. Rumours then began swirling that the next Xbox could be sporting a x86 compatible CPU, something which would make Metro apps possible. However SemiAccurate reports that it’s highly unlikely that the Durango CPU will be anything other than another PowerPC chip, effectively putting the kibosh on a Three Screens idea that involves the Xbox.

Now I don’t believe Microsoft is completely unaware of the foot hold they have in the living room when it comes to the Xbox so it follows that either Durango will have a x86/ARM architecture (the 2 currently confirmed WinRT compatible architectures) or WinRT will in fact work on the new Xbox. The latter is the interesting point to consider and there’s definitely some meat in that idea. Recall in the middle of last year that there was strong evidence to suggest that Windows 8 would be able to play Xbox360 games suggesting that there was some level of interoperability between the two platforms (and by virtue the Windows Phone 7 platform as well). Funnily enough if this is the case then it’s possible that Metro apps could run on the Wii U but I doubt we’ll ever see that happen.

Coincidentally Orbis, the PlayStation3 successor, is said to be sporting a x64 CPU in essence eliminating most of the differences between it and conventional PCs. Whilst the advantages to doing this are obvious (cross platform releases with only slight UI and controller modifications, for starters) the interesting point was that it almost guarantees that there will be no backwards compatibility for PlayStation3 games. Whilst the original PlayStation3s contained an actual PS2 inside them the vast majority of them simply emulated the PS2 in software, something that it was quite capable of doing thanks to the immense power under of the PlayStation3. Using a more traditional x64 CPU makes this kind of software emulation nigh on impossible and so backwards compatibility can only be achieved with either high end components or an actual Cell processor. As Ars Technica points out it’s very likely that the next generation of consoles will be more in line with current hardware than being the computational beasts of their predecessors, mostly because neither Microsoft or Sony wants to sell consoles at a loss again.

The aversion to this way of doing business, which both Microsoft and Sony did for all their past console releases, is an interesting one. Undoubtedly they’ve seen the success of Nintendo and Apple who never sell hardware at a loss and wish to emulate that success but I think it’s far more to do with the evolution of how a console gets used. Indeed on the Xbox360 more people use it for entertainment purposes than they do for gaming and there are similar numbers for the PlayStation3. Sony and Microsoft both recognise this and will want to capitalize on this with the  next generation. This also means that they can’t support their traditional business model of selling at a loss and making it up on the games since a lot of consoles won’t see that many games purchased for them. There are other ways to make up this revenue short fall, but that doesn’t necessarily mean they can keep using the console as a loss leader for their other products.

All this speculation also makes the idea of the SteamBox that much more interesting as it no longer seems like so much of an outlier when lumped in with the next generation of consoles. There’s also strong potential that should a console have a x86/x64 architecture that the Steam catalogue could come to the platform. Indeed the ground work has already been done with titles like Portal 2 offering a rudimentary level of Steam integration on the PlayStation3, so it’s not much of a stretch to think that it will make a reappearance on the next generation.

It will be interesting to see how these rumours develop over the next year or so as we get closer to the speculated announcement. Suffice to say that the next generation of consoles will be very different beasts to their predecessors with a much more heavy focus on traditional entertainment. Whether this is a positive thing for the gaming world at large will have to remain to be seen but there’s no mistaking that some radical change is on the horizon.

Changing the User Paradigm with Windows 8.

As any IT admin will tell you users aren’t really the best at coping with change. It’s understandable though, for many people the PC that they use in their everyday work is simply a tool with which to accomplish their required tasks, nothing more. Fundamentally changing the way that tool works means that they also have to change the way they work and often this is met with staunch resistance. As such it’s rather difficult for new paradigms to find their feet, often requiring at least one failed or mediocre product to be released in order for the initial groundwork to be done and then the next generation can enjoy the success that its predecessor was doomed to never achieve.

We don’t have to look that far into the past to see an example of this happening. Windows Vista was something of a failure commercially which can be traced to 2 very distinct issues. The first, and arguably the most important, was the lack of driver support from vendors leaving many users with hardware that simply couldn’t run Vista even if it was technically capable of doing so. The second was the major shift in the user experience with the start menu being completely redesigned and many other parts of the operating system being revamped. These 2 items were the 1-2 knock-out punch that put Vista in the graveyard and gave Windows 7 one hell of an up hill battle.

Windows 8, whilst not suffering from the driver disaster that plagued Vista, revamps the user experience yet again. This time however it’s more than just a simple splash of eye candy with a rearranging of menu items, it’s a full on shift in how Windows PCs will be used. Chief amongst these changes is the Metro UI which after being field tested on Windows Phone 7 handsets has found its way onto the desktop and any Windows powered device. Microsoft has made it clear that this will be the way they’ll be doing everything in the future and that the desktop as we know it will soon be fading away in favour of a Metro interface.

This has drawn the ire of IT professionals and it’s easy to see why. Metro is at its heart designed for users, taking cues from the success that Apple has achieved with its iOS range of products. However whilst Apple is happy to slowly transform OS X into another branch of their iOS line Microsoft has taken the opposite approach, unifying all their ecosystems under the one banner of Metro (or more aptly WinRT). This is a bold move from Microsoft essentially betting that the near future of PC usage won’t be in the desktop sense, the place where the company has established itself as the dominant player in the market.

And for what it’s worth they’re making the right decision. Apple’s success proves that users are quite capable (and willing) to adapt to new systems if the interfaces to them are intuitive, minimalistic and user focused. Microsoft has noticed this and it is looking to take advantage of it by providing a unified platform across all devices. Apple is already close to providing such an experience but Microsoft has the desktop dominance, something that will help them drive adoption of their other platforms. However whilst the users might be ready, willing and able to make the switch I don’t think Windows 8 will be the one to do it. It’s far more likely to be Windows 9.

The reasoning behind this is simple, the world is only just coming to grips with Windows 7 after being dragged kicking and screaming away from Windows XP. Most enterprises are only just starting to roll out the new operating system now and those who have already rolled out don’t have deployments that are over a year old. Switching over to Windows 8 then is going to be something that happens a long way down the line, long enough that many users will simply skip upgrading Windows 8 in favour of the next iteration. If Microsoft sticks to their current 3 year release schedule then organizations looking to upgrade after Windows 7 won’t be looking at Windows 8, it’s far more likely to be Windows 9.

I’m sure Microsoft has anticipated this and has decided to play the long game instead of delaying fundamental change that could put them seriously behind their competition. It’s a radical new strategy, one that could pay them some serious dividends should everything turn out the way they hope it will. The next couple years are going to be an interesting time as the market comes to grips with the new Metro face of the iconic Windows desktop, something which resisted change for decades prior.

Silverlight May Die, But the Developers Won’t.

You’d think that since I invested so heavily in Silverlight when I was developing Lobaco that I would’ve been more outraged at the prospect of Microsoft killing off Silverlight as a product. Long time readers will know that I’m anything but worried about Silverlight going away, especially considering that the release of the WinRT framework takes all those skills I learnt during that time and transitions them into the next generation of Windows platforms. In fact I’d say investing in Silverlight was one of the best decisions at the time as not only did I learn XAML (which powers WPF and WinRT applications) but I also did extensive web programming, something I had barely touched before.

Rumours started circulating recently saying that Microsoft had no plans to develop another version of the Silverlight plugin past the soon to be released version 5. This hasn’t been confirmed or denied by Microsoft yet but there are several articles citing sources familiar with the matter saying that the rumour is true and Silverlight will recieve no attention past this final iteration. This has of course spurred further outrage at Microsoft for killing off technologies that developers have heavily invested in and whilst in the past I’ve been sympathetic to them this time around I don’t believe they have a leg to stand on.

Microsoft initially released Silverlight back in 2007 and has release updates to the platform every year or so since then. Taking that into consideration you’d figure that the latest release of Silverlight has 1 or 2 years in it before other technologies (most likely HTM5 and JavaScript) overtake it in terms of functionality. In that time Windows 8 will be released along with WinRT, the framework that will be instantly familiar to any Silverlight developer. Sure the code might not be directly translatable to the new platform but considering the design work is done in XAML and C# is a supported language I’d struggle to find any Silverlight developer who wouldn’t be able to blunder their way through with a couple Google searches and a StackOverflow account.

All of Microsoft’s platforms are so heavily intertwined with each other that it’s really hard to be just a Silverlight/WPF/ASP.NET/MFC developer without a lot of crossover into other technologies. Hell apart from the rudimentary stuff I learnt whilst in university I was able to self learn all of those technologies in the space of a week or two without many hassles. Compare that with my month long struggle to learn basic Objective-C (which took me a good couple months afterwards to get proficient in) and you can see why I think that any developer whining about Silverlight going away is being incredibly short sighted or just straight up lazy.

In the greater world of IT you’re doomed to fade into irrelevance if you don’t keep pace with the latest technologies and developers are no exception to this. Whilst I can understand the frustration in losing the platform you may have patronized for the past 4 years I can’t sympathize with an unwillingness to adapt to a changing market. The Windows platform is by far one of the most developer friendly and the skills you learn in any Microsoft technology will flow onto other Microsoft products, especially if you’re proficient in any C based language. So whilst Microsoft might not see a future with Silverlight that doesn’t mean the developers are left high and dry, in fact they’re probably in the best position to innovate out of this situation. 

Windows 8 Developer Preview.

Windows 7, whilst being around for quite a while in some form, has only been officially available for just on 2 years. It’s successor, the ingeniously named Windows 8, is scheduled to hit the markets late sometime next year or around 3 years since its predecessors release. Should that stay on schedule Microsoft will be on track to keeping its promise of releasing new versions of Windows every 3 years or so, hopefully avoiding the long development cycle that plagued Vista and signalling to corporate IT that yes XP really is about to die. As part of their recent BUILD conference Microsoft released a developer preview of Windows 8, aimed at those looking to have a play with the up and coming OS and get developers started on building apps for the platform. I’ve had my hands on a copy for the past week or so and I’ve given it the once over, with some rather interesting results.

Windows 8 installs just like its predecessor does, although this one required me to break out one of my dual-layered DVDs in order to fit the image onto a single disk. The difference begins when it comes to configuring Windows 8 once the install has completed. Most noticeably the UI at these stages has been completely redone in the Metro style, signalling that Microsoft believes this will be the main way in which people will use their computers in the future. In a similar vein to what Apple has long done Microsoft now gives you the option of signing into your PC with a Windows Live account, allowing you to sync certain settings with the cloud. For both tablets and desktop PCs alike this will be a good feature for your average home user, especially if Microsoft includes some automated backup of say the My Documents folder to a user’s SkyDrive account. 

The first screen (pictured above) is what will be presented to users after their first login. Although there might be some familiar names on there (like Internet Explorer and Control panel) these items are in fact Metro applications based on the new WinRT framework. The darker green backgrounded icons are shortcuts to the traditional desktop applications and the desktop itself can be accessed by the aptly named Desktop shortcut. It’s quite obvious that this interface is designed with touch in mind as the icons are massive compared to their predecessors counterparts and navigation comes by the way of swiping mouse motions or using the mouse wheel. I can see this interface replacing the regular Windows desktop for a lot of users, especially if the app scene is comparable to Apple’s.

Diving into the desktop interface reveals a few new features. Gone are the rounded corners that we’ve become used to since Vista and back are the sharp angular edges that are somewhat reminiscent of Windows XP. The aero translucency is still around however which I’ve always loved but it will still be there to offend those die hard “windows classic” fans. The major change you’ll notice is the addition of the ribbon bar at the top of the explorer window. Now the ribbon always seems to be a point of contention and I’ll be honest I hated it too when I first saw it. In Office though it made quite a lot of sense and I’ve grown to like it. For Explorer on the other hand I’m not so sure, since all of the items on there are all familiar context menu items or keyboard shortcuts. Thankfully you can hide the entire thing by clicking the little carrot in the right hand corner, so it’s a non-issue.

Gone is the start menu as well being outright replaced by the new Metro interface you saw earlier. Clicking the start button or hitting the windows key will spin you right out of desktop mode and into Metro, although it seems to be dependant on the hardware you installed it on. In a virtual machine that seems to be the default behaviour but on my physical test box I was able to get up a context menu of a couple options (log off, switch user, etc). This is somewhat disconcerting for an admin user like myself who’s become quite accustomed to finding most things by hitting the Windows key then typing in what I want (called Windows Desktop Search). It’s still available through Windows + F however, but only in Metro form:

However as an OS it’s pretty much just Windows 7 underneath all the Metro changes as I haven’t found anything significant under the hood that isn’t already in Windows 7. This is both good and bad as it means that’ll be a somewhat easy transition for administrators to change users over but there doesn’t seem to be a whole lot of innovation apart from Metro and WinRT. Of course this is still very much an alpha type product (the UI is constantly breaking in my virtual, it’s slightly better on physical hardware) so there could be a lot of stuff that’s just not turned on or not yet implemented. I’m sure the next year will bring a lot of changes to the OS in both visual and non-visual aspects, so I’ll reserve judgement until it’s more feature complete.

For what it’s intended for though (I.E. to get developers working on Metro apps)? This build seems perfect for that. I’ve yet to tinker with building an application past starting up Visual Studio to see if it works but the build is functional enough to test out everything that a budding app developer would need to. It’s far from being usable as an everyday machine though, even as an early adopter. I’d say we’re about 6 months away from it being ready in that kind of form much like its predecessor was before it. There’s still a lot I haven’t had the chance to fiddle with yet so I’ll probably be revisiting Windows 8 a couple times, as well as the new Visual Studio.

Windows 8 and WinRT: On the Cusp of Platform Unification.

Last week saw the much talked about Microsoft BUILD conference take place, the one for which all us developers tentatively held our breath wondering what the future of the Microsoft platform would be. Since then there’s been a veritable war chest of information that’s come from the conference and I unfortunately didn’t get the time to cover it last week (thanks mostly to my jet setting ways). Still not writing about it right away has given me some time to digest the flood of information and speculation that this conference has brought us and I personally believe that Windows 8 is nothing but good news for developers, even those who thought it would lead to the death of their ecosystem.

For starters the project codenamed Jupiter has an official name of Windows Run Time (WinRT) and looks to be an outright replacement for the Win32 API that’s been around since 1993. The big shift here is that whilst Win32 was designed for a world of C programmers WinRT will instead be far more object-oriented, aimed more directly at the C++ world. WinRT applications will also use the XAML framework for their user interfaces and will compile to native x86 code rather than to .NET bytecode like they currently do. WinRT applications also do away with the idea of dialog boxes, removing the notion of modal applications completely (at least, in the native API). This coupled with the fact that any API that takes longer than 50ms to respond being asynchronous means that Metro apps are inherently more responsive, something that current x86 desktop apps can’t guarantee. Additionally should an app be designed for the Metro styled interface it must only use the WinRT libraries for the interface, you can’t have mixed Metro/Classic applications.

If you’re after an in-depth breakdown of what WinRT means for developers Miguel de Icaza (of Mono fame) has a great breakdown here.

WinRT will also not be a universal platform on which will provide backwards compatibility for all current Windows applications. It’s long been known that Windows 8 will be able to run on ARM processors but what wasn’t clear was whether or not current applications would be compatible with the flavour of Windows running on said architecture. As it turns out x86 applications won’t work on the ARM version of Windows however applications written on the WinRT framework will run on every platform with only minor code changes (we’re talking single digit lines here). Those legacy applications will still run perfectly well in the Desktop mode that Windows 8 offers and they’ll be far from second class citizens as Microsoft recognizes how things like their Office suite don’t translate well to the tablet environment.

At the same time Microsoft has also announced that the web browser in the Metro UI will not support any kind of plug-ins including their very own Silverlight. Of course you’re always welcome to switch into desktop mode should you visit a website that requires a plug-in but Microsoft said the aim is for everyone to transition away from plug-ins and onto the HTML5/JavaScript stack. On the surface this seems to verify the notion that Silverlight developers are screwed as all their apps are second class citizens in the new Metro world. However since WinRT apps are developed in a very similar way to that of Silverlight apps the transition to the Metro platform will probably be nothing more than changing namespaces and tidying up the UI so it fits in with the new design. Distribution of said apps will then come via the Microsoft app store, rather than a company’s web server. Sure it’s a paradigm shift away from what they’re currently used to, but Silverlight developers will find themselves right at home with WinRT.

Taking this all into consideration it seems like there will be a line in the sand between what I’ll call “Full” Windows 8 users and “Metro” based users. Whilst initially I thought that Jupiter would mean any application (not just those developed on WinRT) would be able to run anywhere it seems that only WinRT apps have that benefit, with current x86 apps relegated to desktop mode. That leads me to the conclusion that the full Windows 8 experience, including the Desktop app, won’t be available to all users. In fact those running on ARM architecture more than likely won’t have access to the desktop at all instead being relegated to just the Metro UI. This isn’t a bad thing at all since tablets, phones et. al. have very different use cases than those of the desktop but, on the surface at least, it would appear to be a step away from their Three Screens vision.

From what I can tell though Microsoft believes the future is Metro styled apps for both desktop and tablet users a like. John Gruber said it best when he said “it’s going to be as if Mac OS X could run iPad apps, but iPads could still only run iPad apps. Metro everywhere, not Windows everywhere.” which I believe is an apt analogy. I believe Microsoft will push WinRT/Metro as the API to rule them all and with them demoing Xbox Live on Windows 8 it would seem that at least on some level WinRT will be making it’s way to the Xbox, thereby realizing Microsoft’s Three Screens idea. Whether the integration between those 3 platforms works as well as advertised remains to be seen but the demo’s shown at BUILD are definitely promising.