BitCrazed

Code, technology, opinion ... and who knows what else?

Month List

RecentComments

Comment RSS

Will Windows Phone 8 run the Windows Kernel?

Intel’s CEO, Paul Otellini, may have inadvertently pre-disclosed Microsoft’s plans for the next versions of both Windows and Windows Phone. We’ll call them Win8 and WP8, respectively.

During a conference call to press and analysts after Intel announced record Q4CY2010 quarter ($11.5Bn in revenue for the quarter if you’re interested), Ottelini was asked about Microsoft’s move to port Windows to ARM. He said:

The plus for Intel is that as they unify their operating systems we now have the ability for the first time, one, to have a designed-from-scratch, touch-enabled operating system for tablets that runs on Intel that we don't have today; and, secondly, we have the ability to put our lowest-power Intel processors, running Windows 8 or the next generation of Windows, into phones, because it's the same OS stack. And I look at that as an upside opportunity for us.

So, according to Ottelini, it appears that WP8 may well be built atop the Windows Kernel and OS subsystem. Windows proper, not built atop Windows CE as WP7 is today!!! Not only that, but Win8 may will include a brand-new touch-centric UI that is built from the ground-up for tablet scenarios.

So, is it even feasible for future versions of Windows Phone to run on the Windows kernel?

To understand why, let’s dig into this a little more.

MinWin – the history of the future of Windows:

In order to handle the explosive growth and breakneck development schedule of Windows 2000 and XP, Microsoft relaxed its own rules around modular interdependencies between OS components. This resulted in Windows increasingly becoming intertwined around itself – essentially turning into a ball of string.

Microsoft has spent a great deal of time and effort over the last 10 years cleaning up the Windows OS architecture and codebase. This effort, sometimes called MinWin (Minimal Windows), was a huge undertaking that benefitted Windows Vista a little but truly bore fruit in Windows 7.

With most of the Windows OS now cleanly modularized and far less fragile, Microsoft began the process of replacing pockets of what were once the necessary evils of embedded assembly and machine-architecture-specific code with machine and processor agnostic code. Once the code was finally clean, they could complete the work to port Windows to ARM.

Digging deep

Now this is where things get interesting:

I know from my discussions with colleagues during the latter stages of my 10 year career at Microsoft that the MinWin project had gone very well and that they’d actually managed to exceed their initial goals by creating a totally isolated core kernel (MinKernel) that depended on nothing. Built upon the MinKernel are the remaining kernel and OS features that were not considered as absolutely essential to the core kernel.

Therefore, the networking stack, graphics and media drivers and services, most device drivers, storage drivers, IO drivers, printer drivers, etc. were implemented atop a VERY small, efficient, stable and secure kernel.

In a Channel9 video interview, (the always awesome) Mark Russinovich indicated that much of the confusion about MinWin was due to the the improper nomenclature used to describe the various aspects of OS architecture, I contacted him and suggested referring to the parts as CoreKernel, Kernel and CoreOS and OS:

  • CoreKernel is the indivisible minimum kernel (controlling the processor, memory and critical hardware)
  • Kernel includes everything else that runs in the kernel (e.g. logical kernel abstractions including threads, processes, etc., networking stack, device drivers, printer drivers, graphics & media drivers, KTM, ETW, etc.)
  • CoreOS is the core (mostly user-mode) OS substrate upon which the OS itself depends (e.g. Win32, COM, OLE, RPC, WMI, DirectX, etc.)
  • OS is the remaining set of other high-level essential and non-essential features that may, or may not, be installed by the OEM/user/etc. (e.g. Explorer, Silverlight, .NET, Media Center, IIS, etc.)

Using these abstractions makes it easier to see the boundaries around which Microsoft may well be architecting both Win8 and WP8.

I know from prior conversations that CoreKernel is small. VERY small. Last I heard it was around 32KB on disk! Yes, that’s 32 kilobytes!! It gets the machine booted, initializes the processor and memory and loads the rest of the OS. Its core role is then to provide the very lowest-level services to the rest of the OS (e.g. switching threads, allocating memory, managing processor cache, etc.)

Now add to CoreKernel the logical kernel abstractions and infrastructure (e.g. threads, jobs, processes, jobs, etc.), a networking stack, the device drivers necessary to control a PC, phone or tablet’s hardware features and you have a kernel.

Now add on top selected CoreOS and OS services and features.

There’s little reason why Microsoft couldn’t port a slightly modified version of the current WP7 OS & UI running on an ARM board inside a phone or tablet. Or port some/all of the rest of Windows for that matter. After all, one of the huge benefits of WP7’s OS is that it’s largely built on .NET and Silverlight – both of which are already easy to cross-platform and both of which isolate .NET and Silverlight apps from any dependencies upon the underlying operating system.

What’s the point?

Now, you may be wondering what’s the point in doing this? After all, Windows CE is a perfectly adequate kernel and OS for small embedded devices and already powers Windows Mobile devices, Windows Phone and several 3rd party devices like bar-code scanners, process control devices, monitoring equipment, etc.

Right? Right … but only up to a point!

Consider the vast leaps forward in Smartphone technologies in the last 5-6 years. Phones have gone to something you talk with to computing devices in your pocket that largely out-perform a full-blown high-end PC of 8-10 years ago. Modern smartphones already display HD content, play games that used to require a $400 graphics card and contain more data than ever.

With this in mind, and progress in this space accelerating, Microsoft will want to bring technologies like Silverlight and WPF to the phone. They’ll want to enable users to view content streamed wirelessly as well as watch content protected with DRM to enable offline viewing during an agreed period.

These technologies are already built-in to Windows, but are missing from Windows CE. Porting these technologies to Windows CE is just too costly and too cumbersome. CE is a fine embedded OS but is NOT sufficient for the kinds of complexity thrown at modern-day connected devices.

Conclusion

So, in short (after a lengthy post), I believe porting Windows to ARM is perhaps the most important thing Microsoft will have done in over 10 years. Doing so enables mobile and tablet entire scenarios that were just not possible with today’s embedded Windows CE kernel and OS. And, yes, there’s NOTHING to stop the already finely tuned and thoroughly tested Windows kernel operating beautifully on modern ARM chips.

Stay Tuned!

Will any of this come to pass? Will Microsoft finally standardize its embedded, integrated, desktop and server OS’ upon a common kernel & OS? We’ll just have to wait and see how this story unfolds!

Just be sure to revisit regularly as I’ll be keeping a very close eye on this story and reporting what I findWinking smile


Categories: Windows 8 | Windows Phone | ARM | ATOM
Permalink | Comments (0) | Post RSSRSS comment feed

WP7applist - Windows Phone 7 Marketplace Stats

imageI stumbled across the W7AppList.com site today while trying to find the current number of apps available for Windows Phone.

I am not entirely sure how they gather their stats, but their numbers appear to be pretty legitimate.

The site is very well put together and reveals some quite interesting stats and charts showing the rapid growth in the number of apps available for Microsoft’s new Windows Phone platform along with charts illustrating how many apps are free vs. paid-for, number of apps by category, etc.

The site indicates that there are now more than 4300 apps available for Windows Phone 7. That’s 4300 apps in little over 2 months or an average of 2200 new apps per month.

By comparison, Android started out with 167 apps in its marketplace one week after launch (October 2008) and announced it had 5000 apps in July 2009 – some 9 months later. That means Android had an average new app rate of 555 apps per month for it’s first 9 months.

By this measure, if Windows Phone’s Marketplace continues to grow at its current velocity, we’ll see it reach 5000 apps before the end of December 2010 – just 3 months after launch!

Combining these numbers with the impending release of Windows Phone 7.1 which adds copy & paste along with several fixes and improvements, along with the Mid 2011 Windows Phone release codenamed “Mango”: I think it clear to see that Windows Phone has a very bright future. I will not be at all surprised if, in just a couple of years, the three primary mobile handset platforms are Apple’s iOS, Google’s Android and Microsoft’s Windows Phone.


Categories: Windows 7 | Windows Phone
Permalink | Comments (0) | Post RSSRSS comment feed

Windows Phone 7 3G tethering for Samsung Focus and Omnia7

10x1111oubngenbuy[1]

Engadget are reporting that some industrious individuals have discovered that Samsung’s Focus and Omnia7 running Windows Phone can be switched into USB tethering mode by dialling “##634#” (sans quotes).

So, with copy & paste on its way and tethering clearly in progress, it doesn’t appear that it’ll take long for Microsoft to remedy most of the issues that the vocal minority are complaining about.

We stood in line for over an hour last night to order our Samsung Focus phones – they should arrive on Nov 18th so I’ll try out this feature then Smile


Permalink | Comments (0) | Post RSSRSS comment feed

XBox Live and Zune Globalization Issues

wp7-xbl-hands-2010-08-1611-01-22-rm-eng[1]In my previous post, we discussed the issues Microsoft faces in globalizing its Windows Phone 7 “Metro” user experience.
Alas, the globalization of the user experience itself is only part of the story.

An important and particularly compelling part of the Windows Phone user experience are the services Microsoft includes within Windows Phone 7:

 

 

  • XBox Live (online gaming and entertainment)
  • Zune (music and video subscriptions & purchases)
  • Windows Phone Marketplace (try and buy applications for Windows Phone)

 

These services are key differentiators for Windows Phone 7 users - especially XBox Live and Zune - but they bring with them several issues:

Content Distribution Rights

Key among the issues that Microsoft faces are they legalities affecting Microsoft’s ability to offer content (music, games and videos) from various 3rd party content owners (i.e. TV & movie publishers, music labels, games publishers, etc.) to people in different parts of the world.

Make no mistake – this is a minefield.

For example, like Apple’s iTunes service, Microsoft’s Zune music service allows you to buy tracks and albums that you can listen to on your phone, PC, etc.

However, unlike Apple’s iTunes, Microsoft’s Zune allows you to pay a flat fee per month ($15 here in the US) for the right to download and enjoy as much music as you like.

As a Zune customer of many years, I cannot even begin to express just how extraordinarily compelling subscription music is! Not only does this save me AT LEAST $50-$70 per year (vs. the number of CD’s I used to purchase), I am free to explore a MUCH wider spectrum of music than I was able to afford before.

Not only is this a compelling service, but for my $15 per month, I also get to download up to 10 (ten) tracks per month DRM-free for me to keep. Therefore, I pay the equivalent of one CD per month and get to keep a CD’s worth of music from whichever band/album I like, AND I get to listen to as many other albums I want as well.

What’s not to like? Winking smile

BUT … and this is a big but … The content owners get to decide what content they want to offer for subscription and where in the world Microsoft is permitted to rent their content.

Censorship shmenshorship!

Oh … and let’s not forget the issues of content censorship.

In some parts of the world, freedom is something granted by the state (government, ruler, ruling party, etc.). In many parts of the world, consumers choice is constrained by censorship rules defined by the state. Music containing profanity or expressing views the state disagrees with are banned or dubbed. Movies containing non-approved subject-matter, imagery, scenes or dialog are often edited, dubbed or banned. Games that are deemed too violent are only to be sold to users over a certain age (different ages in different countries) or banned outright.

And these rules and regulations change. Frequently.

Remaining compliant with the laws, rules and regulations of each country in which one operates content delivery services such as Zune and XBox Live is a major headache. And this headache is compounded by the issues of content distribution rights discussed above.

Pity the lawyers (yes … seriously!)

One can only imagine the analysis, planning and negotiations that must ensue to allow Microsoft to deployment Zune XBox Live internationally. Armies of lawyers working with legions of program & project managers, developers, testers, translators and other specialists must be employed to work-through these issues. And these are not simple issues to solve.

Considering the above (and my previous post on globalizing Metro), one can understand, if not accept, why Microsoft had to choose to selectively roll-out its services for Windows Phone 7.

If you’re a fan of what Microsoft is building, it sucks to be in a not-currently-supported part of the world, but I am certain that if the market is sufficient in size and the economies work-out, Microsoft will eventually roll out the online services for Windows Phone (and Windows itself) in your region of the world.


Permalink | Comments (0) | Post RSSRSS comment feed

Windows Phone 7 Metro Globalization Challenges

imageEngadget has just posted a piece on how Microsoft is “only” releasing Windows Phone 7 in five languages and how they’re omitting and/or limiting XBox Live, Zune and Windows Phone Marketplace for other languages (at least for now).

I’ll discuss the challenges Microsoft faces with the global rollout of its XBox Live and Zune services for Windows Phone 7 in a later post.

In this post I’ll discuss the challenges of globalizing the Windows Phone 7 user experience:

Global Text layout 101

Most printed text today is flowed horizontally across the page/screen, from top to bottom.

This is true for most Alphabetical writing systems such as Latin-based languages (e.g. English, French, German, Italian, Spanish, Greek) where text is read left to right, from top to bottom (LRTB):

image

Languages such as Arabic and Hebrew flow text right to left (RLTB):

image

 

 

 

and

image

 

 

 

Although many (primarily East-Asian) Logographic languages have a long tradition of flowing text vertically (e.g. Chinese, Korean), most modern dialects of these languages primarily print the majority of their text horizontally left to right, from top to bottom (LRTB):

image

However, some languages continue to flow text vertically for more traditional or formal documents, signage, envelope addresses, business cards, etc.

Other languages, such as some used in the Philippines, are read from the bottom of the page upwards.

How does this affect the Windows Phone 7 User Experience?

For the Windows Phone 7 user experience (called “Metro”), Microsoft drew inspiration from the primarily textual themes, adorned with simple iconography, that we’re exposed to daily in our every-day life:

image

Text is used throughout the Metro experience to not only describe each activity, operation and page. In Windows Phone 7, application experiences expose a horizontal panorama between multiple “pages” of a given experience:

image

Within a given panoramic “page”, one sees the edge of the text and items on the page to the left or right, visually indicating to the user that there’s more to see if one wipes one’s finger to the right or left:

WinPhone7_1

Note also that the title of the current “page” often exceeds the width of the page to indicate there’s more room on the right, encouraging users to pan horizontally.

WinPhone7_2

While this is a fresh, compelling and highly engaging user experience, it offers obvious challenges when it comes to globalizing the Windows Phone experience. How will this user experience handle right-to-left languages such as Arabic and Hebrew? How will the user experiences support Logographic languages such as Chinese and Japanese? What happens when you run a French (LR) application on an Arabic (RL) Windows Phone?

Microsoft’s decision

Rather than trying to solve these problems prior to the launch of Windows Phone7, Microsoft is choosing to support Latin-based LRTB languages at launch. Support for other languages will be delivered incrementally in subsequent updates.

I applaud Microsoft for NOT trying to boil the ocean: It’s not yet clear how the challenges of globalizing the Windows Phone 7 user experience are to be solved. Why make the rest of the market wait until they have solved all these problems? Doing so would be crazy!

Microsoft is doing the right thing in releasing Windows Phone 7 for Latin-based languages first and adding support for other languages later. It may be frustrating to those interested in Windows Phone 7’s “Metro” user experience who will not see local language support at RTM, but an incremental approach and product rollout is the best approach Microsoft could take.

If you feel strongly that you want Microsoft to support your language, be sure to contact your local Microsoft subsidiary and make your voice heard. Contrary to commonly expressed opinion, the company DOES listen!


Permalink | Comments (0) | Post RSSRSS comment feed