It disgruntles me when poor arguments are put forth. For instance, Silverlight should be avoided is an argument that relies on a very biased opinion rather than fact. The problem, of course, isn’t that the argument is being made against Silverlight but rather that the argued points are unfounded and poorly written. Below is a point-by-point analysis and counter-point piece based on what I know of Silverlight as well as what Bing can tell me.
Hyperlinks
The author chooses, of course with no evidence, to make the point that Silverlight doesn’t support deep linking. I agree that providing a uri for each page, document, video, et cetera, is an important part of what makes the web accessible. Anyone who has visited an all Flash site from the late 90′s knows why: without a Uri, users cannot gain quick and consistent access to content. It is fortunate that Silverlight provides deep linking support, otherwise I would have to agree with the author. A quick Bing or Google search could have provided the author with this information, but then again what are facts to an argument?
Documents
I am going to argue that while IL isn’t pretty or readable, it really is not different than HTML code. That is on some level both bodies of text are instructions for a compiler to interpret. Microsoft could choose to transport the source code and have it compiled on the client’s system, but this is unnecessary.
Furthermore, the world wide web is much more than HTML. To deny this is ignorant – just look at the success of YouTube and you can see how important rich media is. Videos aren’t transported in an English like language; why should applications? Complex code and encodings provide a much better way to transport rich media like videos and applications, software that provide an experience well beyond and above HTML. It is time we get out of the era of Documents – even the author’s page uses Javascript to enhance the basic presentation of the page.
“Contained on the internet”
As the author states, his argument is stretched. The argument is that because Silverlight provides an application that is downloaded and run, it really isn’t contained on the internet. It is a nice application of words that ignores how the internet has evolved to increasingly support client side software. Javascript runs on the client, Flash (and thus videos), run on the client. About the only thing that is still contained “on the internet” is the HTML source code sent as a response to a user’s request. But even HTML is interpreted on the client’s computer (the browser chooses how to render, remember?). To have a site that is truly contained on the internet, the server would have to render each page and transport only the final image. I think we can all agree that this is not where the internet should go. The truth here is that we need a combination of client and server software for the internet to exist and grow.
“With a web browser”
I must say that I cannot really argue this point as I do not know much about Silverlight’s new desktop client features. All I will say is that any site that is service based doesn’t require a browser to be interacted with. Sharepoint, for instance, can be connected to and used entirely without a browser. Similarly email sites like GMail and Hotmail provide transports beyond HTTP for accessing mail. Even Twitter can be used without requiring a browser. Out of browser isn’t solely a Silverlight thing – it is an internet thing.
“View pages”
The author simply leaves a note, “…do I really need to pick this one apart…,” as if we are supposed to know what he is thinking. Since Silverlight supports deep linking, content can be presented in a classic page view model. I assume that the author’s argument would go down a road of HTML source code and how each page represents a request and response model where as Silverlight does not require this. The problem, of course, is that many would agree that the stateless architecture of the internet severely limits what it can do. Software has been added that can refresh pages partially with new content without requiring the re-rendering of the page. I would argue that Silverlight and Flash take this to the next level, removing the browser from the equation.
“navigate between them using hyperlinks”
The author argues that you can’t navigate between Silverlight components and then agrees that it is possible. Contradiction in an argument isn’t a good way of winning. I suppose the keyword here is “hyperlinks” and the notion that you can’t simply request a Silverlight “page,” parse it, and pull hyperlinks out based on a simple tag. This is a problem that needs solving, especially so search engines can archive content in these types of applications. Having said that, it is still possible to link from one Silverlight application to another. The linked application just needs to be downloaded and run, much like a linked page needs to be downloaded and interpreted and run (Javascript).
“using concepts from earlier hypertext systems”
Here the author chooses to apply the original text as the law, that all systems should apply some archaic idea of what the internet is. Again, maybe it is time we attempt to evolve the internet and our understanding of what it should be. My main gripe with the W3C is that it is slow in adopting new standards. HTML5 and CSS3 have been worked on for what seems like ages and software like Silverlight and Flash gives developers and users a wonderful way of getting around the indecisive nature of the W3C. Could you imagine a world without Flash? A world without any client software (Javascript, ActiveX, et al)? I think we can all agree that the internet is a much better place with these technologies.
Conclusion
In the conclusion of this argument the author concludes that Silverlight is not a web technology and as such can’t fix the web. Let’s consider this in two pieces: is Silverlight a web technology, and can it fix the web?
I would argue that simply being transported over the web makes it a web technology. At least as much as Javascript, ActiveX, Flash, HTML, CSS, and any other piece of content transported over the medium. The difference between HTML pages and Silverlight applications is simply the software that supports them. I am assuming the author is making the connection between the browser, HTML and HTTP because it is an obvious connection to make. But what about video? I can open a streaming video in Windows Media Player and view content from the web in something other than a browser. To limit the web to HTML and the browser is ignorant and ignores the problems.
What problems need to be fixed? Does Silverlight fix these problems? The lack of support for video in XHTML/HTML (remember HTML5 isn’t a standard yet) is a problem that is fixed in software like Silverlight. Interactive pages that do not need to postback is a problem that is fixed not only by Silverlight but Flash and Javascript as well. I would say that in these cases, software like Silverlight provides an immediate fix with some added benefits like browser independence. Is it the end-all, be-all fix for the web? Probably not, but to ignore its importance is to ignore the importance of Flash and Javascript as well.
The Tired Ol’ “IE Sucks” Argument
I should have guessed that the author’s argument would end with a spouting of hatred towards Internet Explorer. It is indeed the cool thing to do these days. Of course, any real web developer knows the subtle points of his/her platforms and knows that each browser has its individual problems. A site working in Firefox does not imply the site works in Safari or Chrome much like a site working in IE does not imply it works in Firefox or Safari. Again a real developer knows how to tackle the problems and develop a cross-browser site without the need for browser-specific “hacks.” But don’t listen to me; listen to the author who has the following to say about his own site.
This website doesn’t display as it should with Internet Explorer due to lack of standard compliance with IE. For the best experience of this website you should download one of these browsers;
The interesting bit here is that the site in question works perfectly fine in IE8 and looks exactly the same as it does in Chrome.