News

UPDATED: Windows 8 Details Revealed, Developer Preview Live

UPDATE: The Windows Developer preview is now live at 5 p.m. PT

Microsoft kicked off the preliminaries of its Build conference on Monday by describing how the upcoming "Windows 8" operating system will make the case for IT professionals, developers and users.

And in its Build keynote today (Tuesday), Microsoft said that the developer preview for Windows 8 will be downloadable from this URL starting at 8 p.m. PDT. "No activation, just download and install it," Steven Sinofsky, president of Microsoft's Windows Live Division, told the crowd toward the end of the opening keynote.

Microsoft first showed off Windows 8 in June, but the Build demonstrations marked the deepest view yet of what looks like a radical departure from past desktop operating system designs. In this case, Microsoft displayed a "developer preview" of Windows 8 at the event. Attending press at the Monday preview got a look at an x86-based Windows 8 tablet PC, which isn't for sale yet.

In general, Microsoft officials describe Windows 8 as a "reimagining" of its operating system, although the tile-based user interface looks a lot like the one seen in the Windows Phone 7 mobile OS. The resemblance isn't a coincidence since Microsoft is pressing developers to create "Metro-style" apps, which are going to be based on HTML 5, JavaScript or XAML. These Metro-style apps will port from x86 metal to Windows 8 running on the ARM platform, which is a new platform for Microsoft's flagship desktop OS.

"If you use HTML 5, JavaScript or XAML, it just runs on ARM," said Julie Larson-Green, corporate vice president of Windows experience, at a Build press event. She noted that there is a large existing install base of x86 software out there, but Microsoft isn't necessarily working to port it to ARM. The hardware is different, so while ARM may enable great power management, porting an x86 app to ARM might just drain the battery.

The ARM devices for Windows 8 are still being developed. No ARM demo was shown at the press event. However, "all of the apps for ARM will be Metro-style," according to Steven Sinofsky, president of the Windows and Windows Live Division, in response to a question.

Larson-Green described classic x86 apps as "desktop apps," explaining that they are different from Metro-style apps. Microsoft will still enable those desktop apps to run on Windows 8, and they'll still have the same familiar controls through mouse and keyboard, with chrome borders, buttons and standard menu systems. Microsoft has also promised that any Windows 7 app will be able to run on Windows 8. However, Metro-style apps will have a different look. They will fill every inch of the screen and will typically have no chrome borders at all.

Metro-style apps are fully touch enabled and users can even use a pen device, which Microsoft is reviving with Windows 8. If you swipe your finger toward the right, it brings up the "charms," which are five icons (Search, Share, Start, Devices and Settings). The charms appear to be all that's left from the Windows 7 "control panel" approach. Microsoft standardized one place to change the settings both for the OS system and for applications, making things easier for users, according to Jensen Harris, director of program management for Windows experience.

Windows 8 for Developers
Windows 8 introduces a new API surface called "Windows runtime APIs," which are part of the OS' services, according to Aleš Holecek, distinguished engineer for the Windows developer experience. Microsoft wants developers to access these APIs, which are written in native C++ code, through various languages.

"Developers will be able to make a choice based on the best technology," Holecek said. "We don't want anyone to go and learn an esoteric language."

Microsoft is putting XAML and HTML/CSS on an equal footing in that regard, he explained. He added that Microsoft "will preserve all of the investments" in platforms like Silverlight. He did note that the API surface isn't good for some things, such as building drivers. It's mostly there to benefit application developers. 

The programming platforms needed to build Windows 8 Metro-style applications include C++, C#, Visual Basic, JavaScript and HTML/CSS for x86, x64 and ARM machines. Visual Studio version 11 provides templates that represent fully functional Metro-style apps that support these various languages. Converting XAML apps into Metro-style apps is easy to debug, Holecek contended, after copying the XAML code into a C# template. He said developers just need to look for three categories of errors involving namespaces, networking code and browser navigation to make the conversion.

Microsoft also has been working with the Worldwide Web Consortium to improve Web apps via adding gradients, SVG filtering, grid and flex-box layouts, and column-text layouts, as well as local storage, Web Workers and WebSockets, Holecek said. The canvas element is being used to create freehand graphics on Web pages, he added.

Apps can share any part of each other in Windows 8. These parts are described by Microsoft as "contracts." There are several contracts, including a "sharing contract," which will work across various apps seamlessly if one has signed up for Windows Live. There is a "search contract" that helps with finding things like photos across the PC and at social networking hubs. The "recognition contract" can work with the pen tool to help translate handwriting into text. Microsoft is also putting emphasis on file sharing through its SkyDrive cloud-based storage space. SkyDrive is a case in point of the sharing contract use, as various apps can tap SkyDrive as a resource.

Creating a sharing contract in an app using JavaScript took just two lines of code to do, according to a demo performed by Holecek. A developer might use this technique to share the content of a canvas element to whomever might request it. 

Holecek showed off some of the controls enabled in Microsoft Expression Blend, noting that "it is important to note that we are making all of the controls available to the XAML and JavaScript communities."

The various form factors used for Windows 8 can be found in Expression Blend. Developers don't have to purchase various devices to test their code. Developers also get some support within the Windows Store certification process. Microsoft added a link to the Windows Store directly from the start menu in Windows 8, allowing users to quickly find and buy apps.

Apps submitted by developers to Windows Store are run through a series of tests, which demonstrate their technical compliance.  The Windows Store also has an application dashboard that shows the number of app downloads. This dashboard also provides telemetry data to developers that may be useful for debugging their apps, Holecek said.

Microsoft did not describe the Windows 8 release cycle. It's thought that the OS could hit the market as early as April 2012 or as late as 2013. The complexities of the ARM port are expected to complicate this release somewhat.

About the Author

Kurt Mackie is senior news producer for 1105 Media's Converge360 group.