All for .net, .net for all!

Should you invest in WPF and Silverlight?

VBandi's blog



Generic Content

I’ve been asked whether it is time to invest in WPF and Silverlight. What is the future of these platforms? Are they here to stay? Should a LOB development company invest time and energy in learning them?

I think the answer is yes. Of course that is my biased opinion as these are the two technologies I’ve been working with for the last couple of years. But there are more objective reasons:

Developer productivity. With WPF, there is a hefty learning curve to climb – especially when coming from the Windows Forms world. Silverlight is not much easier for web developers as you can have much more interactivity. However, once the curve has been climbed, developer productivity will raise. Architecturally, the separation of concerns between logic and presentation is much clearer, thus helping avoiding bugs. With the extremely rich databinding, you barely have to write UI code – instead you declare it using XAML. The platform has built-in automation for UI testing which again helps increase the quality. Have a look at .Net RIA Services, too to see how it makes creating 3 layer applications a lot easier.

Future. Microsoft is betting heavily on both platforms. Silverlight is a small, agile platform – that’s why it gets all the new stuff, such as the Datagrid, .net RIA Services. It works on Windows and on the Mac, and it is coming to smartphones, too. Half of the Mix09 conference in Las Vegas was about Silverlight 3 and User Experience. WPF is also coming along for the ride – it receives LOB controls, such as Datagrid, Office Ribbon UI, tight integration with Win7 features, multitouch. What can be publicly known about WPF 4 is summed up nicely in this blog post.

User experience. If you have been reading this blog, you will know that the main reason I believe in WPF and Silverlight is because they make it affordable to create great UX. User experience is not just about being flashy. As I’ve mentioned before, UX is all the experience the user has while using your product. And like it or not, the expectations for how your application looks, behaves and even (solidly) animates is becoming more and more important even for business customers and LOB applications. But these little things can also help a lot with the user’s learning curve or productivity, and even how much they enjoy using your system. Windows Forms is simply not cut out to have animations, transitions, visualizations, skins, small effects that your customers are getting used to on websites and are beginning to expect every time they interact with the computer. Windows Forms applications will feel grey in a few years. And how will that impact your business? Three words: IPhone, Windows Mobile.

In order to develop a great UX, you will have to change the way you’re thinking about the software development process itself. You have to get a UX designer on your team – and UX should be one of the driving forces, not just an afterthought. New Microsoft tools like SketchFlow help adopting this process.

Here are a couple of links:

What did I miss? Do you agree or think I am on a completely wrong track? Let me know!

Posted Apr 21 2009, 10:43 PM by vbandi