Where Does Silverlight and WPF Belong?
Last month I pondered the question of Where Does ASP.NET Belong? This month I want to express my opinion on where Silverlight belongs as well as WPF. I have been pondering this a lot over the past year, almost waiting for something to just hit me with the obvious answer. Well that never materialized and I think there are a few reasons why. The first being that neither are really gathering real acceptance in the real world. The second is their is just so much new stuff being thrown at us almost on a daily basis, and I will leave that concept for another day.
So what does real acceptance mean? I have lots of friends that are juiced by WPF and Silverlight. Karl Shifflet, Jeff Prosise and Rob Zelt all come to mind when I think of WPF/Silverlight. There are many others, but my point is my really bleeding edge friends like them have just gone 100% into the WPF world and they love it. The reality I am seeing is the actual adoption in the real world is negligible. I was even in two different large development shops last year where none of the developers had even heard of WPF. I was in another small shop that thought it was another application framework designed to compete with .NET, like Cold Fusion or Java, sigh. The point I am trying to make is that normal people don’t care and the bean counters are most likely not going to pay for it yet. With the economy I doubt the adoption point will be anytime soon. They would much rather pay $200k on a couple of document workflows in SharePoint to save the company $1000 a year ;P.
So where do these great front-end technologies best fit? WPF will ultimately dominate the domain of commercial software. This is retail software that you would buy from the store and take home type of stuff. Of course I think the whole driving to the store and buying software has to stop sometime soon, right? The reason I say this is the expectations of the general consumer for their software continues to rise. WPF gives us the foundation to build these interfaces. Think about almost every television show or movie that uses a piece of software (think CSI or Swordfish) has a very sexy user interface that is not available in any software package I am aware, please show me examples of real-world software if you can. The main barrier that lead to web base applications being the dominate choice is the whole installation and distribution headaches, trust me I had to deal with them in the late 90s and it made me go all web all the time! Retail software by definition has accepted that headache as a normal course of business. So this is where WPF will dominate, but I think it is still several years away from being seen. I think if it were going to be something done today the Zune software would have been done in WPF.
Bring in Silverlight as line of business applications. Behind the firewall distributing the business software is done on the company Intranet. This is where Silverlight will find its home. Why? Great user experience that can be distributed with a single upload to a server. Why do I think Silverlight will not thrive on the public Internet? Lack of search engine optimization and requiring individuals to download Silverlight. Behind the firewall organization control the computer and can ensure the Silverlight plug-in is installed. Web sites are successful for two reasons, word of mouth and great search engine placement. Word of mouth for Flash based sites does not seem to work very well, which leads me to believe even more that large binary sites are just not workable, at least in the current working states, on the web. Where do they work? Online games like MiniClip.com and video distributions like YouTube.com. Why do those sites work? They have an entertainment value, not a line of business or e-commerce value.
I have done a lot of real estate type sites over the years, which forced me to evaluate that landscape. The use of flash is a great up sell that designers use to milk more money from their clients and it feeds the ego of the site owner. But it fails on user experience. Plus it tells search engines “Please do not index my sight!”. And not having those search engine listings is suicide on the web. YOU HAVE TO HAVE TEXT A SPIDER CAN EAT!!! Large binary files for Flash and Silverlight are those stop signs. So public based web sites built in Silverlight will most likely never ever be in play as long as search engine spiders cannot parse the content of the site. In bound links alone will not save you when your competition has real text to define the content. The public web will be the domain of HTML and AJAX for years to come and this is where I like to live, outside the firewall, this is my passion.
So with all that said I am planning on getting more and more experience with WPF/Silverlight because it is cool and I know there will be many opportunities in the future to build these applications. In fact I have some plans to leverage Silverlight for some stuff right now. I love the whole XAML world, I just think it is very hard to comprehend the ocean (that is a pun for Karl) to drink in. So I this is my opinion on where these technologies will fit in the real landscape the next few years. I gladly welcome your opinion and feedback on my opinions!