VoIP Business and Virtual PBX
iPad for small business

Windows everywhere, or Windows nowhere? What is Microsoft's "single ecosystem"?

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, specifically, do you think Microsoft's "single ecosystem" is? What will it look like? How will it work? What will the purpose be?

The key important things here

One of the key important things here, even though, is the change that's but to happen, nevertheless it's about to happen, and in other words the bringing at the same time 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. At the time 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 at the same time.

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 as well on Xbox. However, as well sharing key pieces of research.

"Windows Everywhere" has been Microsoft's goal for nearly as long as Windows has been, then, anywhere. Speaking at PC EXPO '97—yes, 1997—Steve Ballmer, then and there Executive Vice President of Sales and Support in the World Business Strategy Group spoke of the "Windows everywhere" vision, and described how even at that time 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, however Microsoft was hoping to target handheld palmtop devices—the same devices on which Symbian and Windows CE cut their teeth. Similarly, Ballmer wasn't talking game consoles, because at that time the perceived route into the living room and onto the TV was Web-browsing set-top boxes. Yet 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.

The past couple of years

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 even though it may look like tablets are missing from those screens, no need to worry; as Lees explained, tablets are PCs too, anyway in Microsoft's view. That's a subject worthy of discussion, nevertheless that'll have to be another day.

Whatever the slogan, the concept of a single unified ecosystem is a long-standing Microsoft dream. Specifically 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 as well has to put it more exactly different needs to the three screens: not much call for GUIs on cloud servers. Nevertheless 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.

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 then-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 clearly be different depending on whether you're using a mouse/keyboard pair, a controller, or a touchscreen. For the moment, the computer, Xbox 360, and phone all have a different aesthetic, with different design cues and user interface components. 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 however encourage people to pick up the phone with the matching interface.

A common user interface is important for the user experience and branding, however it's only half of what you need to build an ecosystem. A common way of to tell the truth 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, yet 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, however core components 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, nevertheless a browser that's to as great an extent as possible identical to the desktop one. For webpages, meanwhile, there's going to be the opportunity of a single ecosystem before long. Yet I think the plans call for more than that.

Microsoft hasn't but outlined specifically how this will be done, however 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. Previously 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

The situation for regular, non-game applications is a little less clear. At this stage, the PC and the phone both share the .NET-based Silverlight runtime. Silverlight is as well making its way to the Xbox 360. So judging by appearances, that would be the obvious "single ecosystem" solution. Nevertheless, what's not clear at this stage is just how Silverlight is going to evolve in Windows 8. There will be something Silverlight-like, that much is clear, nevertheless it may not quite be Silverlight as we know it. Everything considered, 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.

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 instance—nevertheless 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 as well lacks many of the features of Windows NT, just 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 spontaneously

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

The reason that Microsoft can live with, as a matter of fact, three different, incompatible platforms nevertheless still achieve a single ecosystem is that the .NET-based Silverlight and XNA hide nearly 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 oher side of the coin, have options; they can use the native operating system APIs and write native code, to eke out extra performance and gain access to additional system functionality—and, clearly, to be able to use existing non-.NET source code.

Big problem for the single ecosystem

This is a big problem for the single ecosystem, because, even though there is commonality between the platforms, there are as well many, many differences. There's just no straightforward portability between the three platforms. And during banning the use of native code on the phone is probably OK, at least for the moment, 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 however demand native access.

Do these native programs need to be a part of the single ecosystem? I think it's truly desirable. Native code isn't going away any time shortly, 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. On the whole, recompilation isn't an intolerable burden, such as long as the operating systems and APIs are consistent, and is arguably required in any case, to handle the input differences between the three screens.

More information: Arstechnica
References:
  • ·

    Clouds In The Future + Windows 8

  • ·

    Silverlight Windows 8

  • ·

    Windows 8 Xbox 360

  • ·

    Xbox 360 Controller For Windows Software