Connect with us


Mary-Jo Foley speculating on Microsoft’s new mobile approach, looks familiar



Mary-Jo Foley has been digging into some secret Microsoft projects and speculates that one of them may be the key to Microsoft’s answer to the iPad. Hint: it’s kind of like what Apple did for the iPhone OS.

Her focus is on Menlo, a project that supposedly will make Windows NT, the desktop-based x86 operating system, work on ARM-based handhelds and other low-powered mobile devices, such as the recent line of tablets. Nothing definitive but it appears that Menlo is mobile-related. Her conclusion, however, makes me wonder if she needs to spend more time understanding the competition.

Here’s my thinking: If Microsoft replaced the CE kernel with an NT one, Microsoft might have a more compelling “write once/run anywhere story.” What if you could make some relatively minor tweaks to your existing Windows client app to get them to run on a Menlo-based Windows Phone or Menlo-based tablet/slate? (It would be the reverse of what Apple is doing, by enabling developers to move their iPhone apps to the iPad with relatively little work.)

While that would be a lovely scenario, it’s not the reverse of what Apple is doing. In fact, it’s pretty much what they’ve been doing.

iPhone apps are actually easy to port to the iPad. Making a universal app has been shown to be a matter of changing a metadata value. Note, that just allows an iPhone app to run on an iPad without pixel doubling (and presumably vice versa); it doesn’t mean the app looks good or runs well on both platforms. Reworking the UI for the different aspect ratios is still necessary in most cases, but that would be just as true for applications intended to run well with either mouse-and-keyboard or touchscreen.

It should also be noted that iPhone apps have the potential to run on Mac. Per a tutorial on running iPhone apps on a Mac from The Gadgets:

Apple provides an iPhone simulator with the iPhone SDK for the developers to let them run their apps on their Macs. Unfortunately, XCode compiles completely different object code for the iPhone simulator and for the iPhone. Only the device code for ARM CPUs is uploaded to the App Store.

Basically, you can’t run iPhone apps on Mac because of code compilation and DRM restrictions. The code compilation is necessary to get the apps to work with an ARM-based CPU, but the raw code can run on Mac. As for DRM, I’m guessing Apple could grant themselves a license to run iPhone apps on Mac.

More importantly, stripping down a desktop OS to run on mobile devices is what Apple did for the iPhone. The iPhone, if you’ll recall, was originally billed as running Mac OS X. They eventually dropped the “Mac” part of the name and further distinguished it by calling it the “iPhone OS” when they opened it to third-party apps. Regardless of those changes, its origin as a stripped down version of Mac OS X remains. Apple upscaled the iPhone OS for the iPad, but the iPhone OS is itself scaled down from Mac OS X.

So Apple already did with their OS family what Microsoft is supposedly doing with Menlo? Pretty much, but that’s not a bad thing. For one, the approach is a proven success. Also, there’s no reason Microsoft can’t outdo what Apple has done. While Apple’s system has the potential to create apps that can run on all their devices, they haven’t pursued that path. If Menlo is designed with that intent from the ground up, Microsoft could outshine their opponent here.

Their real enemy, however, is time. As Mary-Jo states, “Because Microsoft has a far bigger pool of Windows apps than Windows Mobile/Windows Phone apps, it would make sense for the Redmondians to be trying to find a way to enable that base of business/consumer apps to run on Windows-centric phones and tablets.” I agree and add that the reverse is true for the Cupertinoans at Apple. Eventually, they will make the App Store part of their Mac strategy. If Apple goes universal with their apps before Microsoft does, their time to outshine will have passed.



  1. Charles

    05/04/2010 at 12:08 pm

    If MS can provide a lightweight OS version of Windows that allows users to run their normal windows apps. . .they will finally have a mobile OS winner. I think this is what a lot of users desire; however, until just recently mobile hardware wasn’t up to the task of running Win apps. Now it’s a different story.

  2. Sam

    05/04/2010 at 1:55 pm

    Windows CE is already supposed to be a lightweight OS kernel which supplies a cut down version of the Windows API, though its implementation is quite different from NT+Windows personalization module.

    It’s unclear to me what advantage they’d get from porting NT to ARM, unless they’re going to do something silly like including an x86 emulator so they can offer binary compatibility.

    Hmm… on fourth thought, while I haven’t actually done any programming for Windows CE, I’ve looked over some of the documentation in the past, and the CE application environment seemed really bizarre, possibly highly optimized for mobile hardware that existed a decade ago (very low RAM), but not a good fit for what’s available now. If that application environment is deeply embedded in the CE kernel, then maybe it would actually be easier to port the NT kernel instead of reimplementing CE.

    The NT kernel runs on multiple processor architectures, supporting another one shouldn’t be that difficult. I ran Windows NT 3.1 (the first release) on a Pentium 90 with 16MB RAM back in 1995, sort of sluggish compared to Windows 3.1 & 95 but not bad. That’s quite a bit less processor performance but similar memory to current ARM phone platforms. The most effective upgrade for NT for that PC was more memory though.

Leave a Reply

Your email address will not be published.

As an Amazon Associate I earn from qualifying purchases.