I don’t consider myself a fanboy of any particular company, even though my consulting and training business focuses on Microsoft technologies. A fanboy is someone that sides with a company regardless of how good or bad something is. I go with what I feel is best, regardless of company. The .NET Framework is my preference for developing web and desktop applications, and Visual Studio is untouchable as an integrated development environment in my opinion. Apple’s iPad is my preference for a tablet, iPod for a music player, and the Android OS is my choice for a mobile phone. (Although I’d love to replace my Android device with a Windows Phone 7 (WP7) device because I love the WP7 interface,Sprint still doesn’t have any WP7 devices that I like, unfortunately).
I’ve seen a lot of technologies come and go over the years so I’m always a little skeptical when a major shift is announced by a company. After many years of seeing broken promises in the technology world (think back to Longhorn for a fairly recent example), I’ve become a bit hardened and generally view new announcements with an air of suspicion. The exception would be the announcement of the .NET Framework, C# , ASP.NET MVC, LINQ, and Silverlight technologies. Aside from those technologies, there hasn’t been any earth-shattering or exciting releases, especially when it comes to consumer products.
I’m excited with the announcement of Windows 8, and so are a lot of other developers that I talked with at Microsoft’s BUILD conference. Do I know how it will all play out and if it’ll be successful? Since my crystal ball broke, the obvious answer is “no.” But, I think the story is compelling from a consumer and developer standpoint and that things are moving in the right overall direction. Before BUILD started, I was hoping that a fraction of the rumors floating around about Windows 8 were true and that’d I’d be pleasantly surprised with the direction Microsoft was going. I was really excited when .NET first came out and was hoping to feel that way again. I’ve been happy with Microsoft’s enterprise story to this point, but I’ve definitely been worried about its consumer- adoption story. I was really looking forward to what Steven Sinofsky had to say at the keynote (I had breakfast with friends and arrived right before it started—the cheap seats weren’t bad, though).
There was definitely a buzz in the room as the keynote started. Although things started out a little slow, excitement really picked up steam once Steven Sinofsky introduced Microsoft’s Antoine Leblonde, corporate vice president of the Windows Web Services team, who showed how Windows 8 Metro applications could be built. Microsoft’s Mike Anguilo, corporate vice president of the Planning, Hardware, and PC Ecosystem team, walked through different hardware options. The different demos and devices Microsoft showed got me excited all over again about what the future holds, and not because they gave everyone a new Samsung tablet (although that helped).
I came away from BUILD feeling good, so I thought I’d write about the specific features that get me excited about the future of Windows 8.
What’s all the Excitement About?
So why am I excited about Windows 8? Those who follow me on Twitter or read my blog may be surprised to know that it’s not just about the technology Microsoft announced. There are a few different reasons I’m excited, including the simplicity Windows 8 offers for consumers, Metro’s application development options, support for different form factors and traditional Windows applications, and the upcoming Metro app store. Let me walk through some of these points in more detail starting with why I think the new Metro interface provides much needed simplicity for consumers.
Consumers Like Simplicity
I follow a general benchmark called the “Mom Test.” If my mom can’t pick up a new consumer technology quickly, then it should be better thought out. Windows 8 represents the first time Microsoft has announced a technology that I think even my mom can get excited about and can understand immediately with little to no training. She navigates around traditional Windows applications fine, but tends to avoid things she’s unsure of. Those of us who grew up with computers don’t feel intimidated when a lot of menus and options are shown on a screen, but that’s not the case for a lot of people and that’s something developers need to keep in mind. The popularity of the iPad really highlights the “Mom Test” because my mom was able to pick one up and use it immediately without having to ask a lot of questions. It’s intuitive by default.
Windows 8 Metro-style applications eliminate much of the complexity associated with traditional Windows applications by focusing on what the user wants to see using intuitive interface concepts. Metro applications even avoid forcing users to think about closing applications when they’re done. Due to the life-cycle management features of Windows 8, applications can automatically be frozen and thawed when as a user leaves and revisits an app. This is extremely important and critical for consumer adoption, especially in today’s world. An example of a Metro application that displays weather information is shown next. Although it’s very simple, it highlights the important data people want to see and adds appealing visuals.
Here’s an example of the Metro browser in action. Notice that there are no toolbars, status bars, tabs, etc. Although I do think it’ll take users a little time to get used to that type of interface (because the traditional Windows approach is so engrained in many people’s minds), I think it’ll be embraced by people over time.
If a user wants to get to a different tab, type a URL, or perform another action, they can right-click the interface on a PC or swipe their finger if they’re on a touch device. Here’s an example of the Metro browser after that type of action has been performed:
This is all the functionality that people need to browse. Most people don’t care about getting to Internet Options or accessing other menus to perform more advanced tasks. Of course, the full version of the browser is available on the Windows 8 desktop. In addition to the simplicity offered by the Metro browser, choosing files has been greatly simplified and optimized for touch devices as well.
The tiles in the Windows 8 Metro interface bring a lot to the table and go a step above what other platforms offer. Each tile is more than just a simple icon—it can convey information to the end user without forcing them to load the application. Windows Phone 7 first introduced this concept, but I like how Windows 8 is keeping the tile format. An example of the Metro tiles in action is shown next.
I think that Metro-style applications and tiles will go a long way toward helping consumer adoption once Windows 8 is released. Although I haven’t shown my mom yet, I’m confident she will like the new interface and will find it easy to use.
Side Note: I’m an Enterprise Developer—Why Should I Care?
The simplicity that Metro applications and tiles bring to the table is really good in my opinion, especially because Microsoft is getting hammered in the consumer market right now, and that should concern every Microsoft-centric developer. But, if you only build enterprise applications that won’t be using the Metro framework, then why should you care? I tend to build enterprise solutions that target browsers so that the client OS doesn’t really matter in many cases. Regardless of what happens in the consumer and enterprise markets, I can still use ASP.NET and other technologies such as jQuery to build applications. However, consumer preferences tend to find their way into the enterprise environment because most consumers have jobs. Students will eventually get jobs and influence decisions in the enterprise as well. I don’t think it’s hard to come to the conclusion that if consumers continue to move toward other technologies that it could impact the adoption of Microsoft technologies in the enterprise down the road. It’s not anything that will happen overnight, but I’d rather have consumers excited to use Microsoft technologies than continue to flock to other technologies. Whether they will be excited about what Windows 8 offers remains to be seen, but I’m optimistic that Windows 8 is a good thing to “get a little mojo back in Microsoft” as my good friend Ward Bell told me.
Metro Development Options
In addition to what I hope will be positive consumer adoption, Windows 8 provides a developer-friendly way to build Metro-style applications that can target a variety of devices through the Windows Runtime (WinRT) platform. Here’s a slide from the BUILD conference that shows how WinRT fits into the mix:
Whether you’re building Metro applications for the desktop or the variety of Windows 8 tablets that will be released, you’ll be able to build an application once and have it load and display properly. That’s a huge deal and something we simply couldn’t do before without a tremendous amount of work. The Metro interface is also much cleaner, consistent, and consumer friendly, and it obviously lends itself well to touch devices.
I’m definitely excited about the ability for Metro applications to scale to different resolutions and device sizes. This was an important move Microsoft had to make to get caught up with all of the different tablets and alternative devices that have been released in the past two years. As a developer, I can provide different tile sizes and backgrounds and know that my application (if designed using the recommended guidance) will work across many different Windows 8 devices without having to maintain different code bases. I’m hoping Windows Phone 8 will support this development model so that a Metro application can be written once and scale to a variety of devices, including mobile phones. Wishful thinking on my part, but being able to write an application that would run and display properly on the desktop, tablet, and mobile device would be an amazing development story (although the mobile devices certainly present size challenges).
The tools talk given on the first day of BUILD highlighted the device emulator and tools that Metro application developers will have in Visual Studio and Expression Blend. One of my favorite features was the ability to remotely debug an application on a device such as a tablet. During the talk given by Kieran Mockford and Chris Sells, they showed the feature in action. An example of the emulator is shown below.
The App Store
Building Metro applications is one thing, but getting people to download and install them is another thing entirely. If you’re involved in selling software, then you know that marketing and sales are the name of the game if you want to make money. With the installation base Windows has (over 450 million PCs are running Windows 7, according to Microsoft), there’s a massive opportunity for developers to build Metro applications because each Windows 8 machine will have a built-in App Store. It’s hard to say how well developers will do financially building Metro apps because the store isn’t available at this point, but I like the odds given the current number of Windows installations out there.
Support for Traditional Apps
Although I’m excited about the opportunity that Metro applications offer, my business is currently centered around building traditional web and Windows applications for enterprise scenarios. Windows 8 will support traditional Windows applications built using WPF, Silverlight applications, Windows Forms, native C++ applications, and more. For business workers, this means that they can continue to use existing line of business (LOB) applications.
I have no idea what the future of WPF or Silverlight is in the long-term (WPF 4.5 was announced at BUILD and Silverlight 5 is about to be released), but I know that I can still use the same languages and skills that I know now on Windows 8, including .NET and all of its associated technologies. Traditional applications can even call back into the WinRT Metro framework if needed by simply referencing the proper namespace. For other OSs, such as Windows 7, Windows Vista, and Windows XP, it’s business as usual with ASP.NET, Silverlight, WPF, or another technology. Telerik’s Todd Anglin (another great guy I met at BUILD) has a nice decision chart that walks through the different options.
New Development Opportunities
Although I don't consider myself a fanboy, I really like what's happening with Windows 8. By supporting Metro and traditional applications with a single OS, it opens up a lot of opportunities and enables support for different devices to become a reality. The new app store should let individual developers compete with large development shops just as they do now on other platforms. The future’s bright and I’m looking forward to updated builds that are released by the Windows 8 team. In the near future I’ll dive into more into WinRT and walk through how Metro applications can be built using HTML and XAML. Until then, follow the steps Scott Hanselman provides to get Windows 8 up and running quickly and easily so that you can start building applications for it.