First of all, I was excited and relieved to see the touch interface responsiveness. I’m running on an Acer W500 tablet and performance is remarkable. This is a netbook league tablet and Windows 8 responsiveness blows away Windows 7. Having said that, I think Windows 8 is more of a “base hit” versus “a knock out of the (tablet) ballpark”. A home run would have been releasing this 2 years ago. They’re obviously targeting the average consumer therefore so much rides on the innovation and availability of metro apps. Microsoft has significantly lowered the bar for metro app development but they’re competing against a platform that already has 100,000+ apps. I don’t want to discount Bluestacks which is running Android apps on Windows but that will undoubtedly run in dreaded “desktop mode” and not the new tile slickness.
I estimate that Windows 8 will have limited impact in the enterprise for the short-term (2 years perhaps). I could see Sales and Marketing teams and business users on-the-go being early adopters for the beautiful metro interface and portability. Otherwise, there seems to be little incentive to upgrade. Although there are some work arounds, disincentives to upgrading include:
- Once you develop a metro app, it ONLY runs on Windows 8.
- The Start screen is a little akward with a mouse and keyboard.
- The desktop mode has changed – some menus have been rearranged or taken away all together (I hope “Shutdown” makes it back onto the desktop in the final version!).
- The Start button has been replaced with the Start screen and search features.
For the average consumer, I can see some potential stumbling blocks:
- TOUCH: Some touch features in Windows 8 are unintuitive. Swiping to select tiles, left swipe for app changes, right for charms, bottom/top for options, removal of second-finger-right-click for example. Granted I ain’t the sharpest tool the shed but I had to look up some of these features instead of just discovering them. This was not the case in iOS or Android.
- MODES: Metro versus Desktop mode can be confusing. Additionally, I dislike desktop mode mainly because metro mode is so cool. It’s jolting and disappointing to launch a Win32 app in metro mode. Touch has dramatically improved in desktop mode but more innovative integration with metro may lessen the transitions.
- BROWSERS: There are two browsers, desktop mode IE 9 (supports plugins) and metro mode IE 10 (no plugin support). Users are expected to know the difference and when to use which browser. My wife certainly didn’t and she gave up in 5 minutes after a Flash stream would not work.
- APPS, apps, apps. Gotta have them beeeeautiful metro apps that light up your start screen.
- HARDWARE: iPad 1 kicks the crud out of the current Windows tablets, including the Samsung tablet showcased. Hopefully ARM hardware will catch up but if they rip out Win32 apps, users will probably still opt for 100,000+ apps on iOS.
- CUSTOMIZATION: In desktop mode, the ability to modify buttons, menus and etc are missing or I can’t find them. Sure, the touch experience has improved DRASTICALLY, but even the smallest of fingers will have issues still with little checkboxes, scrollbars and buttons.
- HYBRIDS: The idea of being productive on a 10.1” or 11.1” device is all but dead in my mind. We have large monitors for a reason when we’re in productive mode. Therefore Win32 consuming apps will not give the hybrid Windows 8 tablet any advantages. Desktop mode stinks so it better be metro.
Finally, here are some interesting notables for developers:
- All I/O calls in WinRT are asynchronous. Includes local File.Create.
- Metro apps don’t close, they “Suspend” when not on screen. Background processes will have to be “rethunk” for apps that need them (ie. Seismic).
- There is only ONE CLR. There will be multiple app instances in the CLR with a WinRT or Win32 flavor. Similar to an “app pool” in IIS.
- WinRT uses APIs created in C++ that sit on top of the kernel. The result, C# is now as performant as C++ (there is a advtage to C++ I think).
- Memory management is still taken care of in WinRT C#.
- You can call WinRT from .NET Win32 but NOT vice versa. If you attempt to call a library not available in WinRT, the Windows App Store will most likely reject your app.
- WinRT provides a subset of APIs available in Win32.
- Silverlight on the desktop (.NET Win32) still lacks touch features – drag scrolling, multi-gestures and etc. Big disappointment.
- XAML on .NET WinRT appears to have huge improvements in touch features that Silverlight lacked.
- (BS warning) Win32 apps may or may not run on ARM processors.
- (BS warning) I may not have it configured correctly but Windows 8 did not improve my battery life. I’ll look more into this.
Application redistribution considerations:
- Silverlight: Web Browser and Out-of-Browser
- WPF: Executables or Click-Once over the net
- WinRT: Windows App Store
Deployment platform comparison:
- Silverlight: Windows XP, Windows 7, Windows 8, Windows Phone 7 (modified), Macintosh
- WinRT: Windows 8
For this developer, I’ll not be cracking hard into WinRT or Windows 8 development any time soon. There’s just very little incentive at this point as my focus is Enterprise. I hope others don’t feel the same cause I WANT MORE METRO APPS!
- The Mother of all Windows 8 Architecture Diagrams
- Silverlight and Windows 8
- Another Awesome Windows 8 Architecture Discussion – One CLR to Rule the All
Tweaking Windows 8 NOW: