Archives

Developing for Windows Phone: what’s new

One thing that is easy to overlook in all the talk about Windows Phone, Nokia, and Microsoft’s prospects against iPhone and Android, is that the Windows Phone developer platform has substantially improved with the 7.1 SDK – the phone is 7.5 but the SDK is 7.1, just to confuse you.

Here are a few highlights from the list of what’s new:

Multitasking. Apps still do not continue to run when they do not have the focus. However, Microsoft has implemented several features to make it look as if they do. This includes background agents, background audio (another kind of agent), scheduled tasks, background file transfers, and fast application switching. Although apps do not execute in the background, they do stay in memory if free space allows, so that resume is near-instant.

Silverlight 4. The version of Silverlight implemented in Windows Phone is now Silverlight 4, though there are some differences between Silverlight on the desktop and Silverlight on the phone, including the fact that there is no Silverlight in the browser.

Apps that combine Silverlight and XNA. You can now render both XNA and Silverlight content in a single combined Windows Phone app.

image

Visual Basic and XNA. XNA was C# only in the initial release. No longer.

Better sensor support. You can now access the compass and gyroscope, and use a combined motion API.

Socket support. Use TCP and UDP socket protocols.

Network information. This is actually critical to creating well-behaved apps. New network information classes let you get network status and capabilities. You can also register for network availability change events.

Two-sided Live Tiles. Live Tiles in Windows Phone have two sides and flip automatically, effectively giving more space to show information.

Advertising SDK. Sign up to include ads from Microsoft Advertising in your app.

IE9 WebBrowser Control. You cannot embed your Silverlight app in the browser, but you can embed the WebBrowser control in your Silverlight app, now with IE9’s fast Javascript and HTML 5 features.

Local Database. A local database API is now included in Windows Phone. Sadly this is not Sqlite; I’m guessing it is a variant of SQL Server Compact Edition. You access and manipulate data with LINQ to SQL – no Entity Framework ORM (Object Relational Mapping) on the phone, though LINQ to SQL is also an ORM framework. There is no way other than LINQ to execute SQL locally.

New Launchers and Choosers. Launchers and Choosers let your app present picklists from data stored elsewhere in the phone. You can now choose an address, invite players to a game session, show a location on a map, or show map directions.

Read-only access to Contacts and Calendar.

Encrypted credential store. This enables you to store login details securely using a built-in API.

Programmatic access to the camera. This includes real-time access to the raw frames so you can create apps that use the camera.

Pictures and Search Extensibility. This lets your app interact with the Pictures hub and with the built-in search. Users who search Bing can launch your app from the results if there are matches.

New on-screen keyboards. There are now specialist keyboards for numbers and formulae.

Additional language support including East Asia. Overall there are 16 additional cultures available including font support.

Overall it adds up to a major update for developers. If you tried the first Windows Phone SDK and found too many annoyances, it might be worth a second look.

Is this the best mobile developer platform? I had this discussion today with Keith Varty, developer evangelist for Nokia. After rather enjoying a brief go with Xcode for iOS, I am not sure; there is no simple answer. It is certainly a candidate though: you get the excellent C# language, the mature Visual Studio IDE, and strong frameworks for both form-based and gaming applications. Then again you may miss those beautiful iOS controls.

Related posts:

  1. Developing for Windows Phone 7
  2. Windows Phone 8 will run Windows 8, with Silverlight centre stage?
  3. Windows Phone and Windows 8 convergence: a few more hints from Microsoft
  4. Nokia plus Windows Phone 7 – would that be a smart move?
  5. IE9 in Windows Phone will be good for cross-platform JavaScript and HTML5 apps

2 comments to Developing for Windows Phone: what’s new

  • None of this matters if the phone is perceived as not having an audience worth developing for. Nokia’s marketing is what should have been there a year ago, and sadly it’s too little too late. The competitor’s hardware isn’t hampered the way all the Windows Phone hardware is (12GB max storage in this media-oriented age is ludicrous). The lack of a front facing camera is a major flaw in the Lumia – widely acknowledged to be the first and only Windows phone any members of the public are likely to find attractive and actually competing with the alternatives – imagine how pissed off people are going to be when the “rushed to market for the holiday season” phone doesn’t support video calls on Skype and people realise they’re locked into a 2 year contract so the shiny new version that fixes the flaws released early next year isn’t of much use to them.
    The reality is that devs (other than those inside the Silverlight echo chamber) know full well that Windows Phone 7/7.1/7.5 (that right there shows the “thinking” that’s gone into this product) is a short term “tactical” stop gap solution from Microsoft. If Windows Phone 8 ISN’T Windows RT based then Microsoft really will have screwed up. And if it is, why waste time on a Silverlight-based dead-end platform with no audience (even if it is better than Android or IOS5 for development) when there are already so many demands for new technology stacks that there IS a genuine market for? Of course Windows RT will be XAML-based as is Windows Phone 7, but Microsoft laughable claims that it is “easy” to port Silverlight apps to Windows 8 XAML (by using a Silverlight 2 tutorial app rather than anything remotely real world) have shown they can’t be trusted when it comes to the effort required to rewrite real apps in the real world, and why should Windows Phone apps written today be any different when it comes to rewriting them for Windows Phone 8 based on WinRT?

  • tim

    Ian

    Thanks for a good articulation of the “no hope” view 🙂

    I am a bit more positive but I agree there is a mountain to climb.

    Consider though: if someone came up with an exclusive WP7 app, a “Halo” for the phone, what kind of impact would that have? This is a fashion-driven market to some extent.

    I don’t care at all about front-facing cameras though I take your point that some do.

    Tim