The jury is still out on how successful Windows 8 is going to be, but we all know Microsoft is in this for the long haul. Regardless of whether users are slow or fast to adopt the OS, Windows 8 will eventually be part of every developer's world. Software needs to be reflective of the OS a developer's computer is running on. Looking at Windows 8 in a mirror shows you a very different reflection than what you’re currently used to in terms of development.
Windows 8 threatens the hegemony of the keyboard and mouse—not to the point of extinction but these inputs are threatened with heterogeneity. We can't presume that everyone who is using our software will have the same input devices. And I’m not just talking about touch interfaces. Similar to how the mouse went through many changes in its early days, touch might be just an interim step to other interfaces, including 3D touchless solutions such as Kinect.
The way software interacts with the display has fundamentally changed. After all, there are no longer any windows in the Windows OS—at least, not the way we think of windows. With a mouse-based interface, the edges of the monitor are the edges of your whole world because the mouse can go up to the edge of the monitor, but no further. In the Windows 8 world, your monitor is just a viewport on an infinite canvas of workspace. Gestures, touch-based or otherwise, work well in this world, in which you can continuously scroll horizontally or vertically—and there's even a third dimension in effect with semantic zoom.
Live tiles illustrate a difference in Windows 8 in how software behaves. We now have the opportunity to let people know why they would want to run our application—you could even go down the path of a rather childish "Click me! Click me!" effect. But more practically, the ability to surface the most important information in your application into a small space on the screen to let users know that they should dive deeper is incredibly powerful. Call it a democratic dashboard.
Rather than building an enterprise resource planning (ERP) application that contains multiple modules, you'd want to decompose your application so that each module has its own live tile that presents information about the module to suggest that further work is needed. For example, an accounts receivable module might display the number of invoices that are over 90 days past due.
A lot of the metaphors that we're used to are now gone in Windows 8. The loss of the Multiple Document Interface (MDI), toolbar, and menu bar in Windows 8 are effectively old news, and they're being replaced with new concepts such as carousels and launchpads. This new set of metaphors calls for an entirely different approach in software design.
When you start thinking about how to build a Windows 8 application, don’t start with the application you have—start with the problem that you're building the application to solve. Then think about how you can address that problem in this new world. The potential is there to dramatically enhance the value of software to your organization.