Analysing education data with Silverlight 5 PivotViewer

Microsoft released the PivotViewer Silverlight 4 control back in August 2010 after being previously developed as LiveLabs Pivot. For those of you who are not familiar with it, PivotViewer is a tool that allows users to visualise collections of related data and dynamically sort, organise and categorise it. Its unique feature is that it is highly graphical, with images or other content representing the data which can be organised by the attributes associated with each data item. It is very effective as it enables users to engage with data in a very natural way and see patterns and correlations in large data sets, whilst allowing the user to easily see the data in context.

Silverlight 5 PivotViewer

Describing it doesn’t really do it justice, so if you’re interested, the best way to see what it can do is to watch the following video:

PivotViewer uses the Microsoft Deep Zoom technology to allow the user to smoothly zoom in on images in the data set. This enables the user to easily focus in on one item in a collection, and easily zoom back out to see the whole of the collection.

Practical limitations with the current PivotViewer control

One of my frustrations with using PivotViewer in Silverlight 4 is that in order to display data in PivotViewer, the developer has to create a “pivot collection” and corresponding Deep Zoom image collection. A pivot collection is basically an XML file containing the data items and their common attributes. The Deep Zoom image collection contains the images corresponding to each item in the collection at different resolutions which allow the user to view each image at the highest possible resolution as they zoom in and out.

Having said this, creating a pivot collection is a fairly straightforward process and Microsoft provides a set of tools such as an addin for Microsoft Excel which enable end users and developers to create their own pivot collections. However these collections are static as the data set is contained in the XML file and source data needs to be converted into the pivot collection XML schema in order for it to be displayed. The real benefit of PivotViewer is evident when a collection is dynamic and can be regenerated based on a source data set which can change as the source data changes. Creating dynamic pivot collections is possible but it is tough using the current version of PivotViewer.

For PivotViewer to gain widespread adoption in the education sector as a means of looking at education data sets, we need easier ways to allow users to create their own pivot collections. Enter the new version of PivotViewer in Silverlight 5.

PivotViewer in Silverlight 5

Microsoft demonstrated the significant enhancements it has made to PivotViewer which will be released in Silverlight 5 at the Silverlight Firestarter event and during MIX 11. Unfortunately the updated version of PivotViewer was not included with the public release of the Silverlight 5 beta in April. However, Microsoft has released a post beta builds of Silverlight 5 to members of the early adopters programme and I’m pleased to say that a recent build includes a beta version of the new PivotViewer control.

PivotViewer has changed in two significant ways:

  1. Gone are external pivot collection XML files – the PivotViewer control can now be data bound to any collection of objects, in exactly the same way as other Silverlight controls.
  2. Out are DeepZoom image collections – templates for each tradecard (each data item) can now be defined as DataTemplates in XAML. In fact PivotViewer now allows multiple tradecard templates to be defined for different zoom levels. This allows you to create a detail template if the user is zoomed in, and a summary template if the user is zoomed out and looking at a large number of items.

I will cover the technical details of these enhancements in further blog posts, but the key take home message for now is that these enhancements give us a way to use PivotViewer in a really flexible way and in particular I believe that we can use it to realise the benefits that this data visualisation technique can bring to the education sector.

Using PivotViewer in Education

As soon as I saw PivotViewer I realised that it had lots of potential in the education sector. For example, school’s could create a collection of students, using photos to represent each student, and use it to help them understand student progress. In the UK education sector for example, schools are required to set targets for future student attainment. Estimates of likely future attainment are used to help them set these targets. PivotViewer can help schools to visualise these estimates, understand which students are most at risk of not making sufficient progress and put in place appropriate intervention programmes or corrective measures. What is fantastic about using PivotViewer for this purpose is that the data is immediately made much more relevant by showing each individual student, whilst still showing the overall picture and therefore all the data is in context. Rather than just looking at numbers we realise that there are real people who underlie the numbers.

The following video shows an example of how this could work, which has been built using the Silverlight 5 PivotViewer control. In this example the user can easily see the difference between attainment in Key Stage 2 English and Maths – a background colour of red indicates that there is a disparity between the students attainment in English and Maths. The user can use this indicator to enable them to identify whether there are groups of students who have a large disparity between attainment in English and Maths.

Note that the photos of students have been deliberately pixelated.

Enabling end users to customise PivotViewer

One of the key ways we want to use PivotViewer is to allow us to connect to different data sources and build a pivot collection “on the fly”. This will allow us to use PivotViewer as a data visualisation technique on different data sets, without having to predefine what the pivot collection or the trade card templates will look like. Although the Silverlight 5 PivotViewer control now provides us with the flexibility to easily build collections and define how tradecards will look, this customisability has to be carried out in code. Further work is needed so that we can use it as a tool which can be customised by end users to enable them to analyse different data sets.

Using the new version of the control, I have been able to build a prototype application which allow us to do just this. The app allows us to:

  • Query an external data source (for example SQL Server or Analysis Services, but in principal it could be any data source)
  • Convert the data set into a collection which can be bound to the control
  • Auto-generate the collection properties which users can use to filter and categorise data
  • Define the templates for each trade card such that they can be customised by the client (without needing to change code)
  • Map data items in the template to a KPI colour mapping (for example, this allows each trade card to display a different colour according to an incoming value and the mappings can be specified by the end user)

The education example above has been generated from this prototype application.

Future Blog Posts

Over the coming weeks I will post further details of the technical details of the enhancements provided in the Silverlight 5 PivotViewer control. I will also be working further on the prototype to provide additional features, so would welcome any feedback or comments that you may have.


About Chris Ballard

Chris is an Innovation Consultant in Tribal Labs and is an expert with analytics, big data and data mining/machine learning. He is responsible for inventing innovative solutions which help people understand complex data to make better more informed decisions. Chris is passionate about how Learning Analytics and Big Data can transform education, and is currently working with a university to see how data collected about student activity can be used to support students and help them reach their full potential. Follow Chris on Twitter.
This entry was posted in Business Intelligence, Data Visualisation, Education Data and tagged , , , , , , . Bookmark the permalink.
  • Ziad Jeeroburkhan

    “I’m pleased to say that a recent build includes a beta version of the new PivotViewer control.”

    Nice to hear about it but is this is publicly available yet?

    • Chris Ballard

      Hi Ziad

      Unfortunately PivotViewer has only been made available to members of the SL5 Early Adopters programme. Guess it can only be a matter of time though before there is a public release.

    • Anonymous

      Hi Ziad – Unfortunately, at present, PivotViewer has only been made available to members of the SL5 Early Adopters Metro programme.

  • Pingback: Business Intelligence in Education – Visualising learning data - MSDN Blogs

  • web design bangalore

    really this is interesting clip helps to every one  and thanks  for sharing 

  • Iain Fletcher

    As a teacher this is fantastic stuff, when can I use it?

  • Pateldeepa1

    is it possible to add create a pivot viewer with Image + video collection?

  • Nidhi Singh Mnit

    How can i add sub group in Pivot Viewer

  • Nidhi Singh Mnit

    I want to know that if i want to have sub categories in facet , how can i do that
    will that mix up with main category and will be visible or it will come under main Category visible as Sub category