Discovering OpenLaszlo

My friend Victor recently sent me a link to a great (not-so) new RIA programming language – OpenLaszlo. (They really should think about registering and having that redirect, but anyway…) Here is the in-a-nutshell description from their website:

OpenLaszlo programs are written in XML and JavaScript and transparently compiled to Flash and, with OpenLaszlo 4, DHTML. The OpenLaszlo APIs provide animation, layout, data binding, server communication, and declarative UI. An OpenLaszlo application can be as short as a single source file, or factored into multiple files that define reusable classes and libraries.

In other words, it allows you to focus almost purely on content and presentation, making for a Ruby-on-Rails-level of programming efficiency. To get a sense of of how efficient it can be, check out their demos page and then open up, for example, the calendar app. This is a full-fledged calendar interface, that can be served either as Flash or DHTML. And then take a look at the source code. Sure there are a lot of includes, calling a bunch of library resources, but the core code for this app is only about 500 lines. Considering that calendaring interfaces are in no way trivial, and that this calendar interface in no way is some bare-bones clunker (in fact, it’s quite elegant), this is pretty amazing.

OpenLaszlo has apparently been around for awhile, so I’m surprised I’ve never heard of it, or seen more stuff built with it. (Though because it’s easily mistaken for being built with Flex, which Pandora looks it was built with when it in fact was built with OpenLaszlo, I may have seen more of it than I’m aware.) I can also imagine that it has amazing potential as a prototyping environment.

When small features are show-stoppers

Since posting this, I’ve been working a lot with FW CS3 and have realized that some of the points I make below are inaccurate. Inline text styling is actually possible in FW. What is not possible, at least from what I can tell, is applying text styles at a level more granular than the text object. So, my love affair with FW CS3 is *not* over – we just needed a little time apart 😉

Thanks again to Alan Musselman at Adobe!

I recently wrote about how I had high hopes for Fireworks CS3, in part because of how the prototyping process had been integrated into the design process, and because of the generally increased integration between former Macromedia products and Adobe products. But alas, after having now worked with the tool for a while, it turns out that, at least for now, FW will not be added to my design toolbox. But why oh why you say? After all, with the new version, it’s so easy to sketch out some ideas, hotlink them together into pages, and post it for discussion (I was able to crank out some simple prototypes literally in minutes.)

Well, as it happens, one seemingly innocuous missing feature spelled the end of my short (but intense) love affair with Fireworks CS3: no inline styling of text boxes. Huh? Why would that be such as big deal? Well, here take a look at this example:

Sample from a Contact Us wireframe

So here we’ve got a snippet from a pretty generic contact form wireframe. Notice the privacy policy link. I was working on this wireframe and wanted to add this seemingly simple little text link. The only way I was able do it was by placing any differently styled text in its own layer. Not good if you’ve got loads and loads of these links on a page, like on a search results page, for example. Here is a snippet from a wireframe of one:

snippet of a search results wireframe

Ok, so this one is pretty crazy-busy, but even so, having this many links on a page is not out of the question. Can you imagine having each of them in their own layer?! FW apparently treats text boxes as the most granularly defined object, so for example if you want to apply a style, you have to apply it to the whole block of text. Considering how critical the ability is to control the style of virtually every character on a page is in the world of modern user interface design, I’m very surprised that FW doesn’t have better support for this, especially considering that old clunkers like Visio have amazing formatting capabilities (clunky to do sometimes, but at least you can do it.) Hopefully, better support for this will be part of a future version of FW. Or, more likely, someone somewhere will figure out a hack for getting around this issue….