Great OpenLaszlo Article
Wednesday, February 10th, 2010Check out this in-depth article about OpenLaszlo:
http://www.ibm.com/developerworks/library/os-openlaszlo/
Check out this in-depth article about OpenLaszlo:
http://www.ibm.com/developerworks/library/os-openlaszlo/
Developing cloud-based Software as a Service applications
Dan Orlando, Enterprise RIA Consultant, Consultant
Summary: Discover the pros and cons of using Adobe® Flex and OpenLaszlo — two leading client-side rich Internet application (RIA) development languages that are particularly useful for building Software as a Service applications for the cloud. Read More...
Dustin's Software Development Cogitations and Speculations: An OpenLaszlo RSS Reader Implementation:
In this blog entry, I demonstrate generation of a simple RSS Reader using OpenLaszlo. The world certainly doesn't need another RSS reader, so the purpose of this blog entry is to demonstrate some of the easy-to-use features of OpenLaszlo.
The RSS reader shown in this blog entry will focus on blogs hosted on Blogger (blogspot.com). There are two URLs one can use to access RSS feeds from blogs with the blogspot.com domain.
[....]
This OpenLaszlo example provide several observations about OpenLaszlo development. First, this example shows how easy it is to have OpenLaszlo access server-side XML resources using the
src="http://marxsoftware.blogspot.com/feeds/posts/default?alt=rss" />
The dataset tag example shown above uses only three lines to associate a handle/name with the dataset called "blogRssFeed", instructs OpenLaszlo to initialize the dataset immediately, and provides the URL from which to access the data. I could have added the attribute type="http" to explicitly instruct OpenLaszlo that this data is obtained from an HTTP connection (rather than from a file), but using "http://" in the src attribute did essentially the same thing.
OpenLaszlo 4.0.9 is a bug fix release. For a detailed list of the bugs fixed, see the Release Notes. OpenLaszlo 4.0.9 is the recommended release for swf development. You can download it here.
OpenLaszlo 4.0.9 fixes the following bug:
We've got the basic core of OpenLaszlo compiling and running in SWF9. Thanks go to the good folks at g.ho.st (Global Hosted Operating System) for their support in this development. Here is a simple Laszlo app compiled to swf9 format and running in Flash 9. If you don't have a Flash 9 player installed, you won't be able to see it.
This is the source code for the app above:
<canvas width="800" height="600">
<view id="bar" x="200" y="200" >
</view><view id="foo" bgcolor="0xcccccc" x="-100" y="-100" height="200" width="200"
onclick="this.parent.animate('rotation', 90, 1000, true)" >
<text fontsize="18" fontstyle="italic">This is some text in a text view</text>
<view bgcolor="blue" width="40" height="40"
x="59" y="59"
onclick="this.animate('x', 10, 1000);
this.animate('y', 10, 1000)"/>
<view bgcolor="red" width="40" height="40"
x="101" y="59"
onclick="this.animate('x', 150, 1000);
this.animate('y', 10, 1000)"/>
<view bgcolor="green" width="40" height="40"
x="59" y="101"
onclick="this.animate('x', 10, 1000);
this.animate('y', 150, 1000)"/>
<view bgcolor="yellow" width="40" height="40"
x="101" y="101"
onclick="this.animate('x', 150, 1000);
this.animate('y', 150, 1000)"/>
</view>
</canvas>
A number of things have to be working to support this application:
All of these are implemented, although the kernel sprite support needs to be fleshed out and optimized.
Things major that still need to be brought up in swf9 are
We're got the development going on in a branch named "devildog", and in about a week or so should have things in place to allow people to start helping out if they want to get certain modules or features completed sooner, or fix bugs or optimize for the Flash 9 platform. There are a lot of new and improved APIs provided by the Flash 9 runtime; better media loading, data loading, and network APIs, as well as much more rational imaging and event model. We can probably take a lot of advantage of these by updating and optimzing the swf9 kernel and the runtime to use this where possible.
An quick overview of the approach to compiling to swf9 is outlined below.
The Flash 9 runtime contains a new virtual machine which has efficient support for JS2 style classes. If type declarations for variables and methods are provided, and use of some dynamic Javascript features is avoided, the application can run faster.
The Laszlo compiler emits AS3-compliant javascript class files, which are compiled by the Flex AS3 compiler, to produce an executable swf9 binary application file.
We currently compile the LFC library as a separate .swc AS3 library file, which is linked to the user application when the application is compiled.
Our plan is to have the LZX tag compiler phase emit real 'native' JS class declarations for user-defined classes (and all views, in fact). The LFC is already defined as JS2 style classes, using our own Class.lzs class system, designed by Tucker. We are converting these to be actual JS2 classes, which means no longer using our class initializer protocol. Stuff that is in now in class and instance initialize methods must be coded in some other manner.
Classes which are declared 'dynamic' in Flash 9 are slower to execute, since they must look up methods are variables by name at runtime, so we have been avoiding declaring LFC classes this way unless absolutely necessary, and would like to go back again and make another pass when things are all working to see which classes can be optimized to use only static lookups. We probably need to leave LzNode dynamic, given that we allow setAttribute at runtime on arbitrary properties, but there is a lot of room for optimization in the support classes in the system.
Matt Asay of Alfresco announced in his CNet blog that the Thalia application framework built as an open source software by Massachusetts Institute of Technology, Information Services & Technology won an InfoWorld award. Here's a description of Thalia from the InfoWorld website:
MIT's Information Services and Technology group developed Thalia, an application framework for the management of image and other digital media. To ensure the product's success, MIT partnered with Questcon Technologies, a QA and test specialty firm, to validate the application before releasing to MIT's departments. Thalia comprises a rich Web client and the Image Management Engine, which provides a framework of distinct, reusable components via its REST-style APIs. Thalia's Web client was built using OpenLaszlo and is compiled to create a Flash interface. Thalia's back end comprises Java servlets exposed as REST Web services, and it interfaces with the Alfresco open source ECM (enterprise content management) system. The framework allows MIT departments to upload, organize, tag, present, discuss, and search multimedia content.
OpenLaszlo can perfectly be used to improve the presentation layer of web applications, connecting to many of the existing open source CMS, webapplication development frameworks and digital content repositories. As long as the back-end system provides web services to connect to the integration of an OpenLaszlo rich Internet application client with the back-end doesn't pose any problems, providing a superb user experience across runtimes like DHTML/Ajax and Flash.
Congratulations to the whole Thalia team! It's always inspiring to see what you are building with our technology.
Keiji Ono promised to send us a report on the OpenLaszlo seminar held in Japan by Net8. I asked him for some screen shots of the Japanese OpenLaszlo applications they featured in the seminar and was very happy to get a mail today containing the screen shots and a lengthy sum up of the event. Here's a translation of the original report available in Japanese (≪net8主催≫OpenLaszlo事例紹介セミナー 〜OpenLaszlo����使�れ��る?) on the Net8 website:
Net8 held a seminar to introduce real world applications and systems built with OpenLaszlo on October 12 in Tokyo Japan. We have been holding some introductionary seminars on OpenLaszlo before, but never one showing real word examples of applications deployed in Japan. So this was a premiere. The purpose of the seminar was to show members of enterprise IT departments where and how OpenLaszlo applications are used, based on real world examples . The Sun Microsystems Japan office in Tokyo hosted the event. Thank you to Sun Microsystems for their corporation. And also we did not forget about the help we received from Laszlo Systems, thank you so much.
The seminar contained three sessions with over 60 participants. Net8 is providing wide variety OpenLaszlo support services for enterprise customers who are using OpenLaszlo, and we are also working on making OpenLaszlo more popular in Japan.
The first application presented was a monitoring and operation system of a river gate from Aizunk. The system is used for flood defense of a river. The following screen shot is a visualization of the gate control. Whenever an operator sends a command from the controller, the gate was blinking on it, meaning that the gate was going up or down. The graphics of the facilities are created using a paint tool ( like PhotoShop ) and then used as as background picture. Components like comboboxes, text, and view of the gate are then put on top the picture. According to Aizyunk the reason why they chose OpenLaszlo was the fact that they had to come up with an event driven control application. And OpenLaszlo was the best choice for that.
The second session introduced a group ware application from Doinet. Doinet is working on an OpenLaszlo based version of their group ware product which they had previously built with Curl. They had introduced the Curl version of it into Nagasaki prefectural government. But the cause of the license fee, they were remaking it with OpenLaszlo. The application is a typical RIA application that has no paging and supports drag&drop and other functions. Especially the custom components they built proviced them a better performance than the standard OpenLaszlo component. The custom components became a characteristic of their product. Doinet said that they are going to polish the design and performance of the application before the final release.
The last session featured consumer contents from Recruit. Recruit is the one of the typical corporations in the field of human resource solution business in Japan. The name of solution they showed us is Jin-Miyaku-Bank, which centers around human networks. Based on the contents entered into the system it can analyze member's human relations into from various angles, and it could show with radar chart based on graduated from the same school, relation of inside company, relation of outside company, etc. A view of the structural proportion by industry, by age or by business - based on the profile data - can be generated as well. The system can be used to analyzed what human network you have. OpenLaszlo was used in all the analyzing page. The system is very unique in a way, looking like an evolution of SNS.
The seminar of this time, we could show some real system of using graphics, for enterprise and for consumer . They were hight-quality IT system and they were the best system that show the characteristic of OpenLaszlo. We were thinking it was a great time. So we would like to keep working to introduce OpenLaszlo into Japan.
Thanks to Keiji and his team for this great report. It's hard to track the OpenLaszlo applications deployed around the world. We have seen a lot of activity in Japan but don't have a good understanding of what kind of applications are being deployed there. This report definitely helps to get a better understanding of the situation of OpenLaszlo in Japan. Great work, Keiji!
It doesn't happen too often that people inform me of OpenLaszlo applications they have been building. But this week I got a nice mail from Srini, who's working for Media Lasso. Here's what Srini wrote me:
We at threemany.com have been using OpenLaszlo for the past year to develop our product. Threemany.com is a website for separated and extended families to stay in touch using FREE video messages.
That's a cool idea. I always thought it would be great to have a kind of digital wall implemented with OpenLaszlo, leaving video messages and sharing images and text messages. The site is still beta, but Video recording, creating an image gallery with a Flash based file upload and leaving text messages worked perfectly. I even tested Unicode support for the text messages, entering some German special chars, Korean and Chinese into a message - it worked fine.
What was the motivation for the Threemany team to come up with such an application? The ThreeMany blog has some information on this:
We started Threemany to solve a problem that we all faced. The founders and the crew here have friends and family around the country as well as in different parts of the world. Given our busy lives with kids and work et al, and the timezone differences — it is very hard for us to keep in touch with email and phones and all and especially difficult for our kids to stay in touch with their cousins our friend’s kids.
The beta of ThreeMany looks very promising, I bet ThreeMany is using Red5 for the video recording and streaming feature. Thanks for reporting this application to the OpenLaszlo team. We are always delighted to see what you people are doing with OpenLaszlo.
Vodafone just launched a new website in Hungary featuring a great OpenLaszlo application. The site's mobile phone finder has been built using OpenLaszlo. The finder app as well as the whole website was created by Hungarian company Sandmark Solutions.
The application offers an optional mini tutorial showing the functionality, which can be selected right after start-up. Initially all phones are displayed and based on the selection the user makes phones are faded out or in with a fancy layout animation. You can add up to three phones to a comparison box and display a detailed view by clicking on a phone. If only it would be easier to guess what those Hungarians words mean...
The Infrastructure Software Development and Architecture (ISDA) group at MIT IS&T's (Information Services and Technology) is working on a software project called Thalia. Thalia is one of the key initiatives underway by the ISDA. Here's a description of Thalia from AIIM Expo Presentation - Web 2.0 and Next Generation ECM by John Newton, Chief Technology Officer of Alfresco, and Wilson D'Souza of MIT:
Thalia is MIT’s enterprise “Flickr�being developed for managing images and media (e.g. print, web, lecture presentations, online exhibitions.) Key to Thalia’s approach is tagging of media with customizable, user-defined metadata (tags, discussion comments etc).
Thalia's rich UI is developed with OpenLaszlo. This screenshot of Thalia is taken from John Newton's and Wilson D'Souza's presentation:

Thalia currently has a rich web-based UI that uses Flash through Open Laszlo, an Image Management Engine and a REST-like web interface, and an OSID that allows external applications to search Thalia data. This project would increase Thalia's scalability so that multiple repositories can be supported within the same server, limited UI customization per repository is available, file storage efficiency is improved to handle large numbers of images, and redundancy and reasonably rapid recovery in case of system failure is provided; as well as its functionality by enabling access control via MIT's authorization system and not just individuals and supporting user ordering of images in albums for use in slide shows and presentations. read more
According to the Stellar blog, Thalia will integrate with Stellar, MIT's Course Management System.
Stellar Images will soon integrate with Thalia, an enterprise image management tool developed by the ISDA group with MIT's IS&T department. Together they will offer Stellar class and project sites the functionality to organize, display, and compare images in a way similar to that of Flickr.
Thalia is not the first OpenLaszlo application at the MIT we know of. Three MIT students have been building Kagome, a web application that allowed users to design simple user interfaces by creating and manipulating directed graphs.
Doesn't that call for an OpenLaszlo event at the MIT? With part of the OpenLaszlo team working from out of Boston it shouldn't be to difficult to set up an OpenLaszlo event there. Henry, we need your help!