• Home
  • Events
  • About
  • Why RIA is not only about technology

    May 22nd, 2008

    I attended today’s Orbit-iEX talk on Rich Internet Application strategies and frameworks by Sibylle Peter and Dieter Holz of Canoo and Markus Pfeisinger of Crealogix.

    Here is a summary of the talk in my own words.

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

    The first part of the talk presented some issues you should consider if you are moving into RIA development.

    Many developers that first start out in RIA development have lots of experience building HTML applications. They are in the phase where they have recognized the need for RIA. They have selected an RIA technology (e.g. based on AJAX, Flash or Java). They have started implementing first projects.

    The talk identified 5 frequently-encountered misunderstandings regarding RIA development within this first phase.


    Similar to the Phelps tractor (a steering mechanism that was useful for horse-drawn carriages, was not as useful for motorized cars), there is more to RIA than just exchanging the technology.
    For example in HTML applications, check boxes are frequently used to select more than one entry. This works well for HTML apps, but in RIAs these check boxes are no longer required because multiple table entries can be selected directly.

    RIA technology offers more user interface components. Developers need not rely on typical HTML conventions to build their applications.

    Similarly, paging in HTML apps is useful because it offers a way to manipulate long data tables.
    But in RIA, paging is no longer required. Here Sibylle compared the Zimbra web email client with Canoo’s sample app ULCMail. Zimbra is available as an HTML client and as a richer “advanced” version offering some AJAX features. But both versions offer the same user interface, even though the advanced version feels more desktop-like. Using paging for a richer interface like this can be even confusing.

    Another misunderstanding is that RIAs need to be self-explanatory. Sibylle showed this interesting graph:


    which positions applications from simple look-up HTML apps via typical RIAs and productivity tools to games based on the frequency of interactivity and GUI richness.

    With RIA you can get a lot closer to productivity tools.

    A typical target group that requires productivity tools are office or knowledge workers. Typically this group uses an application for long periods of time per day and is thus motivated to spend more time learning how to use it.

    Applications need to be fast, interactive, smart, offer a good interaction design. And they need to be robust and stable since they are used daily. I.e. efficiency is important, more important than ease-of-use.

    Misunderstanding number 3: many developers believe RIA frameworks can be built without much prior experience in the new technology.

    For example, HTML apps have a sequential page flow. A request is sent to the server and
    every request has a separate page view. Typically a view does not need be observable and does not need to be monitored.

    RIA does not have a sequential page flow. Views need to be monitored.


    RIA frameworks need to sync various different views for the same data, allow modifications to a selected item, etc.

    Misunderstanding number 4: RIAs can be “generated” from service definitions. In HTML apps there is a “one to one” relationship between views and service calls. In RIA this is a “one to many” relationship and interaction design becomes important.

    And finally the last misconception developers have regarding RIA development is that presentation logic is the same business logic. In general, HTML apps tend to have less presentation logic.
    For RIA, the views are more complicated and you need to separate between presentation logic and business logic. RIA requires a presentation model to watch and monitor the views.

    For example, if you enable a button after a form has been edited, this will need to be monitored in some way.

    The talk offered an overview of the effects that RIA development will have on your software architecture:

    RIA is event driven. A presentation model is used to administer the presentation logic.

    RIA requires a different kind of service:

    • fine granular requests to service layer
    • service design independent of view design

    Application components are reused in a different way (reuse of the actual code instead of by URL).
    And the presentation logic and business logic will differ.

    Regarding the general setup of projects, RIA requires more input regarding:

    • interaction design
    • the distribution of business logic and presentation logic
    • framework development and integration (some AJAX libraries are still fairly new
    • and there is some need to build component libraries, esp. for large, complex applications

    The interaction design needs to consider the possibilities and limitations of RIAs, the target audience, what domain knowledge is available, as well as usability engineering.

    Besides these typical pitfalls,
    RIA is the way to go to provide efficient and fast web applications for power users, offering

    • better interaction
    • better work experience
    • performance
    • robust
    • good look and feel

    In the second part of the talk, Markus Pfeisinger presented to frameworks for Adobe Flex / Flash development:

    • Cairngorm
    • PureMVC

    He briefly provided an overview of their main characteristics and discussed the benefit of using a framework in general and these two in particular. He seems to prefer PureMVC.

    Finally, he gave a short peek view of the Flex Code Generator.

    Interesting aside: Markus used Sliderocket to present his slides.

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks

    Maintenance Release UltraLightClient 6.2.3

    May 20th, 2008

    We are pleased to announce that minor release UltraLightClient 6.2.3 is now available for download.

    This is a maintenance release for 6.2. Please see the release notes for a list of implemented feature requests and fixed problem reports.

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks

    29th May: JUGS Event on RIA for Mobile Devices

    May 19th, 2008

    Canoo and Java User Group Switzerland are organizing an event on Rich Internet Applications for mobile devices on 29th May at the Technopark in Zurich.

    Canoo’s Dierk Koenig will present a talk on “Going Mobile with JavaFX Script, Groovy and Google Android“:

    Since the 2007 JavaOne conference, the JavaFX Script technology-based application MusicPinboard has been justifiably cited by many (including Sun) as a significant demonstration of the power of JavaFX Script technology as well as a radical improvement over Java technology in terms of developer productivity.

    One year on, Dierk König shares his thoughts about what kind of audience JavaFX Script technology is likely appeal to, today and in the future. In addition, he offers objective comparisons with some rising competitors in what he calls the RIA/mobile space:

    • Groovy, which has in recent months encroached on the JavaFX Script technology space by including a data binding mechanism as part of its Swing GUI Builder
    • Google’s prototype Android platform, which the global giant hopes to position as the platform of choice for providers of high-end mobile device and business applications alike

    Dierk contends that each of the solutions described embodies a different vision of how the mobile experience will evolve in the near future and that the time frame may be shorter than we think when it comes to seeing which technology gains the upper hand.

    Dierk recently presented this talk at JavaOne 2008 together with Mike Mannion. If you’re based in Switzerland, this is your chance to hear the talk.

    The second talk will focus on Google Android. Markus Pilz and Peter Wlodarczak of Greenliff will provide an overview of the Android GUI framework and show a short sample how to write and configure phone GUIs with it.

    Android provides a nearly complete JDK 1.5 class library. However, AWT is only partial supported, and Swing is not supported at all. Instead, Android introduces its own GUI framework with Screens, Views and its own widget set, which nicely integrates with the Android application live cycle which is based on Activities, Intents, Providers and Services. Mobile application development is made easy through very simple reuse of existing Activities, Providers and Services. Full XML-based GUI layout allows dealing with different screens sizes and color depths without development know-how. Contrary to other mobile platforms like the iPhone, Android has been designed as an open platform for software development and doesn’t have many of the limitations i. e. JME has.

    Event details


    17:00 – 17:50: Talk: Going Mobile with JavaFX Script, Groovy and Google Android incl. Q/A
    17:50 – 18:00: Break
    18:00 – 18:50: Talk: The Android GUI Framework incl. Q/A

    At: Technopark, Technopark 1, Zurich, Switzerland

    How to get there: PDF or .html

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks

    Orbit-iEX Talk: Avoiding RIA Pitfalls

    May 19th, 2008

    Canoo’s Dieter Holz and Sibylle Peter are presenting at this week’s Orbit-iEX 08 in Zürich.

    Orbit-iEX in Zürich

    a-10 Rich Internet Applications: Frameworks und Strategien

    Raum K3
    Donnerstag, 22. Mai 2008
    11:15 – 12:45 Uhr

    Im Seminar zeigen die RIA-Spezialisten Dieter Holz und Sibylle Peter an konkreten Beispielen, welche Herausforderungen bei der Integration von Rich Internet Applikationen in vorhandene Intranetanwendungen entstehen und wie sie gemeistert werden.

    The talk is based on their project experience and will point out common pitfalls regarding Rich Internet Applications and practical ways to avoid them.

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks

    JavaOne 2008 Day 4

    May 10th, 2008

    The last day started off with a Sun general session. James Gosling was the host and invited the most interesting products or prototypes of this year’s show up on the stage for a demo. Two products are worth mentioning from my point of view. A company called Sentilla released a sensor running Java and it also comes with a software development kit. The hardware has a number of different sensors, such as accelerometer, temperature sensor etc. The sensor is tiny, can be connected wirelessly and requires very little power. For example, if attached to a railroad car the vibrations of the train on the move could generate enough power to keep this sensor running. The second product was LiveScribe and the demo was nothing short of stunning. LiveScribe is a pen running Java and equipped with an optical sensor, a microphone and and LCD display. You need special paper for it to work (the paper can be printed at home for free on certified laser printers). The pen records everything you write and can even record audio while writing. It can also be controlled by pointing the pen to “printed buttons”. Notes written with this pen can be viewed and even replayed on a desktop computer. The audio recording naturally enhances the written information. There is also an SDK available. For example, applications can further process the results of the built-in handwriting recognition. One demo demonstrated this by translating words being written to a foreign language. This product is a real eye opener.
    The next session was titled “Designing Graphical User Interfaces 101: From User Needs to Usable GUIs”, a promising title but a real disappointment. The session was already over after 30 minutes (rather than 60 minutes) and the two presenters had barely enough material to fill even that. Sometimes I really wonder how the quality assurance in the selection process is executed.
    Our company had two talks at the conference and the talk “Going Mobile with Java FX, Groovy, and Android” was so popular that a rerun was held on Friday afternoon. Having missed the first run I had now the opportunity to attend this presentation. Mike and Dierk made a really good show and this was one of the few session that dared to see past the marketing hype of Java FX. Hats off to Sun for accepting sessions that are critical about technologies Sun would like to push.
    My last session of this year’s JavaOne was “Rich Internet Applications with Adobe Flex and Java Technology”. Flex is certainly one of the more promising contenders in the RIA domain and I was eager to learn how Flex and Java can be combined to develop such applications. Unfortunately, the presenter while not being from Adobe just repeated the Adobe marketing message: Flex is so cool! The presentation quality was pretty bad: confusing demos, way too much text on the slides and too many technical details out of context (again quality assurance should have stepped in during the selection process). One interesting side note: when the presenter asked the audience who is using Flex surprisingly few hands showed up.
    Wrapping up JavaOne 2008, this conference emphasized the rediscovery of the desktop, announced the age of mobile devices (again), saw less attendees, and had the worst network performance I have experienced at any conference (regardless of wired or wireless connection).

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks