Information about Microsoft's Windows Phone 7, and on two smartphones using it, continues to emerge, some of it gleaned from hacking, demonstrations and from the growing experience of developers exploring the radically revamped mobile OS.
Coders at XDA-Developers.com hacked the ROM for an un-announced HTC smartphone, called Mondrian, with a Windows Phone 7 software build, though it's still referred to as "Windows Mobile 7". The Mondrian may be destined for AT&T because there is likely outdated reference to the wireless carrier's previous name: Cingular.
Microsoft in April released for developers a new emulator for Windows Phone, based on the latest released build of the underlying operating system.
From the ROM's contents, it appears that Mondrian could sport a big 4.3-inch Wide VGA screen, with the 480-pixel VGA height but a width of 800-854 pixels. HTC already uses WVGA on a range of its smartphones, as the 480x800 HTC HD2.
The ROM also references a faster version of the Qualcomm Snapdragon CPU, which is used in a range of high-end smartphones running at 1GHz. The speedier chip runs at 1.3GHz with a 1.5GHz version due out also.
The second phone, though actually disclosed earlier this year, is from LG, the Panther. Pocket-Lint.com has a series of photos from a UK demonstration of the device running Windows Phone 7, though few specific details of the phone were disclosed. The significance is in how the hardware runs the latest build of the operating system. Pocket-Lint's Rik Henderson was impressed with what he saw.
"One stand-out aspect dwelled upon in the demo was intuitive and seamless Facebook integration, with the phone automatically pulling contacts' updates when you access them via the address book," Henderson writes. "They're current status details appear alongside phone number, address, etc."
The software recognised street addresses, then offered one-click access to map locations and details, via Microsoft's bing search engine. "Every application, including e-mail and text, automatically creates a link for an address," Henderson writes. The built-in Microsoft Zune media player displayed video and played music "quickly and clearly."
Microsoft employees, since the unveiling of the revamped mobile UI in February, have been using unmarked black prototype phones. There's some speculation that LG will be the first to release a WP7 phone, in September, with others expected in October and later.
Microsoft has been secretive about the mobile Web browser that will be part of Windows Phone 7, but again new details are emerging.
There still seems to be some confusion as to the name of the browser. The blog's title is "IE for Windows Phone Team Weblog" but the posts refer also to "Windows Phone Internet Explorer" and "IEMobile.
Finally, Microsoft's decision to block multitasking, at least in the initial release of Windows Phone 7, sparked complaints from some developers and pundits. Though other developers, such as author and blogger Kevin Hoffman, say Microsoft's promised WP7 APIs and its notification service will render multitasking moot for all but a handful of applications.
Software engineer Doug Boling, who specialises in Windows Embedded CE and Windows Mobile development, has been exploring what programmers can do with the multithreading capabilities of WP7.
He has a detailed blog post of this experience, based on working with WP7 emulator image contained in the April 2010 WP7 software build.
"This isn't the place for a treatise on multithreaded managed applications," he writes. "But briefly, very briefly, Windows Phone applications can be multithreaded. The main thread of the application calls the appropriate methods to create the main application form and is the 'user interface thread'. Other threads created by the application can't directly interact with the user interface. These threads are called 'worker threads' or 'background threads'."
Boling notes that when an application is sent to the background, the foreground thread is suspended but any worker threads running at the time keep running. "These worker threads can call base class library methods such as querying the file system, reading and writing files, and such even while the application is ‘suspended,'" he writes.
These worker threads can invoke a method on the suspended foreground thread. WP7 queues these invocations and holds them until the application resume. Then the queued calls are invoked in order.
"So, while true multitasking doesn't exist on the Windows Phone, applications can 'borrow' some background processing time as long as the system is lightly loaded," he writes.
When a worker thread tries to invoke a method on the foreground thread, that request is queued but not executed. When the application is resumed, the queued calls are invoked.