Monday, 6 October 2008
Silverlight and WPF makes easy and engaging applications
A couple of weeks ago I was down in Brighton at Microsoft's ReMix'08 conference. The purpose of the conference was to engage designers and developers in a 'conversation' about how to deliver the next generation of compelling computer applications, whether installed or online.
Of course the 'big thing' featured at the conference was Windows Presentation Framework (WPF) and its online sibling Silverlight. To deliver such applications requires an extension to Microsoft's Visual Studio suite - so along comes Expression Studio with it's excellent Expression Blend integrated programming environment.
I must say I got to grips with Expression Blend quickly, and loved its ability to enable to me to engage with on-screen objects in 3D, and use Storyboards to animate them in an event driven manner!
The first milestone for getting to grips with Expression and WPF was to improve the look of the application I created that runs 24/7 on the 42 large media information screens around Tesco.com's HQ building in Welwyn Garden City.
The first application which I wrote in May this year used basic Windows forms objects to display basic information plus PowerPoint slides (saved as JPEGs). Teams around the building quickly engaged with the concept of sending up slides to the screens so everyone knew what they doing (whether work or some team do), and there is always some great content up there.
The application also monitors a Twitter account where people can send text messages straight to the screens - something which works really easily and is very popular.
Post reMix I decided that this would be the application I would re-write. It also meant that I could get through the wish-list of extra features people wanted - including news headlines, weather, and displaying the time both for UK and India. It also show the current Tesco share price and our 'Tesco week number' (where week 1 is the first week of our financial year). The application also includes 'anti burn-in' features that move objects around the screen to a different location every hour, and changes the background colours - that way every pixel on every screen gets the full exercise of all colours and all brightnesses!
It took just about 20 man hours to re-write and it too runs happily 24 hours a day across all the screens. It was designed in Expression Blend, then programmed in Visual Studio 2008 Professional edition using C#. It runs on a Windows XP box in the server room, and distributed as a radio signal (within the cables) with HD distribution amplifiers over our CAT5e cabling before being fed into the PC in socket on each screen.