• Home
  • About
  • Sample Apps
  • Cool RIA Sample Apps: Buzzword, Parleys.com Beta

    March 16th, 2008

    Buzzword

    In the second Canoo RIA newsletter, we added a new category featuring cool sample applications. Here’s what we had to say about Adobe’s online word processor, Buzzword:

    Buzzword (http://www.buzzword.com/) an online word processor is an example of a successful Rich Internet Application.
    The application is based on Adobe’s Flash, Flex, and AIR technologies. Users access the software by means of a hyperlink and can open, write, and edit documents just like in MS Word. A local installation of the Buzzword software is not required. Like Google Docs, the documents are accessible online.

    Buzzword was purchased by Adobe in October 2007.

    For further details see:

    http://blogs.zdnet.com/Stewart/?p=292



    Parleys.com Beta

    Another cool Adobe Flex / AIR application that I’ve seen running on the screens of our developers’ laptops is Parleys.com. Christian wrote about this application in his JavaPolis blog post. Parleys is an online application to view the JavaPolis video and slides (there is a Canoo talk as well, but the sound is very low and hardly audible :-( ). After installing Adobe AIR, the videos can be downloaded and viewed offline. A cool feature if you’re travelling with lots of time to spare.

    For further details on how to login into the browser version or how to install the standalone version, see this page.

    Last week beta version 2.1 was released.

    And here are two screenshots (click for large view) showing the application:

    Parleys

    Parleys - Video and Slides


    Adobe open sources BlazeDS

    January 15th, 2008

    This has been discussed in several Flex blogs, but I thought I’d add a cross-reference here:

    Adobe has open-sourced BlazeDS.

    “BlazeDS is Adobe’s server-based Java remoting and messaging technology. Adobe had recently announced that it is contributing the proven BlazeDS technologies to the community; previously it was only available as part of Adobe LiveCycle Data Services ES.”

    This is great news for Flex developers because BlazeDS simplifies the client-server split. In addition Adobe published the AMF specification, its binary message format. Have a look at James Ward’s benchmark tool at http://www.jamesward.org/blazebench/.

    See also Ryan Stewart’s blog post on the BlazeDS announcement.

    And there are plans to develop a Flex plugin for Grails using BlazeDS.


    JavaPolis 2007 - Desktop RIA and Mobile Apps rock the Scene

    December 13th, 2007

    This morning, I attended the second keynote at JavaPolis 2007 in Antwerp. Although it was not the “big” keynote (that one was held by James Gosling the day before), it was definitely the more interesting one to me. This is why:

    First, the Java community was hit by two extremely cool Flex demonstrations: at the beginning, Bruce Eckel and his co-speakers showed a Flex-based data manager framework that allows transparent and smooth synchronization of client-side and server-side business data, even between multiple clients and with clustered server nodes. Data changed on one client gets synchronized to the server (for example: to all cluster nodes) and then back to all connected clients. Not only does it allow the application to determine the “transaction commit point”, but it also provides support for conflict handling (again, the conflict reconciliation handling can be fully controlled by the application). Whenever a client goes offline, data changes are locally tracked and synched back to the server as soon as the connection is re-established. Failed cluster nodes get updated as soon as they rejoin the cluster. In addition, the data manager can also be used with Ajax applications. Although the demo application looked quite “ugly” (for a Flex demo …), the technical brilliance led to spontaneous applause …

    The second rocking Flex demo was Parleys.com beta: well-know for slick and smooth video and slide show streaming, Parleys.com is about to get a face-up. Well it’s more like a revolution. While it was based on Ajax in version 1.0, the new technology chosen is Flex. Of course, the visual effects are extremely slick and appealing. But what is way more interesting to me from a RIA point of view is the integration of the online, browser-based version with an offline Parleys.com client application based on AIR. When both clients are running, the browser-based one automatically gets enhanced by features available in the offline client - such as offline video availability - by smoothly adding new buttons and actions to the online client. That really rocks from a user experience and integration point of view! The new Parleys.com version is about to be released in Q1/2008.

    But there is a fight-back from the Java side: also worth mentioning here is the Java approach of browser-based RIA that was demonstrated in the IRIS sample application. First showed to the public at the last JavaOne, this application does not stand behind the Flex-based ones in any way when it comes to visual effects. The IRIS approach smoothly integrates Java applets with an ajaxified Web application. It was almost impossible to say what feature was powered by the applet and what was done using Ajax - and what was done by tightly combining these two technologies even for a single user interaction. The revival of the applets!

    To me, all these demos really show to me that RIA is still steadily increasing in importance. There is way more than just adding a few fancy Ajax effects to static web page - and the big vendors and technology owners are pushing the car forward. And the desktop is really moving back into the RIA world - it is no longer all about pure (and old) browser technologies, but about JNLP, applets, AIR & Co.

    But there was also another unexpected “flasher” in that keynote: JavaME. JavaME? Isn’t it dead? No, it’s not! Sun showed up with the new Netbeans Mobility 6.0 that extremely simplifies the development of JavaME-based games. But not only games, also business applications are finally showing up in the JavaME space (and are supported in a graphical way by the mobility tool). Using the SVG-rendering facility available in the MSA (Mobile Service Architecture), these UIs now can really look awesome (forget these old and ugly “text-based” mobile UIs …). And by adding JavaFX Mobile to the scene, Sun is pushing the Java mobile stack even further. As with Google’s Android, Sun aims to provide a complete software stack based on a Linux kernel that offers Java-based APIs to all phone capabilities which are then used by all the device vendors, third party RIA software service providers and the community to develop new-class mobile RIA applications. It will be very interesting to see whether Sun or Google (or both?) will make the deal with their approach. In the end, I think the device vendors are going to decide this battle: every cool software platform is only worth noting if there are a big bunch of devices available that ship the software by default.

    A few resources:

    All this mobile stuff now really seems to shake a leg. Very exciting!


    JUGS RIA Event

    November 14th, 2007

    Together with about 80 other persons (estimated by a JUGS member) I attended the JUGS RIA event. Bruno started with a short (15′) introduction into RIA for Business. He started with an excursion to the past and showed how the trend moved from terminal to desktop application, then to web applications and now finally to desktop-like Rich Internet Applications. For enterprise applications he listed three major opportunities:

    • Highly productive Tools with powerful user interfaces
    • Portal environment
    • Mobile devices

    While generally stressing the importance of interaction design, Bruno clearly explained that rich applications for mobile are not shrinked RIA applications but need to be tailored for the device. (A dedicated IPhone user speaking :-) ).

    Then Björn Müller was giving us a reality check for AJAX. In my opinion this was the most surprising talk. Björn presented some hard facts about AJAX which in his (and mine) opinion clearly limit the use of AJAX. Some of the facts to consider when planning an AJAX application:

    • Performance. JavaScript is 20 to 50 times slower than Java. Period.
    • Frameworks. There are a lot (too many) frameworks around which need evaluating. And each come with KBs of JavaScript code
    • Cross Browser Issues. Most of them can be solved but at a severe cost.

    The message I take home from this experienced AJAX developer is that he considers it a risk to develop rich applications for power user with AJAX. (Which was my gut feeling for quite some time, but now I have some facts. The slides will be published on the JUGS site for you to judge for yourself). But that AJAX is a very appropriate technology for application with casual users as the target audience.

    Finally Ryan Stewart, the Adobe RIA evangelist was speaking. It was very disappointing that he couldn’t show us most of the demos due to the lack of internet connection. In his talk he presented several RIA technologies, well known like JavaFX, Silverlight and Flex and others like Curl etc. One reaction he got from the audience was that they are more confused concerning RIA technologies than before the event. Interesting was that also Ryan sees a big potential in rich application for mobile devices.

    All in all a very interesting event, I only hope that other attendees felt the same. Feel free to comment and post your opinion.


    RIA Event with Björn Müller and Ryan Stewart

    November 2nd, 2007

    JUG Switzerland event on RIA and AJAX

    As mentioned in this post, Java User Group Switzerland (JUGS) is organizing an event on Rich Internet Applications and AJAX on November 14th, 2007 at the Technopark in Zürich, Switzerland.

    jugs_logo_klein.gif

    Sign up for this event at the JUGS site. The event is free for first time attendees and JUGS members.

    I am really excited that this event is taking place and that Björn Müller and Ryan Stewart are coming. The talks will cover various RIA technologies and help show how these technologies improve business applications. We hope to start a fruitful discussion, which will benefit all attendees and provide a summary of current developments in the RIA space.

    Pilatus

    BTW, we are taking the RIA Mountaineer to Pilatus for a RIA summit ;-)

    Ryan Stewart calls himself the RIA Mountaineer. And being in Switzerland, we thought that he must see the mountains while he is here.

    We would like to invite RIA enthusiasts to come with us on our excursion to Pilatus on Monday morning, November 12th (further details) and discuss RIA developments. Please contact me if you are interested in coming along.

    Further links:

    JUGS event on Rich Internet Applications and AJAX
    RIA Event in Zurich on 14th November 2007
    Pilatus excursion details on Upcoming


    RIA Link Roundup

    September 27th, 2007

    Here are a couple of interesting RIA links that I stumbled across during the past week:

    Java FX
    Javalobby has posted an interview with Tom Ball, lead architect on the openjfx compiler project:

    We’ve been interviewing lots of design houses, and the biggest complaint they have with Java-based client applications is how much longer it takes the Swing engineers to turn a design cycle than the designers do — the designers can crack out a design in a week which their developer counterparts take three months to implement.

    It is definitely an encouraging sign to see that Sun is moving ahead in this area.

    10 Future Web Trends
    Richard MacManus lists RIA in his list of 10 Future Web Trends:

    As the current trend of hybrid web/desktop apps continues, expect to see RIA (rich internet apps) continue to increase in use and functionality. Adobe’s AIR platform (Adobe Integrated Runtime) is one of the leaders, along with Microsoft with its Windows Presentation Foundation. Also in the mix is Laszlo with its open source OpenLaszlo platform and there are several other startups offering RIA platforms. Let’s not forget also that Ajax is generally considered to be an RIA - it remains to be seen though how long Ajax lasts, or whether there will be a ‘2.0′.

    Flex vs. Silverlight
    James Ward compares Flex and Microsoft Silverlight in this interview published at InfoQ.

    Do you use AJAX, RIA or other Web 2.0?
    Eric Chiu asks in this thread on LinkedIn (you’ll probably need to log in to read the thread):

    Do you use AJAX, RIA, or other Web 2.0?

    Do you think AJAX made the web easier to use? What are some of your favorite AJAX frameworks? I would like to know how companies are using AJAX to improve usability, interaction and collaboration.

    Most people in the thread reported that they are using AJAX libraries such as Prototype, JQuery and RIA tools such as Adobe Flex. Perfomance and security are major concerns. While others cite customization and extensibility as being important.


    Flex-Ajax-Bridge: New in Flex SDK 3

    September 3rd, 2007

    Adobe Labs
    The Flex-Ajax-Bridge is a library which exposes Flex application to scripting within the browser. As stated on the Adobe Labs wiki:

    After you insert the library, essentially anything you can do with ActionScript, you can do with JavaScript.

    We introduced the Flex-Ajax-Bridge in our talk Mixing Ajax, Flash and Swing. It seems Adobe has now decided how they want to distribute it: They moved it out of Life Cycle Data Service 2.5 (limited free use only) and into Flex SDK 3 beta. Which is certainly good news.

    And there is more Ajax support: With Ajax Data Service Adobe provides Flex Data Management Services capabilities (pushed updates, conflict management, lazy loading, and direct integration with back-end domain models) for Ajax applications. Ajax Data Service is available in Adobe® LiveCycle® Data Services ES.


    Notes on Yesterday’s RIA Technologies Panel

    August 22nd, 2007

    I attended yesterday’s panel discussion on Rich Internet Application (RIA) technologies in Zurich with:

    • Hans-Dirk Walter, Canoo (moderator)
    • Michael Renner, Adobe Switzerland
    • Johann Kurz, Microsoft Switzerland

    Inspired by Stephanie Booth, I decided to take notes while listening. Here is a summary of the discussion in my own words.

    Disclaimer: if I get anything completely wrong, please feel free to leave a comment or add your own thoughts.

    History of RIA

    Hans-Dirk Walter started off the evening with a short general overview on RIA.
    He outlined the historic development from fat clients to HTML applications, describing how the situation rapidly changed “back to mainframe” to the point that, in many companies, it was a policy to use HTML only for applications.

    Towards the end of the 90s, some people started to recognize that HTML is not enough (for example, Erich Gamma at the OTI labs in Zurich). These activities were not known as RIA at the time, but the focus was to offer ergonomic user interfaces for web apps. In and around 2000, HTML along with Struts and co. was the GUI standard per se. A couple of years later the Eclipse Rich Client Platform and Adobe’s Flex 1.0 helped to create momentum but it was AJAX and Web 2.0 that really brought richer user interfaces back into the limelight.

    In a nutshell, RIA offers better interfaces and better performance (for example, partial loading of data). RIA allows companies to build web apps for new uses and scenarios such as Software as a Service (SaaS). Or companies can use RIA to consolidate their widespread application portfolio or automate business processes effectively.

    There is a wide spectrum of RIA technologies available and many developers and IT managers are somewhat unsure what technology to select.

    This also holds true from an architectural point of view, current RIA technologies may span from rich fat to rich thin (cf this architecture diagram discussed in an earlier post.)

    There are various factors to be considered regarding RIA:

    • Is it browser-based or standalone?
    • Is the GUI programmed or dynamically generated?
    • How is the application logic distributed between client and server?
    • How is the data accessed?

    There are a range of RIA approaches available. Hans-Dirk concluded his short overview by pointing out that developers and decision makers are somewhat overwhelmed by the number of choices. The question being: Which technology to choose?

    Microsoft:

    Johann Kurz of Microsoft followed up with a short presentation on Microsoft’s Silverlight.

    RIA is gaining importance and is part of Microsoft’s “Software and Services” strategy.

    Silverlight offers a flexible programming model and various collaboration tools for developers and designers (Expression Studio). It’s based on the .Net framework, which means a wide selection of programming languages are available. Goal is to offer a plugin for all platforms, referred to as a “consistent cross platform experience”. To integrate services and data there is a project called Astoria (I had a quick peek at the Astoria team blog).

    Silverlight offers closer collaboration between designers and developers using XAML.

    Mr. Kurz showed 2 Silverlight demos:
    - Silvervideo
    - Silverlight Airlines (see also this video).

    Adobe:

    Next, Michael Renner of Adobe, presented a short overview on Flex 3 and AIR. He starting off with an interesting slide showing how RIAs will extend from consumer to business applications and from the web to the desktop to mobile devices.

    Differences between Flex and AIR (codename Apollo):
    Flex is an open source framework for web apps,
    while AIR is a runtime environment for RIAs on the desktop: “hybrid desktop internet application”. AIR uses WebKit. Web developers can build desktop apps with their usual toolset (MySQL, Tomcat, etc.) and deploy it on the desktop.

    Demos shown:
    - Flex Builder for Eclipse
    - Harley Davidson website built with Flex
    - A simple master detail sample showing how changes in the data are instantly propagated to other browser clients.

    Discussion:

    Hans-Dirk asked a number of valid questions (paraphrased in my own words):

    • Why return back to the desktop?
    • Given the various mix of technologies used, cross-browser differences, and the programming model, what is the effort to maintain large corporate applications?
    • What about the security issues related to JavaScript?
    • What kind of tools are available to support developers?

    Questions from the audience:

    • How do the tools help designers and developers work together, e.g. a designer might delete a check box and not know that there is code attached to it.
    • It seems both tools are delegating security issues to users. What mechanisms are available?

    Regarding desktop internet apps, Mr. Renner said that there are various uses where an application needs to have online/offline capabilities: a feature offered by AIR. For Microsoft the desktop will remain a stronghold.

    IMHO, the questions on managing complexity and providing adequate security were answered in an evasive manner by both speakers. My guess is that Flex, AIR and Silverlight offer the same security options as other AJAX and HTML frameworks. Flash is set up only to talk with its home server. But I felt the answers were somewhat lacking.

    Regarding tools, Adobe plugs into Eclipse, while Microsoft offers a suite of tools around its VisualStudio.

    General trends (based on this panel, that is ;) ):

    • Some kind of an ongoing convergence between designer and developer tools.
    • JavaScript/EcmaScript will be around for a couple more years.
    • Building GUIs will become more declarative.

    Panel Discussion on RIA Technologies

    August 17th, 2007

    SimsaSimsa (short for Swiss Interactive Media and Software Association) is organizing a panel discussion on Rich Internet Applications (RIA) next Tuesday, 21st August, at the Kongresshaus in Zürich. See the Simsa event page for details.

    Michael Renner of Adobe and Johann Kurz of Microsoft will discuss what RIA has to offer. Canoo’s CEO, Hans-Dirk Walter has been asked to lead the panel.


    The Third Option besides AJAX and Flex (Part 3 of 3)

    August 17th, 2007

    This is part 3 of 3 blog posts discussing the article “How to Choose an RIA Path: AJAX or Adobe?” by Jeffrey Hammond. Read part 1 and part 2.

    Java is a third option to breakdown the barriers RIA faces in corporate environments.

    In this final post, let’s turn our attention to the first point I listed in my comments on Jeffrey Hammond’s article (see part 1):

    AJAX and Flex are not the only options for RIA. There is a third one to consider: Java (see for example Eclipse RCP, a rich fat client technology, or UltraLightClient, a Swing-based rich thin client technology).

    Jeffrey identifies four barriers that prevent firms from introducing RIA (based on AJAX and Flex):

    1. Both are not easy to integrate into an enterprise environment.
    2. Both are in some way dependent on the client configuration (or a user’s willingness to change it). Although AJAX does not require any additional installation, JavaScript may be disabled and AJAX applications will not work. Adobe requires the Flash plug-in and users may not be willing to install or update it to for a RIA they find on the web.
    3. The ecosystem for both approaches is not mature.
    4. Both lack the support of extended development tools.

    Java

    Reuse Existing Infrastructure

    Java - on the other hand - has been in use as a server technology for Web applications for many years. The infrastructure to integrate applications into a corporate environment is available. This infrastructure is proven and there is a lot of experience on how to use it. As outlined in part 2, companies that operate HTML-based Web applications will not have to change the connection to data sources when migrating from these Web applications to Java-based rich thin clients.

    Of course, a Java-based RIA requires a Java browser plug-in. Consequently, this barrier remains as high as before – at least for internet applications. But for applications with a limited user community, installation of a plug-in like the JRE or Flash is in many cases acceptable.

    Java has a rich and mature ecosystem which has been evolving for more than ten years. A wide selection of proven commercial and non-commercial libraries, frameworks, and tools are available.

    There are various extended tools supporting quality assurance such as testing tools, monitoring and measuring tools, as well as development and debugging tools. What is lacking is a comparable design and authoring tool support as offered by Adobe and third party vendors of Flash.

    After having said this, I would refine Jeffrey’s recommendation regarding when to use AJAX and when to use Flex in the following way:

    Jeffrey recommends using AJAX when time-to-market is critical and when frequent changes to an application are expected. I would add: Use AJAX if this application is published to the general internet at large and browser plug-ins are not tolerable. It is a good advice today to restrict AJAX to a minimum and to ensure that the application works even if JavaScript is disabled.

    For large-scale user productivity applications, Jeffrey opts for Flex. I would add: yes, if besides functionality the visual appearance of the applications is critical, and as a result, advanced design and authoring tools are needed.

    In all other cases, i.e., if I do not want to publish my application for casual internet users that are just passing by, and visual appearance would be nice, but functionality and integration into an enterprise information system is more important, then I would recommend using a Java rich thin client like UltraLightClient.

    See also part 1 and part 2.