With the Internet's importance steadily gaining, it's not as if Web programmers needed an ego boost. But Microsoft has given them a major one anyway with a radical change coming in Windows 8.
The next-gen Windows will come with a new programming foundation, letting developers build native apps with the same techniques they use for Web applications. Microsoft calls this new variety "tailored apps."
It's a bold move for the company. Microsoft's financial fortunes have depended heavily on Windows sales, and Windows' continued momentum has depended heavily on the wide range of software written to use Windows' direct interfaces.
Tailored apps, in contrast, use a higher-level interface: a browser engine. Now we know why Microsoft has been so gung-ho on IE9 over the last year.
Why this sharp break from the past? Microsoft isn't commenting on its rationale beyond speeches earlier this month, but here's one very good reason: ARM processors.
Today's ARM processors, from companies including Qualcomm, Texas Instruments, Nvidia, Samsung, Apple, and Freescale, are usually used in mobile devices. But they're growing up fast, and Microsoft is designing Windows 8 to run on ARM chips, too.
Windows has run on other processors besides x86 chips from Intel and AMD--Itanium, MIPS, Alpha, and PowerPC. Although each of those versions has been abandoned over the years, Microsoft clearly has adapted the Windows code base for processor independence.
Getting programmers to come along is another challenge altogether, though.
Two Windows 8 apps can share the screen, but the usual approach is to devote the entire area to a single app.
(Credit: Microsoft)But ultimately, Microsoft's position makes some sense. Windows remains a powerful force in the industry, but almost all the hot consumer-level programming action today is taking place either with Web apps or with mobile apps running on iOS and Android. Every now and again a new native app arrives for Windows--Angry Birds, say, or any number of other video games--but the hot platforms of the moment are mobile and the Web.
Windows 8 has a very different interface. These dynamically updated tiles represent apps.
"Over 60 percent of people's time is spent in a browser when they're using virtually any system," said Angiulo said.
There's already an army of Web-savvy programmers, a fact that helps ease with the chicken-and-egg problem of spinning up a new programming foundation. It's not clear how closely tailored apps will resemble Web apps, but it's likely that something like Facebook's interface could be repackaged without major difficulties. That could help flesh out the Windows 8 app store faster.
"This application platform is based on HTML5, JavaScript, and CSS--the most widely understood programming languages of all time," Angiulo said. "These languages form the backbone of the Web, so that on day one when Windows 8 ships, hundreds of millions of developers will already know how to build great apps for Windows 8."
In addition, Web programming is expanding beyond the Web already: Hewlett-Packard's WebOS uses Web technology, as do browser extensions written for Google's Chrome, Apple's Safari, Opera, and the imminent Jetpack framework for Mozilla's Firefox. Note that Chrome extensions can be sold as full-on Web apps through the Chrome Web Store already, and that Web apps are what Google's Chrome OS runs.
Thus, in a way, Windows 8's tailored apps are close cousins to Google's Chrome OS apps.
With the fevered rush of standards development, the Web is getting more powerful. One of the hot areas today is in CSS, It's growing more advanced not just as a way to put drop shadows behind boxes with rounded corners, but also as a way to animate changes such as boxes popping up and even provide 3D effects such as windows flipping over.
Other work is improving CSS Web typography and layouts. With Scalable Vector Graphics, more complex graphics are possible. HTML5's Canvas element provides a two-dimensional housing for such graphics.
Browsers haven't been known for their performance compared to native apps, but Microsoft is pushing as hard as it can to use hardware acceleration. It does so for Canvas, SVG, CSS, and even text rendering. It also is working on faster JavaScript, in part by spreading work across multiple processor cores.
Another Microsoft effort makes more sense in light of tailored apps: pinning. IE9 Web pages can be pinned to Windows 7's task bar the way native apps can. With Windows 8, this behavior makes perfect sense since the Web-style tailored apps will be full peers to native apps.
One uncertainty is whether Microsoft will support IndexedDB, a database technology that a browser can use to store complicated data and could be helpful for applications that have to work when there's no Net connection. And it looks all but impossible that Microsoft would support WebGL, a new standard enabling 3D graphics on the Web that also can improve 2D apps such as games.
Windows 8 tailored apps resemble those using Windows Phone 7's Metro user interface. They're touch-enabled and use a lot of rectangles that slide and swing around.
Don't expect existing Windows interfaces to go away: Microsoft has a huge collection of existing software to support, and you can bet programmers who don't want to be confined to tailored apps' limits will keep demand high.
After all, while Microsoft has had trouble matching Apple and Google in mobile devices, it's stayed competitive with programming tools. Don't expect the company to throw that asset away any time soon.






