I first learned of OpenLaszlo when I began learning a bit about SVG. The idea behind OpenLaszlo is to write rich web applications in XML + JavaScript. It is very similar in concept to Mozilla's XUL, Microsoft's XAML and Adobe's MXML.

To give you a taste, here is a simple "Hello, World" LZX application:

<canvas width="500" height="350">
  <window x="20" y="20" width="200" height="250"
      title="Simple Window" resizable="true">
    <text>Here is some text.</text>
  </window>
</canvas>

Go here to see this application in use. Drag the window around. Resize it. Wipe the drool...

Currently, LZX files are compiled into Macromedia Adobe SWF executables before deploying on the server. But I really get the impression that even Laszlo Systems recognizes this as a somewhat unfortunate (or limiting?) association. As they strongly state: "Laszlo isn't Flash". They want to support different backends, to make their technology less vendor-lock-in and accessible. Unfortunately, at the time of the project's inception (and even today) the only viable platform to actually deploy against was (is) Flash. Other future backends might be CLR, XUL, SVG, etc.

Subsequently I discovered Pandora and then learned that it was built with OpenLaszlo. The user interface for Pandora is clean and quite to the point so my impression for OpenLaszlo went up another notch, though at the time I was still blindly dreaming of SVG and hating Laszlo for being Flash. At the time I did not understand that the two could (and should!) exist side-by-side.

I then learned that the W3C recently put together a Web Applications Working Group. Their charter is to reuse an existing technology like XAML, XUL, OpenLaszlo, or MXML and marry it with such technologies like CSS, SVG, XForms, and SMIL to create an uber-web app platform. This will be great, because Lord knows we don't need yet another technology in this space. Only problem will be: Which one to choose?

Microsoft is never going to willingly play nice with XUL or MXML if it already owns a strong competing technology. But the same applies the other way for Adobe. And are any of these company's going to hand their technologies over to W3C? Furthermore, XAML isn't fully baked yet (my understanding) and XUL hasn't seen any major successes outside of Firefox/Thunderbird. On the other hand, OpenLaszlo is a relatively small company and has got a few years of successful deployments in various sites (like Pandora). And it's Open Source, which means it's got to be a "good thing", right? Right? Sooo... based on my five minutes of internet research, I think OpenLaszlo has got the best shot 😉

Ultimately what would be cool is if one day a web developer could deploy a bunch of XML, LZX, EcmaScript, SVG and SMIL, either in separate files or combined in a multi-namespace XML document (i.e. "compound document"). The browser would know how to interpret all XML grammars natively. The web designer would use LZX to define the application at a high-level, XHTML to describe semantically structured and linked text, uses EcmaScript to describe the application's functionality, uses SVG/CSS to define its visible presentation (or its "skin"). The browser would know what a <window> or <button> object does in terms of its functionality, it would hook up JavaScript event listeners to the widgets, it would have default bindings to know how to "skin" them, but they could also be styled via CSS or custom painted via designer-supplied SVG.

Now here's the even cooler part, upon first loading, the browser could "compile" this web application into some native format and keep it around in a cache if it wanted (i.e. Internet Explorer could compile it into cached .NET/CLR objects, Apollo could compile it into cached SWF objects, Mozilla could translate the LZX into XUL... This means the browser wouldn't have to re-interpret the XML document(s) from the server unless some change had been made and execution could (theoretically) be just as snappy as with regular desktop apps. The browser now really does become an operating system, complete with windowing system and compilers...what a concept.

This last point was an important one, because it also means that companies like Microsoft and Adobe that need to make money on this technology in order to survive can update their expensive authoring tools to generate LZX+SVG+... content that will work optimally in their technology while still supporting the common platform.

Now we need a cool and unused acronym and a slogan for the XHTML+LZX+EcmaScript+SVG+SMIL format to get web developers' imagination stirring. How about "You can do more with XLESS"? Ok, before I get flamed - I really am joking about that one... Besides, I think the W3C already has the WICD acronym ready for this...

But all in all, it's a very exciting concept ...

§192 · December 15, 2005 · Laszlo, Software, SVG, Technology, Web, XML · · [Print]

Leave a Comment to “Putting the Pieces Together”

  1. Brian Maggi says:

    Jeff,

    I googled “Laszlo Developer Chicago” and stumbled across your blog. After reading some more of your posts, I was wondering if we could talk. I have a company that does interface design, mostly RIA type stuff. We have a connection with Laszlo Systems and are looking for someone who has, or could develop a deep understanding of LZX.

    Could you drop me an email and maybe we could talk over the phone or coffee. Coincidently, I live in your area too.

    Also, there doesn’t appear to be an email address on your site, so I had to use this comments feature.