The Buzz Over Serializing User Interfaces
Onto Erik’s topic, serializing UIs. We already know that HTML does this, but it is limited to a few UI controls. You can reuse these controls to produce aggregate controls with technologies like Internet Explorer’s Element Behaviors, but you are still limited to a limited set of possibilities. You can build controls on the server, and then serialize them as HTML, a la ASP.Net Server Controls, but that only solves the server side coding issues. Well, if you know the client is IE 5.5+ you can kick Element Behaviors to the client, but in the end it is all just HTML. What if you wanted to create brand new controls that were nothing like the other controls (like maybe a Bar Graph, or a Bar Label). You need to get at the graphics level, and HTML doesn’t let you do that. You can use Flash, but then you are self contained box, and can’t interact with the other elements on the page. Now you decided that you need to get to the graphics level and you need to interact with the other elements on your page as an equal. You need another XML dialect to represent your control, so that it can be easily serialized on the server, and sent to the “browser”.
SVG to the rescue. SVG will let you get to the graphics level, but it is also XML. So you go off and build these new cool controls on the server, and then serialize them as SVG and send them off to the “browser”. But now you are back to the craziness that is ASP.NET Server Controls. What if you could send these controls as your XML dialect to the “browser” and let the client translate it to SVG? You’ve accomplished your goal of serializing the UI and the rehydrating it on the client. Now you are getting an idea some of what will be discussed during my presentation at the XMLDevCon in July.
But wait. What is this “browser” I keep talking about? Well it isn’t the current IE. Have you read any of the “leaked” info on Longhorn? Did you see the bit about the Desktop Composition Engine and the new vector graphics based UI? Sound familiar? Did you see the XAML references in the Longhorn “leaks”. Here’s a snippet:
The Longhorn compilers, for instance, will use XML script files to create user-interface functions with a few lines of XML code that before would have required hundreds, if not thousands, of lines of C# coding. And the Longhorn software developer kit, which is also due out this fall, will come with prebuilt XML Application Markup Language (XAML) schemas for many UI functions, said sources briefed on Longhorn.
Sound familiar? MS may not be using SVG, and more than likely has a better implementation than what I’m discussing, but I think we are on the same page.
DonXML
Applied XML Developers Conference 2003 West
applied topics for xml & web service zealots
july 10-11, 2003, greater portland, oregon
[Listening to: Can U Deliver - Armored Saint ]