Video: Viewing Albums with WPF/E and ASP.NET AJAX (Updated)
-- Updated for ASP.NET AJAX Final Release and for the February WPF/E CTP. Live version now available --
So many technologies and so little time! It's hard to keep up with all of the great new technologies being released but over the holiday break I made some time to play around with the February CTP of WPF/E from Microsoft. I was really interested in WPF/E when I first heard about it since it's based upon XML (more specifically, it's based upon XAML) and I've worked a lot with XML over the years. While there was definitely a learning curve, I was able to put together an album viewer application that leverages the following technologies:
- WPF/E and XAML
- JavaScript
- ASP.NET AJAX
- Web Services
A screen-shot of the application is shown below. It allows a user to type in a recording artist and then returns albums associated with the artist from Amazon.com and displays them in a nice 3D-style view. Originally I was going to lay the albums out on the screen in a 2D grid format but after seeing the excellent videos on Flash programming from Lee Brimelow I decided to go with the carousel approach he put together for Flash.
The album information returned from the Amazon.com Web Service is converted into XAML and queried using ASP.NET AJAX. JavaScript then converts the XAML into WPF/E objects and adds them into the canvas. It was quite a bit of work to get it to its current stage, but I learned a lot along the way fortunately. I wanted to make the albums spin in a carousel style but that proved a bit difficult to do right since WPF/E doesn't support Z-Index in the December CTP. I'm hoping to add that feature in the future and update the application as the technology continues to mature.
A video of the application in action as well as a "nutshell" version of how it works can be viewed at the link below. The code can be downloaded here. To run the application you'll need .NET 2.0, ASP.NET AJAX (final release) and the WPF/E viewer.
Thanks to Orcsweb for hosting my website (http://www.xmlforasp.net) and for giving me space to host videos! If you're looking for a host I highly recommend them. You won't find better service anywhere.