I can’t help but feel that Microsoft got the marketing for WPF wrong.
I believe Microsoft’s first mistake was renaming the technology. The dreary “Windows Presentation Foundation” name still seems terrible compared to the inspiring “Avalon” codename. I think Microsoft may have learnt their lesson from the uproar that followed; in fact in one of their latest offerings, they renamed the awkward “WPF/E” to a much cooler “Silverlight”. While “WPF” is finally starting to roll off the tongue, I’d still prefer to be able to discuss this fantastic technology with a name that at least hints at its mystique.
WPF (and the .NET Framework 3.0) was released with the flurry of releases that came with Vista’s launch. At that time, there was some discontent in the community to the value of Vista over the stable and performing XP. I recall a lot of material out on the web that said WPF would allow the developer to take advantage of Vista’s capabilities. In fact, on the back cover of the Microsoft Press published book, “Applications = Code + Markup” by Charles Petzold, there is the statement:
|“…giving you the skills you need to exploit new interface and graphics capabilities for Windows Vista.“|
Now I’ve used WPF for a while now, and there is nothing in WPF that is Vista specific. In fact, it’s a bit of a pain to use Vista features like “glass” and the new Message Box dialog – you need to go back to unmanaged code. Granted, certain UI Elements are rendered faster on Vista that previous operating systems, but this isn’t a functional difference.
So why is that a problem? Well, there is a feeling out there with some developers that WPF is a Vista-only technology. WPF runs perfectly ok on Windows XP and Server 2003. I had to
clarify prove that Windows Server 2003 could run WPF apps to a number of other members on my team. I can only assume this will hurt take-up of the technology.
I also feel Microsoft missed the boat with it’s promotion of the technology to one very large group developers – the ones that build data-orientated systems. WPF doesn’t ship with an equivalent control to Windows Forms DataGridView. I understand that there are deadlines, etc, and that some controls just didn’t have time to be shipped. But, the DataGridView is such a fundamental control to Windows Forms developers who build data-orientated applications. Yes, WPF shipped with a very capable ListView control, which can be moulded into a data grid, but it does take work. Not only that, there seemed to be very few samples which used WPF to bind to relational data sources. Unfortunately, I had a number of conversations with developers who shunned WPF because they felt the data binding capabilities of WPF were lacking. There was probably too much focus on the 3D spinning video inside a button which was rotated 65 degrees. As most people know who have spent any time with WPF, one of the really fantastic features of the technology is its databinding. It pains me to go back to WinForms for my normal day job after the pleasure of using WPF data binding.
I really want to congratulate the huge team that worked on WPF. I’ve never had so much fun building rich Windows User Interfaces. I just hope the technology hasn’t been long-term hampered by the marketing.