a blog about innovation and solutions
opinions, windows 8

A Lap Around Windows 8 Developer Preview

Before last month’s BUILD conference (the launch event for Windows 8 Developer Preview), many may have thought that Windows 8, Microsoft’s upcoming operating system, is just eye candy and it probably only works well with touchscreen devices. The truth is, it’s much more than that, at least judging from the presentations and demos shown at the developer conference.

Windows 8 builds on Windows 7 to offer greater performance, less memory usage and an all new “alternative desktop” inspired by the Windows Phone 7 UI – the Metro-style UI. The new interface is indeed touch optimized, but it works just fine with a mouse and keyboard. Moreover, fans of the old desktop style can always switch to that at the press/touch of one button.

Windows 8 Metro UI

In the global market, Apple has created a full-fledged phenomenon with the introduction of the iPad two years ago, which has affected sales in the PC market. Therefore, Microsoft was faced with the important decision of revamping the product that brings half of its profit- the Windows operating system. Moreover, to further increase support on mobile devices, Microsoft now also targets tablets, besides the smartphone market, where it entered a year ago.

In this article I’ll cover the main features of Windows 8 from both a consumer and developer perspective, as they were showcased at the BUILD conference. I will also touch on the market perspective and the opportunities that software vendors have with Windows 8.

Consumer perspective

Memories - Metro scrapbook app

The Metro UI is meant to be more interactive and take advantage of the entire screen real estate. Instead of static icons on the desktop, we are now greeted by a screen full of the so-called “tiles”. These show information about the apps that you have installed, like the latest weather information, latest tweets or news. This way you can stay up to date with what is new and only launch an app when you see that something interesting happened.

When you do open an app, you will no longer see any chrome (i.e. menus, toolbars, etc.), but instead the app will take over the entire screen for its content. This means no distractions from other applications and more space for what matters to you, the user. There is a new concept called the app bar, which reveals actions you can take by pressing a button, but the rest of the application is meant to function just by taking input from the mouse, keyboard or touchscreen.

Of course, the new interface change may seem like a radical change and will surely take some time to get used to, especially when the touchscreen input method is not available. The good thing is that it does “force” designers to come up with a straightforward, clean and immersive design for Metro apps, which has a good potential of producing great user experiences.

Another interesting addition to Windows 8 from a consumer point of view is the integration with the cloud – every user logs in with his/her own Windows Live ID (used for Hotmail by most people) and Metro apps and settings are sync’ed in the Windows Live cloud, so when logging into a different Windows 8 PC, one always gets a customized experience. Chris Jones, Senior Vice President Windows Live, shows a good overview of the Live Services on Windows 8 in a short video recording from BUILD. While handy, the cloud integration will surely raise some privacy questions among Windows users, so Microsoft will have to make sure that these questions are addressed accordingly.

Finally, through the new UEFI bootloader, Windows 8 boots faster and provides a more secure boot than the current BIOS, by authenticating boot components and starting an automatic recovery of your system when unsigned components are detected.

As far as business users go, Windows 8 also caters for them, by providing such functionalities as Windows To Go (a bootable USB stick with Windows 8 and all the user’s business applications, data and settings, which can be plugged into any Windows 8-capable device and used, while not leaving any trace behind), BitLocker for data encryption, AppLocker for application-level permissions, DirectAccess for securely accessing resources within a corporate network and metered connection services that inform users about paid data usage, and enables users and apps to optimize for cost and bandwidth. Worth mentioning here is that these features were not at all shown at BUILD,  so they will probably only be shipped in a later version.

Developer perspective

Now that I’ve presented some important changes from the consumer perspective, let us move on to what Windows 8 means for developers. The good news is that Windows 8 makes it easier for developers to build beautiful, Metro-style applications, mostly by using knowledge they already have. The brand new API that Microsoft offers is called Windows Runtime (WinRT) and is the same for all programming languages. Besides C# and VB, which have been the main focus of .NET development for years, C++ and, most importantly HTML5 and JavaScript have become first-class citizens for developing Windows 8 applications. Because all of them share the same WinRT API to communicate with the system, they can all be efficiently used to create Metro-style applications.

Windows 8 programming stack

Besides the freedom to choose the programming language you feel most comfortable with, there are other new features of Windows 8 that are worth mentioning:

  • The same code works on PCs and tablets with a wide range of screen sizes (soon alignment with Windows Phone on XAML/C# will come)
  • Supported platforms: x86, x64 and ARM
  • Out of the box support for touch, keyboard and mouse input
  • Seamless integration with other applications, connected devices and sensors
  • Ability to easily build responsive apps by using async functions in .NET and promises in JS, without having cumbersome and hard to read code
  • Dynamic ready-built layouts that adapt to screen size and orientation
  • Expression Blend now supports HTML, making it easy to design apps with an HTML UI
  • Wide range of out of the box styleable controls (including a number of completely new XAML controls)
  • Layout enhancements for CSS3
  • Support for CSS media queries to help with adjusting content to screen orientation and app mode (full screen, snapped, fill)
  • The same HTML5/JS code will also function in the IE10 desktop and Metro browser
  • Extensibility: build your own component library in C++, C# or VB and use it in your JavaScript code for example
  • Ability to build Metro-style games, by taking full advantage of DirectX 11.1

A particular new addition is worth discussing in a little more detail: the concepts of capabilities and contracts. Capabilities specify what the app is allowed to do, for example access the internet, the webcam or the user’s picture library. This is meant to provide more transparency for the user when they install your app, as the user can see upfront what your app wants access to and can decide if that is reasonable or not.

Contracts on the other hand are more interesting for the developers – they allow other apps to invoke your app. This means that Windows handles this integration as long as you specify that you want to participate in search for example. Of course, your app needs to also handle the input that it receives from other applications, so if you declared you participate in search then whenever you receive a querystring, you need to search within your app and show the user the results. This is a powerful way to increase usage of the app, by unobtrusively helping the user perform regular actions, without having to open up 10 applications and performing the same operation in each of them.

My impression from BUILD was that all these developer-oriented changes and additions work well and once you have a good designer beside you, you can create sharp-looking apps that will definitely be appreciated by users. Having done my share of coding in the past, it seemed easy and straightforward to use the new APIs (at least the C# ones, which I have paid more attention to), so I tend to think that Microsoft has taken the right decisions on this side, especially through the unification of the Windows runtime APIs and the inclusion of  HTML5/JS support.

Market perspective

Considering all these radical changes especially to the UI, consumers and software vendors alike may wonder what will happen to the “old-style” Windows applications – Do we need an entirely new redesign of Photoshop (or any native Windows application for that matter) to fit the Metro UI? The short answer is “No”. The long answer is that Microsoft has made it a point to ensure the work that software vendors have done until now is not lost.

Everything that runs on Windows 7 runs on Windows 8.

Steven Sinofsky, President, Windows and Windows Live Division

Therefore, for applications such as Photoshop, where precision is important and touch-capability is not the focus, a regular desktop application like we’ve had until now is the better choice. However, other applications that rely on ease of use and need to reach a wide range of consumers, from tablet users to PC users, then Metro-style applications provide a better platform to reach that goal.

How can I, as a software vendor, prepare for Windows 8?

For vendors who have already been working with XAML, the solution is quite simple for targeting Windows 8 users: existing XAML applications can easily be ported to the new Metro interface through minor modifications in the XAML code. For vendors who now want to prepare for the official launch of Windows 8, the Windows 8 Developer Preview is already available for download and developers can use Visual Studio 11 to create Metro-style apps. There is a generous number of code samples in all supported languages, which show how many Windows 8 new features work. There is also an active community, where developers can obtain answers to questions about Windows 8 development. A myriad of information can also be found in the presentations from the BUILD conference, where a lot of new features were showcased and demoed through small Metro applications.

Regardless of the situation, the important advantage Windows 8 brings is that software vendors can leverage existing knowledge and experience within their organization to build this new kind of applications. Whether it’s HTML and JavaScript, C++, C# or Visual Basic, developers can use their language of choice to reach all their customers and devices with one application.

With all these tools in place, software vendors can already explore the new opportunities that Windows 8 provides and be prepared for the launch of the final version of Microsoft’s OS with state-of-the-art Metro-style applications, ready to impress their customers.

So I wrote an app, what now?

Windows Store

For application developers that want to spread their new apps, Microsoft has come with Windows Store, where you can publish your applications and set pricing schemes. However, there will be a screening of the apps that are published in the store, meaning that Microsoft will assess them in terms of quality and usability. The advantage is that this may encourage users to at least try an application, knowing that there is a certification process conducted by Microsoft.

It is important to note that Microsoft specifically stated at the BUILD conference where they launched Windows 8 for developers, that desktop applications will also be free to use the Windows Store, so there isn’t any limitation to just Metro-style apps.

Through the Windows Store, consumers will have easy access to applications, so software vendors can make their products more visible on the market than by regular means of advertising and marketing. This means that smaller players in the market have a good chance to prove themselves and attract more users for their products. As we have seen with the Apple App Store, many software vendors, no matter how small, have managed to pull in big revenues for apps selling at a few euros, or even under 1€.

Developers can also opt to deploy telemetry into their Metro-style apps, which allows viewing reports on downloads, revenue, usage, in-app transactions, customer ratings, market trends, and crash and hang data. This can decrease response time of developers on bugs and can result in a faster processing and therefore resolution of an issue, while allowing software vendors to understand who is using their product and thus better target it in the future.

However, Windows Store is not yet available and only a short demo was presented at BUILD, so it remains to be seen if all these features will be present in the final version and how it will affect the market.

Questions that remain unanswered

While all seemed nice and smooth at BUILD, there are still questions that remain unanswered. One important one would be how exactly are ARM devices supported – will there be a smaller, stripped-down version of Windows 8 that is appropriate for such devices? How will the “desktop mode” be helpful on a tablet? Taking this one step further, how much of an alignment will there be with Windows Phone in terms of API and XAML?

While this is only a developer preview of the upcoming Windows OS, so it is normal that not everything is final and ready to be used, these questions are still important and it will be up to Microsoft to reveal the answers gradually, as they prepare for the final release. It is expected that the beta will be out sometime in Q1 2012, while the final release will be in Q4 2012.

Conclusion

Windows 8 has brought the innovative design of Windows Phone 7 to the desktop and tablet. There is now another kind of application that is ready to bring user experience to a new level. Of course, Windows 8 is still in a developer preview version, so it’s bound to still have some issues, but nonetheless it is an OS worth exploring, if only for the wide range of users it targets and the Metro-style applications focusing on usability, responsiveness and adaptability.

I think it will be also interesting to see how the competition with the iPad on the tablet front will progress, which by the time of the  Windows 8 RTM will likely be in version 3. Moreover, Android Ice Cream Sandwich has also brought a number of significant  improvements (such as unification between the 2 Android versions, the smartphone and tablet versions) , which can tip the scale in favour of the Google market segment. Both Apple and Google have the advantage of a more mature OS for both smartphones and tablets, so it remains to be seen how big a role Microsoft can play in  these markets.

For software vendors, Windows 8 brings along a number of challenges, such as the still unclear support for ARM devices or the new WinRT API (which is still under development). However, if Windows 8 indeed delivers what Microsoft recently promised at BUILD, it has the potential to reach that coveted goal of “one platform, multiple devices, the same rich user experience”.

At Yonder, we will keep an eye on developments around  Windows 8, seeing as we are committed to address the challenges that come with the new OS. Even more, we will revisit the topic of Windows 8 in the near future, seeing as we’ve got our hands on the first Windows 8 Samsung tablet, the same device like the ones distributed to the BUILD  participants.

References

  1. Windows 8 Developer Preview Guide, Microsoft [PDF]
  2. Steven Sinofsky et. al BUILD keynote, Microsoft
  3. Platform for Metro style apps by Ales Holecek and John Sheehan, Microsoft
  4. Tools for building Metro style apps by Chris Sells and Kieran Mockford, Microsoft

 

2 Comments to “A Lap Around Windows 8 Developer Preview”
Leave a Reply