Windows 8, Windows Phone 8: Building for Both

Earlier in the week, I made a little video for Channel 9 with my colleague Andy about a particular aspect of building code with portable class libraries to span across both Windows Phone and Windows 8.

I’ll add the link to the video when it’s published but the discussion is around the portable HttpClient libraries and I used some demos that were a small subset of demos that I’ve had in place for a session around portable .NET code across Windows Phone 8 and Windows 8 that I’ve delivered in a few places in the UK.

I found myself wanting to write a blog post that expanded on the topic but, in the end, I found it easier to record the session in full form and I thought I’d publish that here.

That video is embedded in the page below but I’ll warn you that I messed up Smile 

While recording the screen I hadn’t noticed that the screen recording software had changed its idea of my default microphone and so was recording off the built-in microphone on my slate rather than recording from the headset microphone that I was still pointlessly wearing Joe-90 style on my head.

Consequently, the audio on this video is a little messed up. The audio level is low and there’s a bit of white noise on it.

However…if you download the video, play it in a media player, turn it up a bit and then use a graphic equalizer to chop out the higher frequencies then it pretty much sounds fine – I watched the whole of it back and I didn’t notice any major problems that would stop someone watching it so I decided not to attempt to re-record the audio.


Building .NET Code for Windows 8 Store and Windows Phone 8 from Mike Taulty on Vimeo.

I tended to let the session run to its natural length here so it ended up dropping out at around the 2 hour mark (i.e. it’s an epic!). There’s some discussion for around the first 30-40 minutes and then I get into showing various stages of code solutions that evolve from a position of not having any shared code between a Windows Phone 8 and a Windows 8 project through to a place where we have shared code in portable class libraries and are using a little dependency injection to inject platform-specific code into that portable code.

It’s a long way from perfect but there are 6 or so Visual Studio solutions that I use along the way through the video and the code that’s used in the video is packaged here for download.

It’s worth being aware that the code uses the flickR API and I’ve left a #error compiler directive in the code for the place where you need to put an API key for flickR which you can get from their developer centre.

Enjoy – feel free to send feedback.