If you want to skip all the fluff, you can get right to the code on GitHub.

Being new at Microsoft, I was extremely fortunate in that I was able to give a presentation at the Build 2012 conference in October and November.  Build is THE developer conference that Microsoft does, so being able to speak at it was a bit of an honor.  While my focus is normally on iOS and Android development, for the session I was able to get my hands dirty with Windows Phone 8 development, which was a fun experience.  One of the biggest focuses during the conference as a whole, was on using Windows Azure Mobile Services and how unbelievably cool it is.  In fact, for the conference we released the official Windows Phone 8 SDK for Mobile Services so I was able to have a lot of fun with that right when it came out.

The session

I was joined by the equally hair-conscious Nick Harris for our session: Developing Mobile Solutions with Windows Azure Part II.  Our session was a part 2 because we picked up where the demo application was left off in part 1.  Part 1 saw Josh Twist building a Windows 8 application that made use of Windows Azure Mobile Services on the fly in the session.  In our session, we took the Win8 app that Josh built, along with a Windows Phone 8 version, and extended them both.  The ways in which we extended the apps were:

  • We took pictures and uploaded them to Blob Storage.  For this we used a web service layer, running in Windows Azure Websites, to get a SAS (Shared Access Signature) which allowed us to securely upload to blob storage.
  • We then got the location of the device and used that information to geo-tag the pictures we just uploaded.
  • We added a web page to our web service which allowed a user to select a geographical area on a map and request a push notification be sent to anyone that had taken a picture inside of it (this used the Bing Maps API and Queues from Windows Azure Storage)
  • We deployed a worker role to Windows Azure Cloud Services which would check the queue and then figure out who should be notified (using Entity Framework’s geospatial support) and sent out the actual push notifications to both the Windows 8 and Windows Phone 8 clients.

Our session was quite a bit of fun as Nick and I took turns working on the Win8, Windows Phone 8, service layer, and worker role and knocked it all out with just barely going over our allotted time.  You can watch the full video on Channel 9, or view it right here:

The code

I’ve released the final source code for our demo on GitHub and it is available now.  There are a number of steps you need to take in order to actually run this code though.  Most of these steps are detailed in the repo’s readme though so between that and the video, you shouldn’t have too much trouble getting things set up.  If you do run into any issues or have any questions, please let me know by either commenting below, using the contact form, or hitting me up on twitter @chrisrisner.

Chris Risner

Leave a Comment