Analyze Microsoft MIX11 Session Data With PowerShell

March 28, 2011

in .Net,Azure,HTML5,JavaScript,MIX11,Microsoft,PowerShell,Silverlight,jQuery

Microsoft MIX11 Conference information is up. So is their OData feed. I wanted to see frequency count of the top 10 tags for the sessions posted. So I used PowerShell (see the script at the end of the post) to connect to the OData feed to pull the titles, the tags and create a denormalized dataset to analyze.

Looks like HTML5 eek out the number of Silverlight sessions, followed closely by Azure.

Count Name
----- ----
   27 Third-Party Speaker
   17 HTML5
   16 Silverlight
   14 Windows Azure
    8 Boot Camp
    7 Cloud Services
    7 jQuery
    6 Media
    4 CSS3
    3 SQL Azure

Use the script at the end of the post to generate your main dataset and pipe it to this PowerShell snippet, producing the above frequency counts.

group -NoElement tag | select -First 10 | sort countDescending

Here are the HTML5 and Silverlight Sessions.

Tag: HTML5

Title
-----
5 Things You Need To Know To Start Using video and audio Today
50 Performance Tricks to Make Your HTML5 Web Sites Faster
Data in an HTML5 World
Deep Dive Into HTML5 canvas
Design, Content, Code: Start-to-Finish
Designer and Developer: A Case for the Hybrid
Designing Great Experiences for SharePoint 2010
Going Mobile with Your Site on Internet Explorer 9 and Windows Phone 7
HTML5 Canvas Mastery
HTML5 for Silverlight Developers
HTML5 with ASP.NET
HTML5/CSS3 Boot Camp
JavaScript Panel
Modernizing Your Website: SVG meets HTML5
The Devil Went Down to HTTP: Debugging with Fiddler
The Future of HTML5
The View of the World Depends on the Glasses I Wear                   

   Tag: Silverlight

Title
-----
Behind the Scenes of Channel 9 Live at MIX
Creating Windows Phone Applications Using Expression Blend
Deep Dive MVVM
Design, Content, Code: Start-to-Finish
Effective Validation Techniques with MVVM in Silverlight
Flickr API: Tap into Billions of Photos for Windows Phone 7
Get Real! Sketch, Prototype, and Capture Great Ideas with Expression Blend and SketchFlow
Graphics & 3D with Silverlight 5
HTML5 for Silverlight Developers
Introducing Microsoft Media Platform (MMP)
MMP Media Insight
MMP Video Editor
Rx: A Library for Managing Asynchronous Data and Events in your Windows Phone 7 Application
Silverlight Boot Camp
Silverlight for SharePoint Boot Camp
Tips for Improving Performance in Applications Built with Silverlight

This PowerShell snippet takes the denormalized dataset, picks out the sessions tagged with HTML5 or Silverlight, sorts them and then groups the session titles by tag name.

Where {$_.tag -eq 'HTML5' -or $_.tag -eq 'Silverlight'} |
    Sort tag, title -Unique |
    Format-Table Title -GroupBy Tag -AutoSize

PowerShell Script to Read MIX11 OData Feed

With PowerShell, accessing the .NET framework is seamless. Here I use the frameworks WebClient (line 2 and 3) to make quick work of downloading data from the MIX11 OData service. Then I slice and dice the XML, another sweet spot for PowerShell.

$MIX11Url = "http://live.visitmix.com/odata"            

$wc = New-Object net.webclient
[xml]$f =  $wc.DownloadString($MIX11Url + "/Sessions")
$f.feed.entry | % {
  $title = $_.Title.'#text'            

  $href  = $_.link | ?{$_.title -eq 'Tags'} |
      select -ExpandProperty href            

  $xml  = $wc.DownloadString("$($MIX11Url)/$($href)")            

  $ns = @{
    d = "http://schemas.microsoft.com/ado/2007/08/dataservices"
    m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
  }            

  @(Select-Xml -Content $xml -Namespace $ns -XPath "//d:TagValue" |
      select -ExpandProperty node |
      select -ExpandProperty '#text')
  } | % {
      New-Object psobject -Property @{
          Title = $title
          Tag   = $_
      }
}

{ 1 trackback }

Microsoft restates their emphasis on Silverlight
04.04.11 at 8:53 pm

{ 0 comments… add one now }

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Contrat Creative Commons

© 2007-2012, Doug Finke