Microsoft’s latest update to its emulator for the still-in-development Windows Phone 7 platform shows some ongoing refinements, and a hint that Microsoft may be nearing a “release candidate” version of the OS, after which major changes are unlikely. And hackers unlocking the latest Windows Phone 7 emulator are trying to delve into the underlying kernel and understand a range of technical issues such as memory management.
“Microsoft knows that the emulators are typically unlocked by users,” says a PR agency spokeswoman assigned to the Windows Phone group at Microsoft. “That’s why they have been very clear that the emulator is based on early code and is not reflective of the final user experience. Windows Phone 7 is still under development and we don’t have further information to share on new features.”
The emulator program lets developers start building and testing Windows Phone applications now, since actual phones with the new OS won’t be released until the “holidays” period this year, probably in the Fall. The emulator mimics on a PC screen the look, feel, and behaviour of an actual Windows Phone. To do so, it includes Windows Phone 7, which is the UI layer that runs atop the underlying Windows Embedded CE kernel. Microsoft has said the radically redesigned UI, dubbed Metro, is using a new and expanded version of CE, but so far it’s said almost nothing about the changes or improvements to the kernel.
The new emulator and updated Windows Phone 7 code is contained in the April refresh of the Windows Phone Developer Tools Community Technology Preview (CTP), in effect, a public beta test release. The initial release went live just in at Microsoft’s MIX Web developer conference. One of the emulator screens, posted at PocketNow.com among other sites, has the following information: “Software: Windows Mobile 7.0 6176.WM7RC1Escrow(buildlab).20100406-1457”
What bloggers and developers have picked up on is “RC1” though many have overlooked the term “Escrow.” In a statement, all Microsoft will say is “The recently refreshed Windows Phone Developer Tools CTP includes release candidate 1 code. We have no further information to share regarding when Windows Phone 7 will reach RTM [Release To Manufacturing].”
The term “escrow” has been used at Microsoft for years, writes Paul Thurrott, the news editor at Windows IT Pro, and creator of the Windows Phone Secrets blog. It “means that if it [the code] passes certain quality criteria it will be declared the actual release candidate 1 build. If not, fixes will be made and the build will be incremented, and they’ll try again,” he writes. But he considers the April build to be a “near-final look” at the new smartphone platform.
Thurrott has posted at his SuperSite for Windows blog nearly 70 Windows Phone screens from the refreshed emulator, often with several from each application. The images give a broad overview of the UI’s look and feel, though they don’t give a sense of the various “hubs” that Microsoft uses to collect and order content, or the navigation between these.
One set of three images shows the voicemail screen, the phone dialer (a minimalist set of dark gray rectangles), and settings for the voice features. Another set show screens from contacts, dubbed “people” in Windows Phone, including adding a contact, and adding online accounts such as Windows Live or Facebook.
He also has more images from the Office “hub” of Windows Phone 7 – the location of the mobile Microsoft Office applications and especially the all-important OneNote note-taking software. He shows OneNote’s main screen, and an initial list of OneNote resources and features.
One drawback of the current emulator is that it can’t access web-based services. “Though I was able to use the emulator to access my local domain's SharePoint document repository. I haven't figured out how to get the emulator out to the Internet, so much of what makes Windows Phone so excellent, it's seamless integration with online services, isn't available in these shots,” writes Thurrott.
One of the coders at XDA-Developers, a forum moderator with the handle Da_G, has posted a thread with his analysis of what he says he’s seen of the new kernel. The new kernel, which he says is “CE7,” has a 4Gbyte virtual address space, split between the kernel’s needs and user space for applications and data.
The new kernel handles memory allocation for running applications differently from previous kernel versions. “This should allow for much more rich apps to be developed (whenever MSFT decides to allow us to write native code, which is coming at some point...),” he writes.
Microsoft’s official statement on all this: “Windows Phone 7 is based on the Windows Embedded CE kernel – the next generation of the Windows Embedded CE platform will be Windows Embedded Compact 7 when released – and the current version is Windows Embedded CE 6.0 R3. Although Windows Phone 7 was built on the Windows Embedded CE kernel at its core, the Windows Phone team has incorporated innovative features and functionality on top of the platform to develop an OS specifically designed to meet the needs of mobile phone manufacturers.”
But for most developers, wondering or worrying about the kernel won’t be an issue, says Kevin Hoffman, creator of The .Net Addcit’s Blog, author, and by day chief systems architect for Oak Leaf Waste Management in East Hartford, Conn., where he focuses on mobile and cloud application development. He’s also written applications for, and written about, the Apple iPhone, and recently compared the experience of developing for both platforms.
For Windows Phone 7, all applications are “managed code” – they require a Microsoft runtime environment, either Silverlight, for most applications, or XNA Studio, for games. “The thing that is important for WP7 developers, either Silverlight or XNA, is that we no longer need to care about the kernel,” Hoffman says via email. “I don't particularly care if the kernel is WindowsMobile 6.5, CE-based, or alien technology lifted from Area 51.”
Both toolsets are widely used in Windows development, and these developers can almost at once become creators of Windows Phone applications. Hoffman says Silverlight is a “fast, productive, reliable, easy to use platform for building incredibly powerful applications, with a potential to re-use large amounts of code between Windows, WP7, Mac, Linux, etc.”
“What's great about WP7 development, from a developers point of view, is that the level at which we work is above the "bare metal" - unlike the iPhone where we are required to manually manage our own memory and take care of lots of housecleaning details that generally slow development,” he says.Bare metal programming won’t be necessary for performance enhancements or to access low-level features in Windows Phone 7. “Microsoft has promised that developers will not need to drop down to the bare metal in order to get -anything- done,” Hoffman says. “This is a win-win situation for developers: we get the productivity gains of a useful abstraction layer [ie, Silverlight] and the confidence of knowing we won't need to circumvent that abstraction layer to accomplish anything.”