Windows Phone 8: the developer perspective

Windows Phone 8: the developer perspective

Summary: It’s been a big week for Microsoft. Monday saw the arrival of its first tablet, and Wednesday, the latest iteration of its phone OS.

SHARE:

It's been a big week for Microsoft. Monday saw the arrival of its first tablet, and Wednesday, the latest iteration of its phone OS. Like Surface, it's a big bet for the Redmond giant, as it's the point where Windows Phone finally becomes a Windows phone.

The new Window Phone start screen, in an early build of Windows Phone 7.8

Let me say that again: a Windows phone. That's a big leap forward, and a huge change for anyone who's been building Windows Phone applications.

The language Microsoft uses is "shared core". What that means is that Windows Phone 8 will use the Windows kernel — and many of the Windows WinRT APIs. Applications will be able to use familiar calls for security and for networking, for file system access, for device drivers, and for graphics. You'll be able to use native C++ code alongside C# and XAML — and you can mix and match development technologies — so an application may use a C++ business logic layer alongside a C# user interface. That same C++ layer can be common across Windows Phone 8 and Windows 8 (and Windows Server and Azure) using what Microsoft calls Portable Class Libraries, which can be developed in Visual Studio 2012 and used across application projects.

Using a common driver model is a huge change, and it's one that could have far wider implications for the platform — including the possibility of decoupling elements of device updates from operator approvals (imagine Nokia being able to send out camera updates or Samsung delivering new NFC features). Instead of having to invent its own wheel every time a new piece of hardware comes along, hardware OEMs will be able to use the same driver for phone and for PC (as long as it's been compiled for ARM). That means there are going to be economies of scale, with the same hardware in a Windows RT tablet appearing in Windows Phone devices.

Despite the shared kernel and APIs, Windows Phone isn't just going to install and run any Windows application, even a Metro-style Windows 8 one. For one thing the two platforms will still target very different screen sizes and types, with Windows 8 delivering landscape experiences and Windows Phone focusing on portrait. Screen resolutions on Windows Phone, even with the two newer 16:9 and 15:9 aspect ratio views, will be lower than on the desktop.

Windows Phone's new tiles get access to much more screen real estate

Game developers will quickly take advantage of the native code features, but there's going to be a period of flux for utility and casual application developers. With Windows Phone 7.5 development supported in Visual Studio 2012, it's likely that Silverlight/HTML5 development will still remain popular, if only due to the number of current devices in use. Those same applications will run on both Windows Phone 7.5 and on Windows Phone 8 — with Windows Phone 8 downloads pre-compiled in the Windows Phone Marketplace, using the Engine .NET tooling. Although apps won't necessarily run faster on Windows Phone 8, they will launch faster, as they won't need to be run through the .NET JIT every time you want to run. It's also something that comes for free, in a future update to the Marketplace.

Windows Phone 8 will also introduce two new background agents, giving both VOIP and location-based applications the option of working with background services. The VOIP agent will handle incoming voice, video and chat sessions, while the background location agent will handle working with location data while applications are suspended — working with cloud services to support notifications. Background agents are one of the more innovative features in Windows Phone, as they allow applications to be tombstoned and for key functions to continue running in a low power state. Other options include APIs for the new NFC hardware, and the Wallet secure storage tool (and for in-app purchases), as well as access to speech recognition and to Nokia Maps (itself replacing Bing Maps).

Microsoft is packing developer features into Windows Phone 8, and it's pretty clear there are more to come. There's also an update to existing Windows Phone devices on the way, in the shape of Windows Phone 7.8. It brings in the new start screen with its configurable tiles, and possibly some of the new Windows Phone 8 capabilities. Microsoft isn't giving any details of 7.8 beyond demonstrating the new start screen on a Nokia Lumia device with a very early build of the OS. We had a brief hands-on session with the device, and found it easy enough to use — the tools for resizing tiles were obvious, and simple to use.

Resizing tiles in Windows Phone 7.8

Today's event was billed as a "sneak peek", and that's all we got. We saw new features, and got a feel for how they are being implemented. It's all very impressive, and moves the Windows Phone platform in a very interesting direction. However there's a lot to be done — much of which is around developer evangelism and getting the tools and SDKs into the hands of developers (along with devices). Microsoft has said it will be giving developers more information and early tooling over the summer, when we should get an opportunity for a deeper dive into the Windows phone.

Simon Bisson

Topics: Reviews, Microsoft, Mobile OS

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

2 comments
Log in or register to join the discussion
  • @Simon Your attempting to blur the compatibility issue for existing WP7 devices.

    WP8 Code doesn't run on WP7 Devices, just like WP7 Code didn't run on Windows CE Devices. Windows CE Devices were orphaned, and now too are WP7 Devices.

    MS/Ballmer in their desperate attempts to hash something together that will actually gain market share of more than a few %, have metaphorically thrown the chairs across the room, leaving a trail of destruction of Windows Phone Users in their wake. Nothing to say WP8/Win RT won't be the same.

    You don't see many developers talking about writing code for WinCE devices today do you? A Year from now, it will be exactly the same with WP7 Code.

    WP7 requires a completely separate, distinct development process to WP8, using different code, programming languages. WP8 has a much broader ability to reuse code across Windows 8 Devices, the only development that will be taking place in a year is WP8 development, thats if enterprises haven't already switched to iOS, in the confusion.

    WP7 has such a small user base in the scheme of things, that once WP8 takes off, developers will ignore WP7 Device support, why bother? All existing Nokia Lumias WP7 Phones are obsolete from today. That must be a record for the Nokia Lumia 900, obsolete pretty much as it gets its UK release.

    I feel sorry for Nokia, they have been truely screwed over, left with a mountain of expensive, WP7 downgraded 'feature phones', rather than smartphones. A Customer, especially enterprise ones would have to be pretty mad to invest in WP7 now. Its dead in the water. In the confusion, iOS is the direction enterprises will turn.
    SoapyTablet
    • the 100,000 WP 7 & 7.5 apps still work

      It's up to developers to choose whether to built WP7/8 compatible apps or just target 8; it will depend on sales (4 million Lumias so far and WP7 will stay on the market and be appealing at the lower end of the market) as well as on tools. Like any platform transition, it's hard.
      mary.branscombe