Navigation

RSS 2.0 New Entries Syndication Feed Atom 0.3 New Entries Syndication Feed

Show blog menu v

 

General

Use it

Documentation

Support

Sibling projects

RIFE powered

Valid XHTML 1.0 Transitional

Valid CSS!

Blogs : Archives

< Work on Elephant is going well   The monolithic Laszlo application >
Wasting a lot of time with Laszlo

A month and a half ago I started doing a small project in my off hours which just had enough functionalities to cover a bit of ground in Laszlo. I had been longing for a good excuse to try out this RIA (Rich Internet Application) technology for quite a while, so I took the chance when it presented itself. This was supposed to take only a couple of days of development and I even though I had never used Laszlo before, I was quite confident that after my experience with GUI technologies like DHTML, Swing, QT and Gtk I would be able to get started with Laszlo very quickly. This was also partly based on the collection of documentation that is to be found on the Laszlo website and on the amazing demo applications that you can try out there.

The thing that bothered me most initially, was the lack of tool support. Even though there's an Eclipse plugin that allows for quick testing, writing the application lacks all of the wonderful IDE features that I have grown used to when doing Java development. Anyway, I knew I just had to get over that and put it behind me.

After that, I began to be (and still am) horribly annoyed by the time it takes to recompile LZX pages (Laszlo's language). I mean I have a dual 2,5 GHz PowerMac G5 with 2GB of RAM and I have to frequently wait for more than 30 seconds to be able to check if what I wrote, works as intended. Now this is already bad, but it gets worse since most of the times it never works as you intended the first time off. The combination of bugs, vaguely documented features, abstract examples and crippled features (like the stripped down version of Javascript and very basic XPath support) forces you often to try out everything three or four times before you get the behaviour you want.

But wait, the ordeal is not over yet, I can accept that software has bugs, but this is the end-of-line release (2.2.1) of a production version of a product that sold for $20.000 in licensing before. You expect it to be rock-solid.

However I bumped into bugs and missing features like these:

  • there's no multi-line text editing component that displays a scrollbar
    I had to implement this myself by collecting bits and pieces from the forum and the Laszlo sources.

  • HTTP POST requests are crippled
    Sometimes, and for no apparent reason, the last character of your values are stripped off, you thus have to send most things as GET requests.

  • databound items can't be reset after editing
    You bind a field to text of an XML document, it's quite often that you want to allow people to cancel their edit and show the original values again. There's no support for this, you have to figure out and code a system for it yourself.

  • drag & drop is not natively supported
    You have to start tracking mouse events yourself and compare the location with objects on the canvas, nothing like drop targets or drag sources are to be found.

  • performance drops quickly
    Don't expect to be able to just code a little app and not worry about performance when using Laszlo, you'll have to start managing early, late and deferred instantiation and work with things like item pooling and replication. If you want fast startup time, you'll have to use their Krank optimizer which increases the size of your deployed application considerably and requires you to change your code to work correctly after the optimization process.

These are just the ones I remember most vividly, I encountered many others.

Sadly, even if all these issues are solved there's still one major problem that will not go away because it's part of the whole architectural design. You build a fully functional client-side tier that interacts with a server-side tier for persistent data storage, centralized logic, etc etc. Normally, you would let the client-side act as a controller and a view: the controller sends a certain message to the server, which interpretes it, returns the result and the client-side renders a view of the new state. While this model is technically sound, it's totally not user-friendly. The slight delays (200ms-900ms) that are experienced by network latency and all the processing, makes the application feel slow and very displeasant to use.

The only way to make it usable, is to write the same logic in the client-side tier as in the server-side tier. So, you update your view early according to the operation that needs to be performed, send the message to the server, perform the operation for real in the correct tier, send back the result, and instead of rendering the result you check if it is what you expect.

This forces you to write code twice, performing the same operation in two different tiers, in two different technologies, each with their problems, gotchas, etc etc ... needless to say that your productivity drops dramatically. I don't even dare to think about having to maintain changes to the application either, gradually updating things on both fronts ... eeek!

It's a shame, I really had huge expectations about Laszlo and even tried to sell it to a customer. I'm glad that project was cancelled or I would be in deep trouble.

posted by Geert Bevin in Laszlo on Mar 8, 2005 6:10 PM : 43 comments [permalink]
 

Comments

Re: Wasting a lot of time with Laszlo
That's a shame really. Lazlo could've been the answer to a lot of problems.

Luckily we have RIFE to solve a lot of our plain old HTML interface problems so doing that isn't so bad. :)

Re: Wasting a lot of time with Laszlo
I too am very disappointed after reading your post. I had downloaded and kept Laszlo for trying out later. It just seemed like a really cool product in the "almost too good to be true" category.

Let me know how you project goes…

Re: Wasting a lot of time with Laszlo
It's not a shame. Flash isn't the solution. If everyone would have tested it on some real scenarios ( not just those nice demos), that hipe about it wouldn't be here. I think everybody was blind because they made the move to opensource. Who worked with JFlex, knows that flash isn't the solution, and there's no such thinks like free beer :).
Re: Wasting a lot of time with Laszlo
The problems are inherent in JSF, Laszlo technologies which relies heavily on server for interactivity.
Re: Wasting a lot of time with Laszlo
> * there's no multi-line text editing component that displays a scrollbar > I had to implement this myself by collecting bits and pieces > from the forum and the Laszlo sources.

I really can't speak to this item.

> * HTTP POST requests are crippled > Sometimes, and for no apparent reason, the last character of > your values are stripped off, you thus have to send most things as GET > requests.

This is retarded and wrong. My application makes nothing but POST requests and I've not run into an issue whatsoever.

> * databound items can't be reset after editing > You bind a field to text of an XML document, it's quite often > that you want to allow people to cancel their edit and show the > original values again. There's no support for this, you have to figure > out and code a system for it yourself.

This has more to do with design of your application than with a particular flaw with Laszlo. If you want to cancel, rebind the thing, it's not that hard.

> * drag & drop is not natively supported > You have to start tracking mouse events yourself and compare the > location with objects on the canvas, nothing like drop targets or drag > sources are to be found.

Applying a drag state to an object will allow you to implement the drag part fairly easily. You could extend the state for drop support as well.

> * performance drops quickly > Don't expect to be able to just code a little app and not worry > about performance when using Laszlo, you'll have to start managing > early, late and deferred instantiation and work with things like item > pooling and replication. If you want fast startup time, you'll have to > use their Krank optimizer which increases the size of your deployed > application considerably and requires you to change your code to work > correctly after the optimization process.

Again, this is all about architecture and design. Since he's not showing us what he's up to, it's left to speculation if it's Laszlo's fault or his own fault. Most of his comments are vague enough to make me wonder if his handle on Laszlo warrants such criticisms in the first place.

I'm perfectly happy with Laszlo, in fact I rave about it to every developer I come across. That being said, it is it's own framework and you need to learn to work within that framework.

Also, for the most part, the included widgets you are going to end up discarding or rewriting for yourself anyways. The application we are developing, we've either rewritten a lot of the widgets already, or have copy and pasted and heavily modified them to suit or needs.

The nice bit about that is re-use. I write my component one time and re-use across multiple faces of the application. Once you've got that grunt work out the way, everything else is simple.

It's a young product, it's got acne, but it's coming along nicely and you won't find the same level of commitment and involvement from it's developers as you will with certain other products *cough*flex*cough*

Best,

Jon.

Re: Wasting a lot of time with Laszlo
> This is retarded and wrong. My application makes nothing but POST requests and I've not run into an issue whatsoever.

I'm sorry, I did have this problem and traced for a while, being baffled at how it was possible that the values arrived chopped off at the server. Simply removing the POST request type made everything work correctly. Maybe I hit a bad combination of circumstances, but I did have problems with it, no need to call me a liar. On another note, do you know how to declare that a datasource has to be POST by default in the tag declaration?

> This has more to do with design of your application than with a particular flaw with Laszlo. If you want to cancel, rebind the thing, it's not that hard.

Rebind means re-doing a request, that's not always an option. Also, it shouldn't be needed since the parsed XML document is still stored unchanged in memory.

> Applying a drag state to an object will allow you to implement the drag part fairly easily. You could extend the state for drop support as well.

You can … you could … but there's no support. Don't try to wrinkle yourself around this. The only way to reliably to drag and drop is to tie into the LzGlobalMouse event and to check your drop targets manually. Not very intuitive and I would expect this to be much easier in a RIA framework.

> Again, this is all about architecture and design. Since he's not showing us what he's up to, it's left to speculation if it's Laszlo's fault or his own fault. Most of his comments are vague enough to make me wonder if his handle on Laszlo warrants such criticisms in the first place.

No it's not, just look at the links I post and the technology limitation. Flash's actionscript runs 400 times slower than javascript in the browser (which isn't already very fast). How the hell are you going to do anything even slightly complex without slowing things down? Sure you can work around it and sure you can search for solutions to scrape for performance improvements, but that's not the point. The point is that you have to consider this far too early in application development and that it will make you waste your time on it. Doing DOM modifications by removing and adding items to pooled lists than are larger than a few items already shows noticable delays. I don't pretend to be a Laszlo expert, not by a long shot. I'm just an experienced developer that rarely spent so much time on things that are not directly related to the application that I'm developing. It made me think a lot of trying to support Internet Explorer 5.0 on MacOS 9 a couple of years ago for doing DHTML.

> Also, for the most part, the included widgets you are going to end up discarding or rewriting for yourself anyways. The application we are developing, we've either rewritten a lot of the widgets already, or have copy and pasted and heavily modified them to suit or needs.

I don't want to rewrite widgets myself. I don't think I should! I just want to be able to build a RIA with normal forms and with what people expect from it.

I'll just list a number of other problems I had:

  • fields don't support filtering or maxlength or something like it, yes you can do it manually yourself (and I did) but it's clumsy and doesn't feel 100% right since you have to remove chars after the actually appeared in the field. If the user does it fast enough, it's visible.
  • you can't do any file upload, yes you can open another browser window and do it in HTML blah blah blah, but that's not what I want, I want to upload the file with my form, all the data together
  • entering long text in smaller fields make the cursor scroll very weirdly, which is not very intuitive
> It's a young product, it's got acne, but it's coming along nicely and you won't find the same level of commitment and involvement from it's developers as you will with certain other products *cough*flex*cough*

How young is it?

Re: Wasting a lot of time with Laszlo
I apologize, I wasn't calling you retarded, just the statement. A few shots of espresso make me strong tongued. Sorry if you took offense.

As for your POST variables being stripped, again, I haven't seen it so I guess I can't comment. Are you using "DAVE" or some other proxy to look at the requests?

As for declaring POST in the tag, that can be done in the current version, afaik. I've had to do it through code, and I'm doing it a lot so I guess it's just one of those things I've put up with.

As for the drag and drop, you don't need to hook into the LzGlobalMouse at all. Apply a custom drag state and when the state is trying to determine the new location for the object you can do a hit test to see what view you are currently over. Or if you know your specific targets, you can check to see if the new coordinates are in bounds.

You're working against two limitations: Flash and Laszlo. Laszlo is the easier to get around, imho. Writing custom widgets, while not something you personally want to do, does enable you to overcome frustration by giving you complete control. I come from a UI development background, so developing custom widgets is sort of my thing.

As for the browser upload … when Flash can do it, I'm sure you'll be able to do it in Laszlo, but you can't blame Laszlo for Flash's shortcomings. You couldn't do the same thing in Flex either.

In fact, a lot of your complaints you're going to find in Flex as well. I prefer Laszlo simply because there is a lot of support to be had from the actual developers and I can change the source code if the need arises.

It's young enough that it's base of deployment is so small that real world feedback is still making it's way into the new versions.

I guess my point is, will all due respect, if the shoe doesn't fit, then don't wear it. But find me an RIA platform as flexible as Laszlo that is free, works in 90% of the browsing world, etc.

I can't think of any.

If you'd like to see a demonstration of the application I'm building, please email me offline and I'll shoot you a URL.

Best,

Jon

Re: Wasting a lot of time with Laszlo
Can you provide a little excerpt of the application that you were trying to build. Did you use any supporting technology such as Spring or struts or hibernate or ibatis.

Re: Wasting a lot of time with Laszlo
Jon,

Please do let us know about the application you are building. We are all interested to find out more about Laszlo. I can tell you lot of us are itching to try their hands at Laszlo because of the the same reasons you mentioned. Any reports about it is ery interesting to the community.

--Angsuman

Re: Wasting a lot of time with Laszlo
> Sorry if you took offense.

That's ok, I didn't, I just like to reply strongly when someone speaks strongly ;)

> As for the drag and drop, you don't need to hook into the LzGlobalMouse at all.

You don't for some cases, but if you want to have some visual indication in the drop target which shows that it accepts a drop, it's not possible without. This is because Laszlo states lock all mouse events to the object that holds the states. No mouseover is being sent anymore to other objects. Even antun on the forum acknowledges this.

> you can't blame Laszlo for Flash's shortcomings

Yes I can since Laszlo decided to use Flash as their initial runtime platform. You can clearly read that 'one of Laszlo's' benefits is that it's flash-agnostic and that they plan on targeting other runtimes later. So if I'm bitten now by the limitations of Flash, it's because Laszlo developers decided to use that first instead of any other alternative.

> I guess my point is, will all due respect, if the shoe doesn't fit, then don't wear it. But find me an RIA platform as flexible as Laszlo that is free, works in 90% of the browsing world, etc.

Let me think … Java, Swing, Thinlets … but they have to download a plugin (which is also needed for flash even though default penentration it better). Don't get me wrong, I'd love to like Laszlo, I just think that currently one wastes a lot of time when working with it.

Re: Wasting a lot of time with Laszlo
Sorry I read the forum thread backwards so I thought Antun acknowledged ;) Still other users had the same problem when you look on the forum.
Re: Wasting a lot of time with Laszlo
> I guess my point is, will all due respect, if the shoe doesn't fit, then don't wear it. But find me an RIA platform as flexible as Laszlo that is free, works in 90% of the browsing world, etc.

btw, if 90% is your target, just use Ajax or ActiveX and write only for Internet Explorer, you'll be at around 92%

If you do Ajax right (supporting Safari and Gecko browsers), you'll hit 95%.

Re: Wasting a lot of time with Laszlo
Maybe you should take a look at Canoo's ULC: http://www.canoo.com/ulc/index.html

ULC is a pure-Java RIA tool. Very efficient and mature.

--Etienne

Re: Wasting a lot of time with Laszlo
Just started looking at Canoo, but it doesn't seem to be opensource
Re: Wasting a lot of time with Laszlo
The item that keeps my company from taking Laszlo seriously is the lack of support for internationalization. Sure, beta 3 takes a stab at it, but it still falls far short.
Re: Wasting a lot of time with Laszlo
Yes, the lack of internationalization is worrying me also, though at least it's now being looked at.
Re: Wasting a lot of time with Laszlo
You can email me at misterfingers@gmail.com if you'd like to see the app.
Re: Wasting a lot of time with Laszlo
Concerning ULC - right, it is not OpenSource, but licenses are not that expensive and you only need a developer license. And writing code with it it is as smooth as writing Swing. We have speed up our web development dramatically. We only need half the time compared to writing an html app.

Regards, Ted

Re: Wasting a lot of time with Laszlo
> Can you provide a little excerpt of the application that you were trying to build. Did you use any supporting technology such as Spring or struts or hibernate or ibatis.

Yes, I will release the entire application soon as GPL. It's written with the RIFE framework for everything that happens on the server-side. If I find more time, I plan on implementing different RIA client-sides that communicate with the same server-tier. Could be a useful resource to compare technologies.

Enjoying My Time with Laszlo
Hi Geert,

I'm sorry that you were dissapointed with your experience with Laszlo. But to be honest, it seems to me that you started off with pretty unrealistic expectations. After all, just a few days to learn a language and develop an application with it seems rather optimistic to me. How long have you been programming with Java? And how fancy an application did you create with it on day 2? Week6? If you've learned Laszlo and created an application with it in 6 weeks of noodling around in your free time I rather think that that says something good about it.

Now I've been jealose of Java development tools for a long time, pretty much since I started developing clients for the internet instead of native applications(whether html, dhtml or flash) . And I'd be the first to say that, if your users are comfortable with sun's confusing download process followed by a 5MB web start plugin, then that's probably a good choice for you. Either canoo or some similar system may match your expectations better. Hell, use c and perhaps your whole app can be under 5MB and you'll have great tools. But there's a problem with that, isn't there?

Now in five years that 5Mb download might not be a problem and sun may eventually let others show them how to make a download process less confusing. But for now, if you want to write something to work seamlessly over the internet I think you make a good choice with Laszlo. Sure you have to worry about performance, and the flash player has it's limitations, but everywhere in programming there are trade-offs. That's the trade off here. And folk are interested in creating both dhtml and java runtimes for Laszlo as well, which means that in the future you may be able to make a choice between delivering your Laszlo app via the flash player with audio and video, or a dhtml version without the audio or video, or a java version with both the audio and video and faster and with things like file upload as well, but with a larger download and more confusing install process.

In order to evaluate whether you are wasting your time with laszlo, these are all factors. Though your starting expectations may have been too high, laszlo is moving very quickly. 2.2, the version that you have probably been using, is less than a year old, and each of the 3 betas are making significant headway on the remaining problems with it. For example, I think you will find that the problem that you describe with the post data is a flash5 player problem (and a minor one) and that any of the 3. betas will fix it just by using the 6.0 player. That is why Jon wouldn't have seen it at all, he's probably using 3.0b1, for which there is a binary install. You'll see similar improvements to the javascript support. Everybody is interested in better xpath support, but what is there is perfectly well documented and works perfectly well if you take the 5 minutes to read that part of the guide. Now since instant saxxon is 400k there is a clear trade off to consider about how much of xpath we really need for an internet app, but a slower interpreted xpath might be convienient as well. Your input and help would surely be appreciated, I imagine.

Still the limitations are pretty reasonable and there is plenty of reason to believe that you are not wasting your time if you plan on your application having real use. Of course for business, the end user doesn't care if it was difficult to create or not, just if it is good and just using the BEHR paint application is enough proof that you can create something good with Laszlo. You many need to work more with it than with preconceived notions of what you'd like it to be, but that's like any language.

Now since you are apparently very open source oriented I would imagine that you expect that it should be some work right? I mean Apache's name indicates that a lot of folk had to contribute those patches, yes? Unless your application is only for Java developers, I anticipate that you'll eventually come to the conclusion that Laszlo is some work, but not a waste of time, and I look forward to seeing what you do both with it and for it.

I certainly am really enjoying my time with Laszlo, and have a lot of hope that it will prove usefull as a language both now and in the future.

-Cort :)

Re: Wasting a lot of time with Laszlo
Hi Cort,

thanks a lot for your post.

The application I'm writing is really extremely simple. Just a bunch of forms on several panes with a couple of databound lists that are reorderable. These functionalities are for me considered as the absolute bare-bones of a RIA solution. I really don't try to do anything fancy.

I expected it to take only a couple of days after having read a lot of the manuals and tutorials. I also experimented for a few days with the simple examples in the 'Laszlo in 10 minutes' guide. So I didn't just dive it without having prepared myself. The point I'm making is that I have no problems at all to understand or grasp any of the concepts or the language, it's all pretty obvious to me. I was however bothered by all these things I mention, which are unrelated to the comprehension of the technology but drag down productivity a lot.

Yes I know that some of the limitations are Flash related, but I'm sorry, that's not my problem. I'm using a product to solve problems for me, not to create additional ones. If the flash runtime was selected by the Laszlo team, then I judge that as an inherent part of their product, I'm not a Flash developer.

Also, please don't twist my words around (others already did it enough). I said that I wasted a lot of time by having selected Laszlo, I never said that the technology itself was a waste of time. There is a lot of value, but it really still needs a lot of love from the development team to make it possible to be considered as a productive solution. Currently I can't even think about trying to sell a solution with it, it would just be too damn expensive to develop … and still run slowly and with bugs.

Yes I tried out the BEHR application, and from looking at it, almost everything has been custom-made. I don't see many of the standard components. I'm not interested in spending time in developing custom components, I'm only interested in a solution that gives me everything that I expect from plain HTML, with some of the nice features of modern web apps (in place updating, asynchronous data submission, ...).

I'm sorry, but I don't see where your statement about open source comes from. I select certain open source solutions because they make me do my job better. I already am totally swamped with my own open source projects and don't even have time to take care of all outstanding feature requests and issues there. Even if I'd want to, it would be totally impossible for me to dive in deeply into the internals of Laszlo. Open source is not an excuse for awkward usage.

I do hope 3.0 will be better, and I'm monitoring the Laszlo site daily to check if beta 2 has arrived. Some of the features and fixes there could make a difference.

Best regards,

Geert

Re: Wasting a lot of time with Laszlo
I just ran into another annoyance which is setting me back again, with probably a few hours wasted trying to find why and how (already 2 of them are spent).

The documentation clearly states that you can use Flash SWF files as multi-framed resources and switch the frames directly as attributes, it's also supposed to provide methods like 'this.stop()' and attributes like 'this.totalframes'. Well, I did make a 2 frame (key frames) animation in Flash (just a button with off and over state).

When I don't put action script on the frames, it just loops repeatedly in Laszlo as expected. The two frames are thus played. However, none of the resource interaction methods work. Laszlo reports that the resource has only one frame, the stop method does nothing, … To check further, I tried an SWF file from the docs and with those it works. Why oh why! It's a mystery! I've read all the media related chapters in the docs, but nothing is mentioned about maybe having to export the animation in a special way (I export as flash 5). Now I was going to search the forum, but they're down.

Tell me again that I'm not wasting time?

Re: Wasting a lot of time with Laszlo
Turns out movie clip instance variations aren't handled by Laszlo. I had to create separate movie clips for both button states.
Enjoying My Time with Laszlo
Hi Geert,

Of course if you are doing this for fun and you're not enjoying yourself, then maybe you are wasting your time. Also if you think that vanilla html would have worked just fine you might be wasting your time. But if you want to create a nice application and you are willing to put in the work to make it that way, then no I don't think you're wasting your time. Of course it probably makes a big difference what your application is all about and I don't know what that is.

But anyway in the last 20 minutes I just checked out stop, play, totalframes, and seek on a swf animation for the first time and everything worked just as I expected it would.

There is is also a mail list for users by the way. I'm certain someone could've helped you with this one.

http://www.openlaszlo.org/mailman/listinfo/laszlo-user

Ps I like your response question thingy. It's nice to see simple math used to solve a problem in this way.

Anyway I wish you the best of luck and I hope your application turns out nice and that you decide that maybe it was worth it in the end. Time is the wisest councelor.

-Cort

Re: Wasting a lot of time with Laszlo
This got my attention. I responded on my blog: http://www.laszlosystems.com/~adam/blog/archives/000030.html

Adam Wolff

Laszlo Systems

Re: Wasting a lot of time with Laszlo
Hi Geert, hi folks,

I agree 99% with geerd. I've also spent a lot of time in exploring the possibilities of Laszlo. The first look on the sample applications has been amazing. After the second look I got the impression that I've been perfectly faked by the nice look of some unfinished applications :|

From the technical point of view it's a more or less (more less) good combination of technologies available today. The decision to base the whole system on the Flashplayer is clear - 100% availability on all systems. The crippled 'SimpleJavaScript' approach decission seems to be not so clear to me. To base the backend on Tomcat/Java is the right way.

But I think the real problem is an architectural one. To define the static structure of an userinterface by a kind of XML-Structure works fine. But if it comes to 'dynamic behavior' most (maybe all) such approaches suffer from unavailable,'usable' mechanism to handle that.

Maybe it behaves different for most of you, but it takes me about 10% of time to create the UI-Dialog's visual presentation and another 90% to write the business logic and the data connects behind. No matter if I do it by Java/Swing, JSF, QT or MS.Net.

Maybe I'm the only one that thinks that way, but most of my projects are real-world applications not only prototypes that has to be built asap to have something 'colerfull' to show to the customer, and get the contract. And that's exactly what 'generic' (I've learned to hate this word ;) ), XML based approachs are good for - Prototyping. Laszlo is no exception.

Just to get me right, the result and thats what the enduser is faced with, can be really nice by use of Laszlo. But I would recomend to think twice if it is worth the needed efford.

Maybe this will change by the near future. Maybe Macromedia will do the needed enhancements on their FlashPlayer. Maybe Laszlo will do the shift to the right direction. Maybe ...

My conclusion: Laszlo isn't the richClientWebDevelopment - 'silver-bullet', not yet. But it is worth the time to have a closer look on it.

Thanks.

(PS: Sorry about my terrible english - my first language is german ;)

Re: Wasting a lot of time with Laszlo
This is really a hot topic. I have been evaluating different RIA approaches for a while and no project is the silver bullet. At the moment i am quite happy with the AJAX approach together with DWR but its IMO still too much work to get the desired results.

OpenLaszlo fascinated me not too much because i am not that of a flash enthusiast.

On the other hand one thing i really want to try is thinlet. Conceptual this is a very good approach but the backing is not that strong, so i dont know how this project looks like in the future. Everyone fears betting on a horse that will only run for 2 rounds or something. But perhaps i am wrong and the Thinlets userbase is that bigger than i imagine.
Wasting a lot of time with misinformation and lack of knowledge
I suggest all of you flash bashers try to write a fully functioning cross platform capable trading system with graphic rendering engine that simultaneously handles multiple realtime data sources and thousands of rows of data in jflex, java, AJAX or html based front-ends...once you've done that you can come back and talk about flash inferiority. My company has done both...worked on many methodologies and currently completed a complete trading and market making tool for derivatives modeling and trading that puts the rest of the the web able applications to shame...and runs on every platform and as an exe too! AJAX may get there over time...but javascript with its multiple runtime interpreters and undisciplined standards implementation will never suffice for a deployment language or platform. Our project, could not have been done within its budgets and functional targets without flash, java and remoting/SOAP...

The application is blazingly fast and loads in seconds...requires no special installs or machine configuration...other than the flash plugin...has an interface specifically tailored for the complex modeling and data visualizations that the task requires and again could never have been accomplished in any other way. Native binary transmission, serialization/deserialization of objects is the way to go for fast efficient applications...xml, html and freetext for open market data distribution and services...for consumption by developers using diverse technologies. Flash is not the problem...

the problem IS...

developers with lack of coding ability and discipline...
developers who do think that sexy interface rendering and animation is somehow inferior to their identities as elitist/programmers.
lack of knowledge and experience in a new paradigm...

The problem is not flash.

The amount of misinformation on these threads is truly amazing.

Personally, i do not see the openlaszlo project as a viable solution for most development efforts...i am not that knowledgeable about the system details. However, laszlosystems clearly has done some great work. which is certainly food for the "sexy demos" but "stupid non practical flash" line of thinking - sorry guys...but you are mistaken...

I am not discounting the there are applicable, useful and beneficial uses of AJAX and other assorted technologies...we will certainly use them...we use .net too for some services and excel integration...however, none of these technologies integrate the range and breadth that a smartly designed and architected flash application can deliver.

Additionally, if anyone thinks that Adobe and Macromedia are going to let the tremendous opportunities of rich ubiquitous display media centric capable postscript rendered applications screw up...i think you are sadly mistaken. In addition, many of the content capabilities that Adobe is building into is suite of Flash enabled interface components is and their core application language will connect the professional filmmaker to the best application designer and multimedia specialist...something no other company or alliance has the capability of doing...investing a little time getting to be a better flash programmer would go a long way to taking advantage of the coming opportunities.
Re: Wasting a lot of time with Laszlo
Wow ... interesting rant. Anyway, I suggest that you read the next posts I wrote about open-source and Flash in this blog: http://rifers.org/blogs/gbevin/laszlo

I am no raw Flash programmer, and will probably never be, there's only so much one can be knowledgeable at and I'm already overloaded. However, Flash has a lot of issues and the virtual machine and byte-code execution performance up to version 8 included is horrible for applications, it was never intended to be used for it! Why do you think that Macromedia went through all the lengths of rewriting it completely and announcing version 8.5 that much ahead of time? Since there is a real problem now with the current versions and they want people to know that it is being addressed.
Re: Wasting a lot of time with Laszlo
In response to those issues i point out that java applets, javascript and any other interpreted, virtual machine technology has significant performance issues...however, built into the flash platform is native support for deserialize and serialize in C++...we are currently moving around thousands of rows of data....and in additions displaying and rendering them with no performnace issues what-so-ever. Lengthy calculations and data summaries are off-loaded to java on the server. However, a good example of what is possible is that we receive hundreds of messages announcing a new underlying security stock price or derivative calculation updates...and are able to without significant performance encumbrance route those messages (with listeners and event dispatches) to all trading modules that require the updates...locate the records that need updating in the front end and then execute the update. These modules include a trade and price streamer, market monitor, modeler, security, live charts and other components which often have interdependencies)...performance has not been an issue for us and has been significantly better than Javascript, or Java on the front-end. The improvements to the 8.5 coding engine do offer significant enhancements to performance...which i am excitedly looking forward to. However, at this juncture, good architecture is the primary performance enabling tool. Most of the issues that I ran into as far as performance was concerned simply required better understanding of the problem and a better more completely designed implementation. Macromedia's open source components and powerful libraries and increasingly diverse plugin capability (like for eclipse and SEPY) are benefits that offer tremendous opportunity. Additionally, the fact that I can migrate seamlessly across platforms and product versions with minimal code issues is tremendous. Just think about it. we wrote this exceedingly complex application and now get to implement tremendous new font rendering technology, code options and huge uptick in performance via 8.5 without significantly changing code. It is nearly impossible to find a development platform that offers the capability migrate to these types of enhancements seamlessly. Additionally, our application is not only deployed as a single unit with all of the modules linked and running as a single application image...but many of the modules are deployed as standalone apps...for example trade and quote entry are stand alone apps for salespeople as well as integrated into the main application image for traders and administrators etc. What other technology could i easily...with no code changes...make that possible?

I'm not saying that flash is the panacea...however, it certainly is a platform upon which significant functionality can be efficiently and effectively created, developed and distributed...apparently contrary to popular belief. On the whole, performance and execution issues are the less of issues with flash than with any other front-end development suite i have used...which includes many IDE's which create fully machine native application Images and virtual machine stuff like Park Place's Smalltalk. Many of these were really nice ideas, but when it came time to execute lacked the ability to provide full control over every aspect of the application's behavior, events and look and feel. Flash gives us that, in addition to a migration path and rich multi-media support. We are currently working a video and audio conference/chat with secure IM for users logged into our trading system...this is not a big project with flash...in what other environment could that be said?
Re: Wasting a lot of time
check out these guy are really talented and know how to build flash apps too... http://www.ego7.com/
Re: Wasting a lot of time with Laszlo
IBM is backing openlaszlo with their own developers in their R&D shop... They are developing an Eclipse plugin and are even integrating openlaszlo into JSF as the View layer...

More info here: http://www.alphaworks.ibm.com/tech/faces4laszlo


If IBM is involved... Things can only get better.
Re: Wasting a lot of time with Laszlo
The Flash 7.xx player on Mac is buggy and generates a malformed request. To observe, grab a sniffer program while executing the action within the Flash interface. The HTTP request is malformed. The server cannot identify the parameters in the POST, This is purely a Mac/Flash player issue!
Re: Wasting a lot of time with Laszlo
8):);)=)
Re: Wasting a lot of time with Laszlo
Check out http://www.cooqy.com for an example of what OpenLaszlo can do today...
Re: Wasting a lot of time with Laszlo
For sure Laszlo Cannot handle huge applications and they have lot more distance to cover.
Re: Wasting a lot of time with Laszlo
Please read my other laszlo posts: http://rifers.org/blogs/gbevin/laszlo

Since this post I've changed my opinion about it.
Re: Wasting a lot of time with Laszlo
I did read your other posting before writing the comment, You should try and create some complex app and see how its behaving. For example try having lots of views and check the memory on your system. The destroy does not work even when you call on each views and fields. If the destroy is invoked on root say topic it throws action script error.
Re: Wasting a lot of time with Laszlo
I've have been developing a fairly complicated application for my job using OpenLaszlo for just over a month. The version I am using is 3.3.3 so maybe they have improved it a lot since this post was made. When I started I had no knowledge of OpenLaszlo whatsoever but a strong knowledge of other Web languages (XHTML/CSS, JavaScript, PHP) and decent knowledge of other programming languages (C++, Java, Visual Basic). Now, I too was frustrated with the learning curve involved with starting to use OpenLaszlo and I think there is a lot or room for improvement (namely making the code behave more like a web scripting language (like PHP with HTML) with directly embedded SQL queries to grab data to make it easy to pick up for people with experience with other languages).

However, in 5 work weeks myself and one other coworker have almost completed a fairly complex video editing system complete with drag and drop functionality and a rich video player (which is far superior to anything the Quicktime or Windows Media player browser plugins can do). So if you have some patience and can afford to give OpenLaszlo some time it can be a useful tool. The people in the OpenLaszlo coding forum are very helpful at answering your questions about how to do things and also giving workarounds to use for OpenLaszlo limitations and bugs.

I had to give OpenLaszlo about 80 hours of coding experimentation time before I started to get a decent grasp on the language and its quirks, if you can afford the time to play around with it to learn it can be beneficial.

Kevin
Re: Wasting a lot of time with Laszlo
Well, Adobe Flex2 is from a big company and is the same thing.
Re: Wasting a lot of time with Laszlo
Flex is not the same thing ... first ... it's not open-source and second, it only renders to Flash.
There are a lot of other things to consider, like Laszlo have been around years longer and the easy SOLO deployment.
Re: Wasting a lot of time with Laszlo
i've wasted too much time on Laszlo too, anyway, ITS NOT OPENSOURCE, it's just a open source compiler that compiles a format that is NOT open (a white paper on the SWF format exists, let's all go out and write an app that can do SWF)
"Open"Laszlo SUCKS
Re: Wasting a lot of time with Laszlo
It compiles to DHTML too now, which is as open as it gets, so you got that statement totally wrong. Anyway, as I replied to many other comments here, I have since this post revised my opinion on OpenLaszlo and you'll see that if you read my other blog posts about it. I now think that once you get to know it, it's a very good solutions for RIAs.

Add a new comment

Comments on this blog entry have been closed.

< Work on Elephant is going well   The monolithic Laszlo application >
 
 
 
Google
rifers.org web