\\[Editor’s note: Welcome to “.NETRocks Conversations,” excerpts of conversations from the .NET Rocks! weekly Internet audio talk show. Hosts Richard Campbell and Carl Franklin chat with a wide variety of .NET developer experts. This month’s excerpt is from show 578, “Silverlight PivotViewer.”\\]
Carl Franklin: Today we're talking about Silverlight Pivot with Matt Jubelirer and Brad Becker. Matt is a Senior Project Manager at Microsoft Live Labs. He leads the product management team in Live Labs and is responsible for all the marketing efforts and contributing to product planning and strategy. Prior to that, Matt managed the hardware and accessory ecosystem for Zune, contributed to the entertainment experiences within Xbox 360, and served as the Director of Product Management for Slacker, an Internet radio company in Southern California. Brad Becker is a Director of Product Management for Microsoft's rich client platforms including Silverlight and .NET and was previously responsible at Microsoft for product management during the introduction of the Expression tools. He was formerly a Senior UX (user experience) consultant at Macromedia, which is now Adobe, and Senior Product Designer for Flex Builder, Flash, Flash Professional, and the Flash Player. Prior to working at Macromedia, Brad spent eleven years as a software engineer and user interface team lead in the development of commercial client server and web apps. In his spare time, Brad created web projects for clients including Universal Music, Arista, and Mojo Records. He also found time to form a band, record six albums, perform for half a million people, and write a song for one very forgettable Warner Bros movie. Welcome Matt and Brad.
Brad Becker: Well, thanks.
Matt Jubelirer: Thanks for having us.
Richard Campbell: So we first had a mention of the PivotViewer control by our friend John Bristowe. And I've been poking around with it for a while and I'm glad to have you guys on to talk about this because it's a heck of a control.
Franklin: Before you even start, I think the question that might be on people's mind is, well, there was Project Gemini and Project Gemini is the sort of Business Intelligence PivotViewer that can work inside Excel and all of these things that we talked to Donald Farmer about a while ago. Are the two products related?
Jubelirer: Yeah. I think there's a lot of relation between the different platforms in the sense that both touch on data visualization and manipulating the increasingly large amounts of data that we have to deal with. The PivotViewer technology in Silverlight comes from a Live Labs research project specifically looking at how to visualize these large quantities of data so that insights are more readily visible and the projects that Donald's have been working on also touch on that manipulation of large datasets. So although they represent separate controls today, they certainly have a lot of potential for overlapping scenarios that make the best use of both going forward.
Franklin: But they don't share any code base.
Jubelirer: No, they're separate at this point.
Campbell: So when we're talking about large, what do we mean?
Jubelirer: Within Pivot, when we say large we conceptually tested the concept of a collection which is what Pivot can visualize up to millions of items. But the view at any one time contains on the order of 1,000 to 5,000 items. We find that when you start getting to datasets bigger than a couple of thousand items, it really presents a block for the users to be able to feel like the data is approachable and easy to use.
And we found other ways of extrapolating these sets to handle much larger systems. So for instance, we did a sample that took all the pages of Wikipedia within the Live Labs project, a couple million different pages, and we essentially made it so that each view shows you all of the things related to a certain topic in Wikipedia. So opening an item would bring in 500 to a few thousand new items related to that and you could navigate it over a quite broad conceptual network in that way.
Franklin: It really does look like you're watching a video when you see this thing in action, and I'm reminded a lot of the Deep Zoom technology that Microsoft has put together.
Jubelirer: PivotViewer is built on top of Deep Zoom so there's a reason for the familiarity. The technology that has just been updated in Silverlight 4.0, there were some feature enhancements to Deep Zoom that enabled a control like PivotViewer to be built. We feel the use of Deep Zoom within this context makes the experience continuous and more useful. When we did some of the initial research, we found that even though the concept of filtering through items is something that's been around for quite a long time on the web, every time you click on a filter you usually have to wait for a new page to come back.
Jubelirer: And over time we actually see the people stop clicking on links even though they're interested simply because they don't want to wait. When you use Deep Zoom in this way so that all the items are present and you're really only manipulating Views, people have a higher tolerance for exploration, which leads to some really nice things when you're developing a website that has this much content. You definitely want to expose more of the back catalog in some of the other items you have there.
Franklin: I also really love the way, in the demos anyway, that the continuity exists between Views. When you switch from one View to another, typically the graphs and bars and charts are made up of little icons of pictures and that makes a lot of sense, then when you change Views you're not just replacing one static page with another one, you actually see these items fly from one column to another or spread out from a Column View to a Group View, and it really makes sense in the user's mind as to the relationship between this View and the last View like it's one continuous story.
Jubelirer: And that really goes back to that initial research. I mean, when we sat down and tried to figure out how do you make putting 5,000 things on screen that were useful, the first thing you deal with is that anytime you move items in and out or around, people get lost really fast.
Anytime those items are a thumbnail size, you're just not going to be able to understand what interactions are happening and so using those animations and transitions is a way to help you build and maintain your contacts was really important to the research and I think the results definitely come true in the final control. It's nice to hear you see the same thing in the technology.
Campbell: I know what this reminds me of and it's funny this ties back into Gemini. Ralph Kimball's documentation way back at the beginning of OLAP, talked about maintaining the thread of intuition. This idea that you're looking for something that you don't know of, you're looking for exceptions in a large amount of data and speed was of the essence because as soon as you have that delay, it's not so much that people are getting bored, it's that they lose the thread of pursuit that they're on. And so having all that stuff move quickly means that we actually can ultimately find your way to that thing that you sort of senses out there that are normally in the data.
Franklin: You know; the brain manipulates information visually and this makes perfect sense, I mean I don't know what else to say, I mean that's what I'm getting. It tickles my brain in a way that feels good and it's just like I'm thinking visually when I'm looking at it.
Jubelirer: Oh, I really appreciate that. I think another thing that you start to feel as you play with Pivot controls more and more is that the way of filtering down to a subset and sort of organically finding what you're looking for is a model that people are very familiar with today. You know, the web fundamentally takes us from many things down to one thing. That's the way search is set up in a lot of other infrastructures. With Pivot, because you can use a single item as a way to sort of re-filter and jump back out to a larger set, that idea of going from many to few to one, but then from one back out to many again, it actually continues the exploration process. It continues that browsing process and it gives you that continuous thread that you were talking about earlier which I think is a great analogy for this type of exploration. We just don't want to put anything in the way. Everyone is going to be looking for a different slice, different insight within the data and it should all be continuous within the one set.
\\[There’s much more: To listen to or read the full interview and to hear what Brad Becker has to say, go to www.dotnetrocks.com.\\]