Microsoft likes to talk about Windows 8 as being Windows "reimagined," and in many ways it is quite a departure from its predecessors. To allow the operating system's use across a range of touchscreen devices, Microsoft radically redesigned the look and feel of the OS.
This week at the company's Build conference in Redmond, Washington, developers learned some of the techniques they will need to make the most of the new OS. The talks addressed issues such as how to work with live tiles on the start page, how to work with the touch interface, and how to design applications so they look good in the new, simpler, interface.
Windows 8 goes beyond static icons that link to applications. Instead, each app can have a live tile on the start page, one that can be updated with information such as photos, calendar items or news. "The whole purpose of live tiles is to create a system that is alive with activity," said Kraig Brockschmidt, senior program manager for Windows planning, during one talk.
Live updating can take place in three places: on the start page, in pop-up notifications and on the lock screen.
Microsoft designed live updating so that it would not consume an undue amount of power. "We could have a system that is very alive with apps running all the time, but we'd get only one or two hours of battery life," Brockschmidt said. Instead, tiles can issue updates even when the underlying app is not running. Windows will allow a developer to define an external service, through an API (application programming interface), that can deliver updates over the Internet on behalf of the app.
Microsoft limited what can be placed on the start and lock screens. "If you let everybody put what they want on their tiles -- video, interactive controls, motion -- it would be utter chaos eventually," Brockschmidt said. Instead, the company offers 40 templates for tiles and notifications that developers can use. Each image in a tile can be no larger than 200Kb and have no more than 1024 pixels. "By limiting what you can do on the start screen, you get a much more unified view that is much cleaner and more informative," Brockschmidt said.
Another design consideration developers will have to grapple with is a new form of input, namely touch, where users interact with the OS directly through the display. "We really want developers to have a touch-centric approach to their applications," said Jeff Burtoft, a Microsoft HTML5 evangelist, during another talk.
Just as the mouse introduced new ways of interacting with graphical programs, so too does the touch interface offer new possibilities for user interaction. Windows 8 can determine if the device it's runs on accepts touch as an input. If it does, it activates "listeners" for touch-based input.
"All of our navigation works with both touch and mouse," Burtoft said. "If you design for touch, you get mouse for free."
Touch interactions fall into two forms: pointers and gestures.
A gesture summarizes a user's intention, such as a tap on a screen that indicates the desire to open a program. Windows 8 interprets a range of gestures on behalf of the application, so the developer doesn't have to write that code from scratch.
Microsoft developed a set of gestures, which Burtoft called the Windows 8 Touch Language, that the company wants developers to use uniformly across all their applications. The gestures include tap, press-and-hold, pinch-and-zoom, and swipe-from-the-edge. "As long as different applications all use this same language, it will be easy for users to catch on" to how to navigate through their apps, Burtoft said.
For cases where gestures can't provide the detail an application needs, Microsoft also provides pointers. With pointers, every touch point on the screen gets its own "event object," which developers can link to directly with their application code. Pointers allow the user to execute tasks such as drawing or writing on the screen.
Another aspect to consider is design. In another Build session, Microsoft's principal user experience adviser, Will Tschumy, explained the philosophy behind the new Windows, in the hope that developers will build their apps in a similar way.
To the casual observer, the new interface appears less cluttered with boxes and menu choices. This look, said Tschumy, was actually inspired by high modernism, a school of design that has its roots in the Bauhaus art movement of the early 20th century.
"It's all about trying to get the OS out of the way," he said. Windows 8 tries to help users focus on the task, he said. Apps should have very little, if any, chrome -- the design term for boxes and menu selections that frame most applications today. Instead, the content of the application, such as a photo, video or text document, should take up the entire screen.
Tschumy advised developers that, whenever they have a design question with Windows 8, they should think "content before chrome."
One company embracing the new design paradigm is SAP. The ERP (enterprise-resource-planning) vendor plans to release six applications in the next few months that embrace the new Windows design rules, said Fred Samson, SAP vice president of mobility and innovation, in another session.
"We tried to leverage as many Windows 8 features as we can," Samson said. The new interface allows SAP to build applications that are more immersive and interactive, he said. Users can move about a document by scrolling rather than paging, data can be displayed on maps instead of lists, and documents can be identified by images instead of names.
Samson demonstrated one application, Financial Factsheet, that allows users to view data from a customer database in graphical ways. For instance, it allows the user to query a database for contacts within a 50-mile radius, and have the results appear on a map.
"Users don't have to learn a new language. They don't have to open a filter, select an attribute, filter by the attribute. It's all laid out for them," he said.