Bizspark developer camps in Australia

Microsoft is again running developer camps around Australia to help train you in Windows Azure / Windows 8 / Windows Phone 8.

There are events happening in:

I will be attending the Sydney & Melbourne events next week! Helping out anyone that has questions, and also giving out a few Infragistics prizes.


More details on the event can be found at

By David Burela

Summary of Melbourne AppFest

This month saw the first Melbourne AppFest, it all went without a hitch.
The facilities were perfect and the catering was the usual good Cliftons standard.

We had a lot of mentor support there on the day (Nick Hodge, Frank Arrigo, David Glover, Shane Morris, and a few members from the community).

There were a good number of developers there. Many of them had general development questions about Windows Phone & Windows 8, as well as a few people there interested in Windows Azure.

There was a competition on the day for the best app of the day. This was won by Lars Klint for his “Picture of the day” application. It allows you to connect to a feed (such as the National Geographic) and it will change your Window Phone’s lock screen each day.

Lars won a Xbox & Kinect package!


The app can be downloaded from the Windows Phone app store
There are more details about the winning app by Lars’ employer

By David Burela

Melbourne & Sydney Appfest for Windows 8 / Windows Phone / Azure

There are 2 big events happening in Australia over the next few weeks.

The first is a three day Sydney Appfest from Friday February 15th – Sunday February 17th.
Details of it can be found on the Lalaninja website

As there was only a Sydney event being organised, I worked with the Microsoft DPE team to help organise a secondary event to be hosted in Melbourne.
The Melbourne event will be a 1 day event on Saturday 2nd March. Space is limited so you NEED to register quickly

By David Burela

Build 2012 conference app for Windows Phone

AppIcon_200This year I was given the location of the Build 2012 data feed, and asked if I could help build the conference app for the Windows Phone.

You can download the Build 2012 conference application from the Windows Phone marketplace.

The source code is available on GitHub.

I took the TechEd Australia app that I created earlier in the year, and modified it for the Build data stream (you can read my post-mortem of building the TechEd app here)

The Build 2012 application has a few nice features:

  • Search for sessions by title, session code or abstract.
  • View the sessions by schedule slot.
  • View slides directly on your phone (once uploaded to Channel 9).
  • Watch the sessions directly on your phone (once uploaded to Channel 9).

And of course, the application was built using the Infragistics NetAdvantage for Windows Phone controls.

schedule groupingSession infosession searchingspeaker info

By David Burela
Reblogged from my Infragistics account

Post-mortem of the Microsoft TechEd WP7 app

Blog header

This year I was asked if I could build the official Windows Phone 7 companion app for the Microsoft TechEd Australia conference.

The app is available from the Windows Phone marketplace
And the full source code available on Github

The application was powered by the Infragistics NetAdvantage for Windows Phone control suite, which greatly simplified the development process and helped me complete the application in time.


Due to timing constraints, I was only given a week to build the entire application to ensure that we had 1.5 weeks lead time for the certification process. This meant I had to leverage as many frameworks and controls to complete it on time.

Ensuring the basics work

I started off by utilising the Windows Phone starter kit for conferences to give me a basic framework for the application. The framework was built to get the data from a custom JSON service the original author was using, however the TechEd data feed was coming from a WCF OData service. I discovered at this time that although the Windows Phone can directly consume the OData service, it only supports XML and not JSON formatted data. The size of the JSON data vs XML data was 300k vs 950k. There was not enough time to try and access the OData feed via manually constructed HTML webclient requests and manual parsing. Instead I specified in the OData LINQ query just the fields that were required for the app. This took the data payload down from 950k to 600k, a massive data transfer reduction over a mobile network and not bad for just an hours investment in tweaking the LINQ statement.

Working on features

After I had confirmed I was able to successfully download the session data and populate the collections locally, I moved onto thinking about what I would want in a conference companion app. The most important features/scenarios for me were:

  • I have just walked out of a session, and I need to look up what talks are happening next.
  • What are all of the MVVM sessions that are happening during the conference.
  • Speakers will regularly recommend other talks to go to. Being able to look up the session codes quickly is important.
  • The delegate handout only has a list of session times and titles. The abstracts aren’t listed. Give the delegates a way to look up a session for more information.
  • Who is the speaker for this session I am in right now.
  • I want to look up a speaker a like, and see what talks they are doing.
  • Being able to favourite a session so I can get a quick overview of when sessions I want to attend are on.
  • Cache the sessions for 2 hours to reduce network usage on data plans.


Using the NetAdvantage XamList helped me to implement the vast majority of my feature wish list without writing any code. After downloading the session data, I simply used databinding to connect it to the XamList control. The control automatically supports searching through the data in the list, and will look through all the properties that you ask it to (session title, session code, abstract, room location, etc.). That immediately took care of searching for a session based on a number of criteria.

session searching

I created another pivot to allow the delegates to see what sessions are on during each time slot. The XamList also supports grouping of data automatically. After defining that the data should be grouped based on session time, I straight away had another requirement completed again without requiring any code.

schedule grouping

Implementing the remaining features

With the XamList ticking of the majority of my requirements, it left only 2 major features left that required coding:

  • Caching
  • Favourites

Favouriting sessions had already been roughly implemented in the conference starter kit. However it only saved sessions when the app is tombstoned, not when you closed an app or under a few other conditions. I fixed up the favourites code, changed some icons, etc.

To solve the caching feature, I simply stored the collection holding the session data direct in isolated storage and then loaded it back up the next time the app started

IsolatedStorageSettings.ApplicationSettings.Add("SessionData", sessionCollection); 


Final thoughts

If I had enough time, then I would have re-written this from scratch, rather than used the template. I ripped out a lot of the custom code in the template and replaced it with the features built into the XamList. It wasn’t until the 4th day, after replacing all the features that I realised “Oh, I didn’t actually need anything in this template, except for the favourites code (which I modified anyway). But as there was only 2 days until the deadline it was not worth it just for the sake of “application purity”.

Next time I’ll definitely be asking for a bit longer lead time / access to the OData feed. It was a mad rush to try and get it all completed in time, and resulted in lots of shortcuts to get things done in time which I still feel dirty about (e.g. messy code).



TechEd splash screensession searchingschedule groupingSession infospeaker info

By David Burela

Details for my Windows 8 MVVM talk at TechEd Australia

I previously blogged that I was speaking at TechEd Australia. I now have details on when my talk is happening.

What’s New for Windows 8 Devs Part 2
Date: Wed, 12th September
Time: 13:45-15:00
Room: Central A

Abstract: David Burela takes anyone new to Desktop development through the basics of developing for Windows 8. XAML, Databinding, DataTemplates and ViewModels will all be introduced. Discover how to separate your UI from your business logic, how to create List Views that display your data richly, how portable libraries can help your business logic be used cross platform, plus much more. The techniques will be focused on Windows 8, but can be applied to any XAML based application: WinRT, Windows Phone, WPF, Silverlight 5.

I hope to see some of you in my session!

By David Burela

Infragistics supports the Imagine Cup Worldwide game design finalists

As I previously mentioned, this year I was the Imagine Cup game design sub-captain for the Windows / Xbox track.

I just returned from the worldwide finals, and was amazed by the passion and enthusiasm from all of the students. While I was there, I saw the great XNA games that the students were making in the Windows Phone 7 games track. The quality of these games were amazing for a bunch of students doing it in their spare time.

I decided on the spot to give all of WP7 games teams a copy of our NetAdvantage for Windows Phone. The students were doing an outstanding job, and I wanted so see their apps look polished and sold on the marketplace as soon as possible.

Videos and screenshots of the top 10 Windows Phone 7 games are online for viewing.

During the Imagine Cup, the students had a chance to set up their own personalised stalls and demonstrate their games to all those interested. I managed to grab a few photos of the students while they demonstrated during the showcase.


Again, congratulations to all the teams. Your hard work paid off. Now take the Net Advantage controls, polish your apps, and release onto the marketplace ASAP!

By David Burela


Get every new post delivered to your Inbox.