In 1998, Ask Ars was an early feature of the newly launched Ars Technica. Now, as then, it's all about your questions and our community's answers. Each week, we'll dig into our question bag, provide our own take, then tap the wisdom of our readers. To submit your own question, see our helpful tips page.

Q: At Microsoft's Worldwide Partner Conference last week, Andy Lees, President of the Windows Phone Division, said that Microsoft was building a "single ecosystem" for PCs, phones, tablets, and the TV. With Apple's new operating system named simply OS X Lion—no "Mac"—is Microsoft thinking it's time for a name change? Just what, exactly, do you think Microsoft's "single ecosystem" is? What will it look like? How will it work? What will the purpose be?

The single ecosystem was an important part of Lees' speech, and it's worth including a couple of quotable quotes just to get an understanding of what he was talking about:

One of the key important things here, though, is the change that's yet to happen, but it's about to happen, and that is the bringing together of these devices into a unified ecosystem, because at the core of the device itself it's possible to be common across phones, PCs, and TVs, and even other things, because the price drops dramatically. Then it will be a single ecosystem. We won't have an ecosystem for PCs, and an ecosystem for phones, one for tablets. They'll all come together. [...] And so at the Build Conference in September we will talk about how we can provide the bet of the PC and the tablet. And our strategy is not just limited to that. We are aiming to provide coherence and consistency across the PC, the phone, and the TV, particularly with Xbox. That's through providing new types of scenarios, things like the way in which we make the user experience more common, as you saw yesterday in the demonstration of the user experience that you have on Windows 8, Windows Phone, and also on Xbox. But, also sharing key pieces of technology.

That sounds grand and exciting. Overarching, unified strategies normally are. It raises more than a few questions, too.

But the funny thing is, Lees wasn't really announcing anything new.

"Windows Everywhere" has been Microsoft's goal for almost as long as Windows has been, well, anywhere. Speaking at PC EXPO '97—yes, 1997—Steve Ballmer, then Executive Vice President of Sales and Support in the World Business Strategy Group spoke of the "Windows everywhere" vision, and described how even then the ambition was a decade old. And "everywhere" didn't just mean PCs and servers. OK, so nobody was talking about smartphones and tablets back in 1997, but Microsoft was hoping to target handheld palmtop devices—the same devices on which Symbian and Windows CE (which underlies both the old Windows Mobile and the new Windows Phone) cut their teeth. Similarly, Ballmer wasn't talking game consoles, because at the time the perceived route into the living room and onto the TV was Web-browsing set-top boxes. But the underlying concepts were all there: Windows should be on your computer, in the server room, in the palm of your hand, and on your TV. Windows Everywhere.

For the past couple of years, the branding of this message has shifted to "three screens and a cloud." The computing experience should seamlessly span the PC, the TV, the phone, and the cloud: data, applications, a user experience should harness each of these in whatever way is appropriate. The only real difference between this message and Windows Everywhere is the cloud terminology; servers are out, clouds are in, even if they're private clouds made up of private servers. And though it may look like tablets are missing from those screens, no need to worry; as Lees explained, tablets are PCs too, at least in Microsoft's view. That's a subject worthy of discussion, but that'll have to be another day.

Whatever the slogan, the concept of a single unified ecosystem is a long-standing Microsoft dream. Exactly what a "single ecosystem" is is up for debate. I think it's unlikely that the three screens will ever be totally unified, simply because there are things you can do on a high resolution PC screen with a pixel perfect mouse that just aren't practical on a phone. The cloud also has rather different needs to the three screens: not much call for GUIs on cloud servers. But unlike the situation in 1987 or 1997—or even a couple of years ago, when the "three screens" mantra was first used—it's now possible to see just how Microsoft might pull this off. We know parts of what to expect already: a common look-and-feel, and a common programming model—and it's not a huge leap to speculate that we might just see a common operating system too.

A single look-and-feel

The common look-and-feel is the thing that Microsoft has been most open about. Regardless of its market penetration, the geometric, tile-based, text-heavy Metro look-and-feel sported by Windows Phone has been well-regarded. Windows 8's touch-friendly interface borrows heavily from Metro. That same look is coming to Xbox 360, too, with the dashboard update coming this fall.

Using the interface will of course be different depending on whether you're using a mouse/keyboard pair, a controller, or a touchscreen. At the moment, the computer, Xbox 360, and phone all have a different aesthetic, with different design cues and user interface elements. With Windows Phone 7, Windows 8, and the new Xbox 360 dashboard, they'll be consistent and uniform. Microsoft will have a strong visual identity across the entire range of its products. They'll look and work the same way, to as great an extent as makes sense, and in so doing the better-performing members of the trio should reinforce Windows Phone. The Metro look and feel will be familiar and comfortable from Windows and Xbox 360—that can't help but encourage people to pick up the phone with the matching interface.

A common user interface is important for the user experience and branding, but it's only half of what you need to build an ecosystem. A common way of actually building applications is the other half. Developers need to be able to take an application for the phone and scale it up for use on tablet PCs, or vice versa. The TV may not be much of a place for regular applications, but even there, games should be portable across all three platforms. Again, as was the case with user interfaces, some level of adaptation will always be necessary to make the most of each platform, but core elements of the software should be usable across the board.

We're seeing bits and pieces of this already. Windows Phone Mango, the first major revision to Windows Phone 7 that's due this fall, will include Internet Explorer 9. Not merely a browser that's similar to the desktop one, but a browser that's to as great an extent as possible identical to the desktop one. For webpages, at least, there's going to be the possibility of a single ecosystem soon. But I think the plans call for more than that.

A single developer platform

Microsoft hasn't yet outlined exactly how this will be done, but given what we know of Windows Phone and the Xbox 360, and what's likely to come with Windows 8, we can have a pretty good guess. Already, Microsoft's .NET-based XNA framework, used for game development, is available on the phone, the PC, and the TV. Before Windows Phone was even launched, Microsoft demonstrated games running across all three screens, claiming only minimal changes were required to adapt to different screen resolutions and input devices.

The situation for regular, non-game applications is a little less clear. At the moment, the PC and the phone both share the .NET-based Silverlight runtime. Silverlight is also making its way to the Xbox 360. So on the face of it, that would be the obvious "single ecosystem" solution. However, what's not clear at the moment is just how Silverlight is going to evolve in Windows 8. There will be something Silverlight-like, that much is clear, but it may not quite be Silverlight as we know it. Nonetheless, to be a "single ecosystem" it's going to have to be substantially identical across every platform, so whatever changes Windows 8 may bring will have to be reflected on the phone and TV.

Microsoft could just stop there. That would be enough to create a "single ecosystem," and it would work well enough for both users and developers alike. But there are signs, little hints here and there, that Microsoft wants to go a step further than that, and use a common operating system.

At the moment, Microsoft doesn't have that. There are two operating system families: the Windows NT family, which includes Windows 2000, Windows XP, Windows Vista, and Windows 7; and the Windows CE family, which includes Windows Mobile 6.x and Windows Phone 7. Windows NT was designed for desktops and servers—traditional PCs. Windows CE was designed to be embedded, to control appliances and gadgets—uses where the operating system tends to take a back seat, with users just seeing custom applications and front-ends instead.

These two families are similar in some respects—both have similar core APIs, for example—but a lot of the details vary. Windows CE is much smaller, and can run on machines with just a few megabytes of memory. It has many nuanced differences in areas like its handling of threads and processor usage, due to its use in timing-critical markets like control of industrial machinery. It also lacks many of the features of Windows NT, such as the complex security, the extensive and varied APIs, and it doens't include the same user interface or wide range of software.

The Xbox operating system is kind of on its own, since it's never sold or licensed standalone. It's based on a heavily modified Windows NT kernel, but beyond that details are scarce; Microsoft doesn't discuss it publicly in the way it does Windows CE and Windows NT.

The reason that Microsoft can live with, in effect, three different, incompatible platforms but still achieve a single ecosystem is that the .NET-based Silverlight and XNA hide almost all of the underlying differences between the operating systems. Windows Phone developers currently don't even have a choice about the matter; there is no other API available to developers. Windows and Xbox developers, on the other hand, have options; they can use the native operating system APIs and write native code (that is, programs that target the CPU directly instead of having to go through JIT compilation at runtime), to eke out extra performance and gain access to additional system functionality—and, of course, to be able to use existing non-.NET source code.

This is a big problem for the single ecosystem, because, although there is commonality between the platforms, there are also many, many differences. There's just no straightforward portability between the three platforms. And while banning the use of native code on the phone is probably OK, at least for the time being, it's untenable on the desktop, and highly unlikely to fly on the Xbox 360 or its successor. Even if a future version of XNA gave console developers access to all the hardware capabilities and 95 percent of the performance, they'd still demand native access.

Do these native programs need to be a part of the single ecosystem? I think it's certainly desirable. Native code isn't going away any time soon, and to tell developers that the only way to join in the single ecosystem world is to write in .NET just isn't viable—if nothing else, the team that writes Microsoft Office isn't going to convert it to use .NET. So there needs to be a uniform API for native applications. That raises problems, because native code is processor-dependent. A program built for Intel x86 processors can't run on a phone or a tablet using an ARM processor, and it can't run on the Xbox 360's PowerPC-derived processor. Still, recompilation isn't an intolerable burden, just as long as the operating systems and APIs are consistent, and is arguably required anyway, to handle the input differences between the three screens.