The main problem with RIA is their runtime platform. Flash is the most appropriate technology for it nowadays due to its market penetration and singular target. Sadly, there are major speed and stability problems. Anything beyond simple applications need careful architecting and exhaustive testing to run acceptably. Alternatively, Ajax may seem nice for certain effects, but it will always remain an uphill battle to track down all the browser differences and work around all the specific platform bugs. I thought we learned that lesson with DHTML six years ago. Also, Ajax also totally lacks any kind of multi-media capabilities.

He points out that applets might have the capabilities necessary, but the size of the JRE is a burden, and that "Java's reputation in this area has totally been compromised and that any user runs away as soon as the word applet is dropped."

Geert ends with a mention of the canvas element in Firefox and Safari - but also mentions IE7, which may not play along.

What do you think the future of rich internet applications is? Will Ajax get multimedia capabilities, or is Flash the RIA platform of the future, despite its lack of speed and stability?

Vincent, I updated my post and added two movies, one for Wingz and one for a similar (but much much nicer and more complete) application in OpenLaszlo. That about sums it up for me. Note that I use this on MacOSX where Java is installed and integrated with the browser by default. On Windows or Linux, it's a lot worse.

For me java/swing and laszlo could not be compared.And each one af it's one advantage.

With swing or wingz you could provide true application, with native look and feel. Lot of Enterprise application do not require flashy look and toy interface.

For sum-up it's not the same market.Wingz or swing , for me is for B2B and flash or laszlo are perfect for B2C.

For be clear, for our service department we already done some project with lazlo.But for Business inteligency dashboard or Enterprise application our client prefer wingz or swing application.(deployed with webstart)

In the long range, I think SVG is going to play a central role on RIA, as long as browsers adopt it, and some kind of standard high level widget toolkit is developed based on it.Regards,Henrique Steckelberg

I agree. Applets are dead and I think it's clear that anything that takes off is going to be built into the browser.

Of course the big problem is getting Microsoft to play along. It's crucial that Mozilla/Firefox gets a substantial marketshare.

Well, I can not tell which of these technologies will become a standard, the natural evolution will tell. If Microsoft will be pushing hard some of the XML user interface stuff, maybe this will become a standard. Considering the announced support for Open Document Formats for MS Word, who knows, maybe Mozilla's XUL will be adopted as a standard and also be supported by IE ?

Why do people think Applets are dead? Is it just the legacy of cross browser compatibility issues?

Our RIA framework product, Nexaweb Platform, is Applet based, but it has a base requirement of JRE 1.1 (works with MSJVM). You can write apps targeted at later JREs (most of our customers target 1.3 and later), but that's your choice, not ours.

We've worked hard on the graphics and component model (don't use AWT/Swing) so it looks good even though its JRE 1.1 based. Its not quite as pretty as Flash-based products, but our users are more concerned with maintainability and performance with their apps (one million lines of code, in one case; 1,500+ screens; real-time data access in a FOREX trading application)

Why do people think Applets are dead? Is it just the legacy of cross browser compatibility issues?

Our RIA framework product, Nexaweb Platform, is Applet based, but it has a base requirement of JRE 1.1 (works with MSJVM). You can write apps targeted at later JREs (most of our customers target 1.3 and later), but that's your choice, not ours.

We've worked hard on the graphics and component model (don't use AWT/Swing) so it looks good even though its JRE 1.1 based. Its not quite as pretty as Flash-based products, but our users are more concerned with maintainability and performance with their apps (one million lines of code, in one case; 1,500+ screens; real-time data access in a FOREX trading application)

I hope that backend performance is better than UI, because UI is tremendously slow. The problem is probably not in Nexaweb code but in Java plugin, but still, come on, dragging a window wireframe (not even with content!) is noticeably slow. I admit I have only Athlon 750, but how much power does one need for a wireframe to keep up with mouse cursor?

Part of our value-add is that we test to make sure the Applet works everywhere: IE 4+, Netscape 4+, Mozilla, Firefox, Safari, etc.

Keyboard support is pretty weak. Tab keys work in data-input forms, but do not work between controls.* In Order Management Demo, how to select a row with keyboard?* Select a row with mouse, click Enter. Input form opens up, good. Now, what can I do with keyboard? The order is shipped, so nothing to edit. Notebook tabs cannot be selected with keyboard. There is no Close button, and there is no key combination to close the window. * Close window with mouse, you back to table grid. The row is still highlighted. Press up or down, nothing happens. Where focus is, and if it is not in the table, why the row is still selected?* Tab groups are not cyclical* It is possible to use Shift-Tab to select Order/Invoice or Report header. Now, how do you select report type with keyboard? Pressing Enter does not help, focus is lost again.* Full-screen mode is not supported for Firefox, part of window is clipped. Apparently Firefox does not provide resize event that app is looking for.* Full-screen works for MSIE, but you cannot get into it or out of it using keyboard.* "Print orders" produces horrible flickering in Firefox* Print preview does not work in Firefox

Native desktop apps are responsive, provide better keyboard and printing support. HTML-based web apps do not require plug-ins, have zero download time and do not bother users with windowing, dragging and resizing. Applets and Flash are in the no-mans zone. Why would I have windows and controls, poorly emulated by a Java or Flash plugin, when I can have native application rendered by native window manager? I also can have native multitasking, device support, etc. Why would I want to have a desktop inside a desktop? An OS within OS?

Nexaweb Platform does allow you to create applications with much better keyboard support, but these two demos are not good examples of that. Thanks for pointing out that we need to provide better demos that highlight full usability best practices.

Full-screen mode is not supported for Firefox, part of window is clipped. Apparently Firefox does not provide resize event that app is looking for.

Hmm, I use Firefox all of the time and haven't seen that behavior. What version of Firefox and JVM are you using?

HTML-based web apps do not require plug-ins, have zero download time and do not bother users with windowing, dragging and resizing. Applets and Flash are in the no-mans zone. Why would I have windows and controls, poorly emulated by a Java or Flash plugin, when I can have native application rendered by native window manager? I also can have native multitasking, device support, etc. Why would I want to have a desktop inside a desktop? An OS within OS?

I've never understood claims that "HTML apps have zero download time". I've seen many HTML + JavaScript apps download a great deal of stuff. I admit that many simple web pages are small, but as script or code gets added to provide a more interactive experience all forms of web apps download increasingly more. Its a classic trade-off of functionality versus size, but the size never gets to zero... except for zero functionality ;-)

To your point about windows et al., all I can speak to is our customers' experiences. Most of them have explicitly wanted to replicate their native desktop applications in a web browser. The rationale is that maintaining the same look and feel eliminates re-training, which adds up to a lot of money for thousands of users. Eliminating the installed client has several distinct benefits: reduces the IT cost of installing and maintaining a desktop application, makes the application available to more/new users on-demand, and allows the application to be enhanced quicker as it is centrally managed with no installed client to upgrade.

I’ve never advocated that all web apps should move to XYZ technology; there are many classes of application where HTML or HTML/JavaScript/AJAX make a lot of sense. However, for those that want to mimic desktop applications, I think that Applet-based technologies, and specifically Nexaweb ;-), provide a good answer. I was trying to understand why Applets are viewed as such a negative by some.

Java 1.1 is just the minimum requirement for Nexaweb, it works great with later VMs as well. Nexaweb can work with Java Web Start, but we didn't want to depend on it. Our client container can work either within a web browser / Applet OR as a standalone application separately installed or launched via Web Start.

The feedback I've gotten is that many of our customers want everything in the web browser. It seems that Web Start has a worse reputation than Applets...

What I've found really surprising is that most corporate users do *not* have access to the latest and greatest VM. There are still a surprisingly large number of corporate users still on Win 95 and Win 98, at least in markets like hospitality and travel. Many call centers still only assume Java 1.3.

If we could assume Java 1.4 / 1.5, depending Web Start might make a lot more sense as we provide a declarative UI markup (XML) that requires a lot less coding than AWT / Swing.

However, since we're an application framework company, we don't want to prevent our customers from building rich Internet applications that target ancient Win 95/98 machines with the MSJVM.

Recent news about MS porting Avalon to Mac means that MS is serious about improving the way internet apps work. The have a valid reason, HTTP spec was not updated since 1999 and does not define what web application is and how it is different from hyperlinked document. The only thing left for MS is to steal the common name and to create a trademark off it, like Microsoft Internet 2.0

IAB Studio is a true RIA server with IDE, Reporting, Charting, Data Management, Workflow and many integrated business modules to manage your projects and users. It also has embedded administration management functionality including security, databases and much more.

IAB Studio has a pure java server-side engine and JavaScript controls for the users; so no other software is required on client side, just web browser without plug-ins, ActiceX, etc... to develop complex Rich applications in hours.

Comprehensive asynchronous communication mechanism used to manage exchange between user side controls and the server. No HTML, no XML but JavaScript arrays involved in the transitions. This means no tags (at least 40%) or extra parsing is involved here. Over 50 controls so far are available for the development work in WYSIWYG, real-time visual mode. Fast comfortable, compatible and well integrated with other IDE and frameworks IAB Studio has a good chance for the bright future.

Additional information, sample pages, demo application and other resources are available at http://www.worcsnet.com.

We have a 16 person team building a major enterprise-class RIA using ULC from Canoo (http://www.canoo.com/ulc/index.html). It is platform agnostic and delivers a desktop-like UI with a small, immutable client-side component.

This is excellent technology, pure Java, with a programming API that is an extensible subset of Swing. It should be considered by anyone considering a new RIA.

TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations technology projects - with its network of technology-specific websites, events and online magazines.