I stumbled across OpenLaszlo a few days ago, after hearing that it was used to power Pandora. (Marc Canter has a recent post on this.) OpenLaszlo’s a tool for making ‘rich Internet applications’ (RIAs) – programming’s done through an XML markup language and Javascript, and the output complies to a Flash file. I was a bit ambivalent about the Flash file, since Flash has become the tool of choice of for every intrusive Internet advertiser known to man, and I’ve therefore been keeping it blocked with the FlashBlock extension. But I liked the notion of an application with good cross-browser compatibility that’s also capable of doing a lot of the heavy lifting on the client side. So I figured I would put together a widget for my blog that’d display my del.icio.us links.
Some observations:
a) Pretty damn easy to use even for a non-techie like myself. The documentation could be a bit better; the available source code to use as examples could be a bit more varied. But I was able to build something fairly quickly in spite of both those problems. Solid debugger – way easier to spot bugs than with plain old Javascript.
b) Unless I missed it – they really need to add CSS support to the platform. If the ‘class’ and ‘id’ tags are doing too much already, add a ‘css’ tag used only for reference to a CSS file. The current system relies on ‘font’ or ‘color’ tags within the XML (or at best a custom-defined ‘style’, also done in XML). Apart from the cognitive shock – I’ve heard way too often that font tags are bad – there’s no clear separation of the display from the application logic.
c) Although this could be due to my poor programming skills, the .swf files are pretty chunky. I couldn’t get my del.icio.us-reading .swf under 77K despite their optimization tools. No big deal for broadband connections but those of us with limited budgets for bandwidth might not want to use this.
d) More of a complaint against Macromedia than OpenLaszlo – but ‘crossdomain.xml‘ is killing me. I finish the application, style it correctly, test it out – and then when I compile it into a .swf file and put it in a browser, it doesn’t work. Couldn’t figure out why until I looked at the HTTP headers and saw that it was trying to grab ‘del.icio.us/crossdomain.xml’, timing out, and failing. Turns out this is a ‘feature’ of Flash designed to prevent exploits. I understand the need (see here for a good explanation) but this is such a god-awful solution I don’t know how it made it into the final product. It makes using third-party APIs impossible unless the publisher of the API goes out of their way to accomodate Flash folks (and only Flash folks) by adding a crossdomain.xml file to the base of their browser – and after a brief survey, I see that next to nobody bothers. Surely there’s a better solution. Have the .swf contact a trusted third-party who can determine whether the requested data is accessible from outside the end-user’s hypothetical firewall. Allow the user to control whether their Flash player can access cross-domain data – allowing those with sensitive data behind firewalls to specify tighter security than the rest of us. For the love of God, don’t make the third-party API publisher jump through additional hoops.
Because of the crossdomain.xml issue, you’re not going to see my del.icio.us widget here – it just won’t work, unless I can persuade Joshua Schachter to put a new file on his server’s root directory just to accomodate me (not particularly likely.) Disappointing. But this is the Flash player’s problem, not OpenLazslo’s, and I still think the platform’s got a lot of potential. You certainly can’t beat the price, and not having to worry about cross-browser issues rocks.
{ 6 comments… read them below or add one }
Greg, send Joshua your SWF and see if he’ll put that up on del.icio.us. If he thinks it’s cool, but doesn’t want to host the SWF, then he can put up just the crossdomain.xml and you can host your SWF wherever.
Greg: You wouldn’t want to hit del.icio.us on every request even if crossdomain.xml weren’t an issue… that would be pretty wasteful. All you need to work around both problems is a little server-side applet to fetch data from del.icio.us and cache it on your site. Probably four or five lines of script, tops.
Greg, really nice article. I had the same experiences as you had, the good ones and the small worries. And you are right: after working extensively with OpenLaszlo for month I can assure you OpenLazlo doesn’t suck. But as more and more developers have OpenLaszlo experience the platform will improve quickly, frameworks will be developed and best practices will be established. The OpenLaszlo future will be bright!
Excellent article. These are ripe times with all roads being walked — others are investigating from Flash to XML/SVG/Javascript.
OpenLaszlo, as far as I can tell, does support it — see some relevant links here on my blog, with links to future plans as well:
http://www.julianonsoftware.com/?p=1706
I still have little thoughts about using Openlaszlo. It doesn’t seem to provide much usability…. Can it be used to answer software issues for the medical devices…I think not, silly question, ain’t it?
{ 2 trackbacks }