Thursday, January 10, 2008

I've been learning about Silverlight recently. One issue has been bugging me, though, and that's what I called my post on the silverlight.net forums:Enhancing websites with Silverlight without crippling functionality.

As a quick example of this, check out the Silverlight homepage. If you've got Silverlight 1.0 installed, there's a really neat menu -- slick and usable. However, you can't: drag and drop any links on the menu to a new tab, can't right click it to get The Usual Suspects (Open in New Window, Open in Tab), and you definitely can't right click it to open the links in the background.

So, the menu is aesthetically pleasing, but it's lost a lot of functionality I've come to take for granted. The worst part is, this menu could have been implemented using some rich Javascript -- it would have been a lot more harder, but it still could be done, and you'd still have all the browser-based capabilities you're used to.

Flash has the same annoying limitations, too.

The ultimate solution in my opinion would be better integration with existing HTML elements -- you'd tell Silverlight or Flash, "this region should be treated as an anchor-tag," and when the plugin finishes processing, it adds an invisible anchor-tag to the page, layered on top of the specified region. The browser sees it as a generic anchor tag with absolute positioning, so gives you the standard options when interacting with it, the user sees it as whatever the hell you wanted it to look like in the first place.