Let me confess I like Silverlight. I believe it is a welcome addition to enable delivering rich interactive experiences on a browser.
However I have hit upon a couple of roadblocks that were not immediately obvious, at least to me, in considering the application of this technology. My contention is that Silverlight, or Flash or any of its ilk, lock content down. They utilize the browser as a host to deliver content but in such a proprietary fashion that it becomes impossible to do anything with the content.
Allow me to explain my reasoning. HTML is a simple way to deliver content that browsers render and it works across platforms. This simplicity lends an ubiquity that cannot be matched by any other means to get content to an user. This pervasiveness has allowed people to layer additional stuff on top of the humble HTML. To understand what ‘additional stuff’ we need to step back and consider how HTML content can be consumed.
An overwhelming amount of HTML content is still consumed by humans. But a steadily increasing number of mainstream web applications are chaging this by doing things with content that the original authors did not quite foresee. Let me illustrate this with an example.
…you will see that the tags on the rendered page are
and ii) Custom actions allowed on recognized tags.
Ask yourself how a 3rd party tool, like Operator, is able to infer content rendered on an arbitrary webpage and allow custom actions. The magic sauce is in how HTML can carry payload other than the content actually seen by the end user. This allows consumers other than the ‘I think therefore I am’ variety to make sense of the content.
This making sense is a complex problem and machines need whatever help they can get. Help is given by providing a little context to the data rendered on the browser. This context is usually hidden away within the entrails of the HTML. This little pre-agreed structure allows consistency of interpretation by machines.
And this is one of the keystones of the Semantic Web– to provide grammar to content on the web, allowing machines to create connections between disparate data elements in a logical fashion. Think of it as machines being able to make baby sentences by stringing together words.
Now all this intelligence, this mashable repurposable content goes down the rabbit hole when using any of the browser based ‘rich’ technologies. Hence my gripe.
Am I missing anything? Is there a clean and structured way out? In using Silverlight/Flash/Flex are we moving away from standards and interoperability gained by using HTML? Are we locking away our content?