X
Tech

Windows 8 Developer Preview

Windows 8 introduces a new interface, Metro, with an 'immersive' look-and-feel that's designed to scale from smartphones to desktops. It's still pre-beta, but developers now have the tools to start creating applications and services to exploit it.
Written by Simon Bisson, Contributor

Microsoft has been showing off bits and pieces of its next-generation Windows operating system over the last few months, finally releasing a developer preview at its BUILD conference. This preview is intended to give developers the opportunity to work with Windows 8's new Metro-style user interface, and to learn how to create applications for what's a very different Windows. It's pre-beta code, and so can be a little buggy at times, but has many of the features that will appear in the final version.

Described by Microsoft President Steven Sinofsky as "a bold re-imagination of what Windows could be", Windows 8 brings a new touch-friendly user interface to the venerable platform, along with a new development model and new development tools. HTML and JavaScript are first-class citizens, along with Silverlight, which moves away from being a browser plug-in to a new user interface for .NET managed code Windows applications. Windows 8 departs from the familiar desktop model of files and applications to something quite different, designed for touch and for mobile users.

There's also deep cloud integration in the OS, and Microsoft's consumer cloud service Windows Live is a key component of the Windows 8 user experience. Logging on to a Windows 8 machine for the first time, you'll be asked to enter an existing Windows Live ID, or create a new one from scratch. Live handles a lot of Windows 8's connectivity and social media features, bringing in new versions of the Windows Live Essentials software and tying the OS to Microsoft's Live SkyDrive storage platform.

Start Here
Turn on a Windows 8 device, and you'll be presented with a new-look lock screen. You can personalise the backdrop, although you'll need a HD-quality image to make the most of the recommended 1,366-by-768-pixel resolution. A set of glyphs on the lock screen provide a quick overview of device status — network connections, email and calendar information, as well as a large, clear clock.

win81.jpg

Windows 8's Metro Start screen is the new Windows shell, relegating the old desktop to simply another application; Live Tiles show information, as well as launching applications

A simple swipe gesture moves you away from the lock screen. Windows 8 supports several different password schemes, with the option of traditional passwords and PINs (using a Windows Live password) or the new Picture Password tool. This lets you use elements of a picture from your library as a key, with three gestures on specific parts of the image unlocking your device.

The heart of Windows 8 is the new Start screen, built using Microsoft's Metro look-and-feel popularised on Windows Phone 7. You can use the Start screen as a program launcher, but it's actually a lot more. Perhaps best thought of as an amalgam of the traditional Windows task bar and start menu, along with the Windows Phone 7 start screen, it gives you a panoramic scrolling view of a series of application tiles. These can be familiar application icons for traditional desktop applications, or Windows Phone-style Live Tiles, displaying application information for an at-a-glance view of what's important to you.

Listening to Microsoft staff talk about Windows 8, two words keep coming up: 'fluid' and 'immersive'. The easy-scroll Start view is certainly fluid, with a very smooth action. Scrolling to the end of program list is quick and easy, with smooth panning. Tiles can be small or large, with different layouts for different screen sizes. The default widescreen view is groups three tiles high, while larger screens allow you to group four or five tiles high. Groups of tiles can be used to organise information and applications, without using folders.

If you've got a lot of items on the Start screen, you can use what Microsoft is calling 'semantic zoom' to quickly zoom out from the panoramic view, giving you a less detailed view of more tiles — much like looking down from 10,000 feet! Although you lose much of the detail and information on Live Tiles, you can still see what they are, hence the name. Once you're in semantic zoom view, you can quickly move to the tile you want to use, or reorganise tiles and groups.

Touch keyboard
Slate devices get access to a touch keyboard, which uses tools developed for Windows Phone 7 to make it a lot easier to type on-screen. Fuzzy hot targeting uses predictive text to guess which key you'll use next, expanding the hit target around the most likely keys. Built-in autocomplete uses a dynamic insert key to quickly drop words into your text. There's no need to remove your fingers from the keyboard, and as it's all built into the Windows 8 controls, developers don't need to do anything to use the feature in their applications.

The Windows 8 keyboard also includes a split layout for thumb typing on tablets, and supports handwriting recognition on devices with pen digitisers. If you've used a tablet PC in the past, you'll find Windows 8's pen support very familiar.

You're not limited to using touch, as there's full support for mouse and keyboard, with a range of keyboard shortcuts for the power user. When you use a mouse, the 'charms' — Search, Share, Start, Devices and Settings icons — move to the lower left. Other alternatives to touch gestures include opening the app bar with a right mouse click, and clicking and dragging on the left edge of the screen to handle application snapping. There's also support for horizontal scrolling using the mouse scroll wheel, and the Windows key will always take you back to the start screen.

Applications
Metro is everywhere in Windows 8. You'll find it in the settings application, in the task manager, and of course in the new Metro-style applications. Previously referred to as 'immersive' applications, Metro applications are full-screen applications with no chrome — once launched, they take over the entire screen. There are no commands visible, just the content.

If you've got a touch device, you can use the same gestures as on the Start screen to interact with your touch applications — with additional gestures that help you navigate between applications and the Start tools. Slide up from the bottom of the screen and you'll open the app bar, which hosts the available commands and can appear at the top or bottom of the screen (or both, like Internet Explorer, which uses the top of the screen for tabs and the bottom for the address bar and tabs). Applications can expose key elements as secondary tiles, which are deep links to features and content inside an application. You can pin these to the start screen, where they behave just like any other tile.

If you swipe in from the right you'll see a set of five icons — which Microsoft calls 'charms' — for Search, Share, Start, Devices and Settings, along with the clock and a set of system notifications. Charms are a quick way of accessing system and application functions — just tap a charm and a pane opens up showing you quickly what you need to do. Tap Settings, for example, and you can work with network settings, volume and brightness, as well as notifications and power management.

Swipe from the left and you can page through the currently running applications. You can also drag an application from the left onto the screen, and snap it in place. You can then use a slider to change the view, between a near full-screen view and a narrow view with a subset of the application's user interface. It's easy to change, and means you can be looking at IM messages in one view while working with email in another (or playing a game…). The snapped minimised view is live, so you can use it to host video while working in an immersive application. The swipe gesture is also how you take advantage of Windows multitasking: you can switch between several applications quickly, with the Windows 8 memory management tools handling the application lifecycle, closing Metro applications down or suspending them to disk.

Internet Explorer 10
IE 10 also gets the immersive look-and-feel. The result is a very different browser, focused purely on content. It's fast and easy to use, with the same swipe gestures as the rest of Windows 8, taking advantage of the OS's new rendering tools to deliver crisp, clear text. Opening the app bar also shows a tab view, with live snapshots of other windows, just a tap away. It's easy to open new tabs, and just as easy to make them private, holding down the new tab button to launch InPrivate sessions in the same application Window — a major change from earlier versions of IE.

One thing we found with the new IE was how little we had to type. Autocomplete in the address bar works with your history to quickly fill in site addresses, while new tabs open with a frequent sites view — just tap a site icon in the frequent sites view to open the page. IE 10 has more slots for frequent sites that IE 9, making it easier to jump straight to a page. You can also pin pages on the start screen, much like the current task bar pinning in IE 9, with the ability to deliver information from the web on a Live Tile.

There won't be a new Internet Explorer Platform Preview for Windows 7. Internet Explorer development is now taking place in Windows 8, and Microsoft doesn't want to confuse developers by providing a test environment on another version of Windows.

Sharing and Contracts
One of the most important concepts in Windows 8 is the 'contract'. This is how applications can work together, using Windows 8 infrastructure to share information and services, without needing any knowledge of other applications. Windows 8 handles the interactions, exposing functionality through the aforementioned 'charms'.

Applications that can share information are exposed using the Share charm, if they implement the Windows 8 Share contract. If you choose an application it loads in the charm space, with its own user interface, and takes in and processes the data shared from another application. It's a process analogous to the Windows clipboard, although it involves much more than just text and links.

The Search charm supports another of Windows 8's contracts, and you can use it to see all the applications that support search — online and locally. It's an approach that's very similar to the SuperApps in BlackBerry, providing tools for delivering contextual computing in Windows.

Windows 8's file manager is built using Metro, and lets you pan quickly through large libraries, with thumbnails rendering much quicker than in Windows 7. There's support for the familiar library model, as well as for links to external applications and services. The file manager implements the Windows 8 picking contract, letting you mix local and external content in one place, ready for sharing or using in another application.This approach lets you bring together several applications to complete tasks, using Windows 8 contracts to link applications.

Although the Windows 8 user experience may look like one application running at a time, it's really a web of connected applications running together, and displaying results and connections in a live Start screen.

Devices
External devices, like printers, plug into the Devices charm using device-specific contracts. Any application can use the printer contract, and Windows 8 comes with support for many common printers. Device manufacturers can add their own applications to the Devices charm — Microsoft demonstrated a tool for handling printer settings developed by HP.

The Windows Desktop
Not all applications can be — or even need to be — Metro-style applications, and the familiar Windows desktop is just a tap away. If you launch a non-Metro application, the desktop opens with the application running. You can use touch, but with applications like Photoshop or the Office tools a mouse remains the best way to interact accurately.

Once the desktop is open you can flick through it like other applications, and can even take advantage of Windows 8's snapping tools to view desktop applications while working with Metro code. When you're done with the desktop it closes, leaving you with Metro. Microsoft has made a brave decision in turning the desktop into an application that only runs when needed, but this was necessary to encourage the development of Metro-style applications.

Windows 8 and the Cloud
Microsoft has built many of the Windows Live services into Windows 8, backing up state and settings into the cloud, along with user tiles. After logging into a Live ID, you can immediately start downloading settings to a new machine.

A new Live Mail client provides Exchange support, as well as for web-based mail applications. It's a very similar tool to the Windows Phone 7 mail client, with a two-pane view of your mail. You can tap to open folders, while the Calendar application will aggregate views from several calendars, including shared calendars.

If you use the People hub on Windows Phone 7, you'll find the Windows 8 People application very familiar. A connected service, it uses the social connections built into Windows Live to give you one place to see everyone you know — along with their social media status updates. There's no need to worry about networks, as it's all handled by the Live service platform, with links for instant messaging and for photo libraries.

Microsoft has finally integrated its SkyDrive cloud storage tools with Windows, and applications will be able to use the service. Users will see SkyDrive in the Share charm, and will also find applications using it to handle sending large files — sharing photos, for example. The SkyDrive service will also now show connections from other PCs, letting you connect to your work PC with no need for additional authentication or tools.

Developing for Windows 8
There has been much speculation over the Windows 8 development model, and Windows developers will breathe a sigh of relief to discover they won't be forced to develop all their Windows 8 applications in HTML5 and JavaScript. Instead, a new set of APIs will let them build Metro applications using familiar tools and technologies, with Silverlight and HTML5 two optional user interface technologies that will work on both ARM and Intel platforms.

You can still build traditional desktop applications in Windows 8, but Microsoft is encouraging new development to focus on immersive Metro-style applications. In order to deliver these applications, it's releasing a new set of APIs on top of the Windows kernel. A set of C++ Windows Runtime APIs, WinRT, will give you comprehensive access to the OS capabilities, exposing them to managed and unmanaged code, and to JavaScript. The underlying development model builds on the familiar model-view-controller design pattern, with HTML5 and XAML used to deliver views as Metro-style user interfaces.

win88.jpg

The bundle of sample applications in the Windows 8 Developer Preview includes a conference planner for the BUILD event where Microsoft unveiled Windows 8 and its development model. Applications like this can be built using HTML5 grid layout tools quickly and easily, with JavaScript links to Windows

A new version of Visual Studio (currently codenamed "Dev 11") provides plenty of Metro project templates, with JavaScript now a first-class citizen alongside C# and Visual Basic. Some of the templates are fully functional applications that can be quickly customised, while others just put the Metro framework in place and let you do the rest. If you're producing an HTML/JavaScript application, this includes setting up the base JavaScript libraries and CSS files.

HTML Metro applications use the same rendering engine as IE 10, so you get all the benefits of its GPU acceleration and standards compliance. That also includes its CSS support, and the new layout standards for grids and flexboxes. With support for WebSockets in Windows 8, applications will be able to connect to data sources and services, as well as taking advantage of Web Workers for background processes. Touch comes for free with the Windows 8 controls, and it's also easy to add contracts to your application using WinRT APIs.

Designers can take Visual Studio Metro code and use a new version of Expression Blend to style user interfaces. Blend will support HTML and JavaScript, as well as XAML and Silverlight, with tools for quickly adding and editing Metro features and tooling, plus interactive editing for styles and layouts. A tool library lets you drop control elements onto a page, with HTML elements offering the same features as Silverlight XAML elements. Silverlight developers will be able to finally deliver Windows Silverlight applications, outside of the browser — although this does mean namespace changes. Tools in Blend will help style controls for Metro, and you'll need to write new code to work with WinRT. It is possible to use compilation symbols to produce source code that can be compiled for web, phone and Metro, although this can result in overly complex code.

The Windows Store
Windows 8 will introduce Microsoft's new application store. Similar to the Marketplace developed for Windows Phone 7, the Windows Store is integrated into the Start screen and into the Windows 8 developer tools. This makes selling and distributing applications just another step in the application development lifecycle.

Developers publishing applications to the store will have to fill out application metadata, and then choose a licensing model (with the option of free trials), and a price. Once uploaded, a page shows an application's progress through the certification process, from security tests to technical and content compliance. Versions of the tests are included with the development tools, so you can run them yourself before submitting an application, which should speed up the submission process. Once an application is in the store, developers will be able to see telemetry from installed copies, allowing them to debug and fix applications, before posting fixes and updates to the store. The store is a Metro application build using HTML, JavaScript and CSS, with themed groups for applications. A spotlight section is curated, with the rest of the sections being automatically generated. The store itself won't be part of the developer preview.

Performance
Microsoft's Building Windows 8 blog has already shown some of Windows 8's performance optimisations, with the aim of producing an OS that runs on the same hardware as Windows 7, while offering efficiencies. A new Task Manager has a clean Metro look-and-feel, with a new process management view that owes a lot to Sysinternal's Process Explorer. You can use it to see a heat map of resources in use, as well as getting an application performance history for Metro applications. As an added bonus, a right click on a process name launches a web search, helping track down details of unknown processes.

The pre-beta developer preview already uses less memory that Windows 7 on the same hardware, and coalesced system times and new lower power state tools have improved overall performance. The new kernel hibernation-based boot is extremely fast — faster than a monitor's resolution detection and switching! Some functions, like a new low power connected standby mode, only work with ARM architectures at present, handling saving application state for rapid power-off.

As Metro applications are designed to be shut down at any time, they can enter a new suspended state, not scheduling processor time, which helps to deliver multitasking on CPU-constrained machines like Atom netbooks. A set of performance contracts let you write code that won't be suspended or shut down, so you can write applications that carry on using network connections or play audio in the background.

Windows 8 also brings deduplication to memory pages, consolidating memory used by shared libraries and common data. It's a process that only works when memory pages are identical, but can save several megabytes of memory on a busy machine. It's a lazy process, periodically scanning memory and combining where possible.

Security in Windows 8
Like other recent Windows versions, Windows 8 has been built using Microsoft's security design lifecycle methodology. It also adds new security features to the OS, including a secure booth that works with UEFI BIOSes to sign the boot process and only trust those signed processes. If a PC is booted with a compromised OS it won't start, reducing the risk of installing rootkits and other low-level malware.

The boot process also loads anti-malware early — even during fast boot. Microsoft will bundle its own anti-malware suite, an upgraded version of Windows Defender, but OEMs will be able to install their own anti-malware solutions. Windows Defender will add full antivirus, with run-time, network filtering and web protections — protecting you from compromised devices and drive-by web attacks. Windows' reputation-based defences are getting an upgrade too, with SmartScreen now supporting applications installed from more than just the web.

System management
Windows 8 makes it easy to re-provision and manage machines. If a system has a recovery image, all you need do is hold down the Windows key when you restart, and choose the reset option to fully format the hard drive and reinstall Windows, ready for a new user.

win810.jpg

If you're having problems, a refresh will reset the OS, replacing your applications, settings and data, so you can carry on working — with only a five-minute wait

An alternative option allows you to refresh the operating system. Choose the refresh option and your PC will take your files, data and personalisation, save them off, and then reapply them to a refreshed operating system. It's a quick process, and can help recover machines that may have had system files corrupted or replaced by third-party applications.

Windows 8 and business
Although much of Windows 8's new user interface seems targeted at the consumer market, it also contains many business-specific features — especially when used in conjunction with Windows 8 Server.

One important new feature is Windows To Go, which runs Windows 8 from a USB stick, secured with BitLocker. It's an interesting alternative to VDI (Virtual Desktop Infrastructure) for smaller organisations, where implementing a shared storage system and running VDI servers can be expensive. All you need to do is issue staff with Windows To Go USB sticks, and they can plug them into a machine and reboot to launch their personal Windows environment. If a running copy of Windows is accidently unplugged, you just reinsert the key and the system will automatically restart and resync, leaving you where you were when the USB drive was unplugged.

Windows 8 has full VDI support too, using RemoteFX. Users will be able to see a catalogue of remote applications on their desktop, accessible with full fidelity — with touch support too. There's also support for multiple remote desktops, and for using Hyper-V on Windows 8. Virtualised Windows on Hyper-V is a debugging tool, and developers can use it as an isolated debugging environment.

The future of Windows?
Windows has changed completely many times — the jump to Windows 95, to XP, to Vista and to 7. However, none have been as dramatic as the changes in Windows 8. The new shell and the Metro user interface model are very different ways of working to the familiar WIMP (Windows, Icons, Mouse and Pointer) paradigm. That's not a bad thing: PCs are changing, and Windows needs to change in order to support the next five years of hardware.

It's challenging to develop a user interface that scales from phone to TV, via slate, notebook and desktop PC. But Microsoft seems to have nailed it. Metro's immersive look and feel works well on a range of different PC hardware, is easy to learn and a lot more informative than the old start menu and task bar. Change like this is good, and although it can't be a big bang that disenfranchises current Windows users and developers, Windows 8's desktop-as-application model makes a lot of sense as a tool for backward compatibility, while encouraging development of new Metro applications.

The pre-beta code we've seen is buggy, and not ready for prime time. However it is ready for developers to build and test new applications — and with the new Visual Studio and Expression Blend tooling, Microsoft is giving them what they need to get started. It's going to be an interesting few months as Microsoft fine-tunes Windows 8 for release, and as developers learn to build applications and services that make the most of it.

Editorial standards