As you might have guessed, I am pretty excited about the next version of the PivotViewer. We received the first glimpse of it during the keynote of the Silverlight Firestarter last December (http://www.silverlight.net/news/events/firestarter/). During MIX last week, Nick Kramer gave a talk on “Advanced Features in Silverlight 5” where we saw the new PivotViewer in a bit more detail. If you haven’t seen Nick’s talk yet, you can watch it online here: http://channel9.msdn.com/events/MIX/MIX11/MED12
So what is the next version of the PivotViewer going to look like? At first glance, it looks like the overall layout will stay basically the same. However, there are some dramatic differences in the new version that deserve to be mentioned.
New Features in PivotViewer
There are two new features that are the most anticipated. The first is client side collection generation. That’s right sports fans, the days of generating CXML files and Deep Zoom Collections are over. Pivot collections will be managed thru a more traditional means of setting the ItemsSource of the control. This will give you more control of your collections and allow you to generate them from most any source of data.
The other big feature is XAML trading cards. I saw a couple of nice items that are a result of this. First, you can build your trading cards with traditional DataTemplates, using data binding to your collection objects. For anyone who has done the traditional method of generating the images recognizes how big of a deal this is. The other part of this is that you can define multiple card layouts based on threshold values defined in the control. This allows you to set different visuals based on how zoomed in to the objects you are.
Nick also described several customization points. The first is the layout of the item panel, providing custom XAML for the selected item. You will also have access to other items, such as the fonts in the filter panel.
My Wish List
Now you obviously can’t see an entire control from a 5 minute demo. However, I thought I would throw out there my wish list for the control on things I did not see in the demo. Remember, we haven’t even received a beta yet, much less the final release. So any of these items might already be in the control. Time will tell.
The first thing I would like to see is custom filter panels. I would like to set a different layout for the filter on a particular facet. This would go a long way towards offering an extensible control.
Another extension point would be to allow for custom collection views. An example of this would be to easily integrate a Bings Maps view versus the standard layout. You have probably seen this hacked into the current version and will probably see an example of how to this here in the near future.
A big question I have is what size of collections the new version will be able to handle. The party line for the current version is to try and keep under 3,000 items. With a completely new layout structure, what will the new limit be? Obviously, the higher the better. At least that is my first thought anyway.
A customizable header would be another great addition. Besides things like branding, I have some specific implementations that could really benefit from a different header layout.
The final thought I have is around the internal messaging. The current version uses an internal class structure to handle messaging. This really limits the possibilities of extending the control. If this structure was opened a bit (simply moving away from the internal keywords) it would be a big help. Of course, this assumes that the new version is still using the same messaging system.
Well that’s not too bad of a list is it? I’m only asking for everything, so I think it is doable. <grin>
So what do we do now? Well since the beta was not released with the beta of Silverlight 5, I’m not quite sure when we will see it. It is supposed to be in-band with Silverlight now, so we should see the final release with the release of Silverlight 5 in the second half of the year.
Between now and then, you will see continued work on PivotViewer Lessons (http://pivotviewerlessons.codeplex.com). In addition, I have a new project under way, that if you are a PivotViewer developer you will want to keep tabs on. I hope to announce the new project in the next few weeks.
Until then, keep me posted on any challenges you are facing or any cool customizations that you have done…