• Home
  • Events
  • About
  • New Milestone Release for Canoo UltraLightClient

    August 29th, 2007

    As mentioned in my previous post, the UltraLightClient team is working hard on a new release. Yesterday, a new milestone was published.

    This is the last milestone leading up to the final release. To get a preview of the new testing framework and other features, feel free to download and evaluate it.

    We really appreciate any feedback you can provide.

    Resources on UltraLightClient

    Here are some resource links I would like to highlight:

    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

    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?


    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).


    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.


    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.
    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

    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.

    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

    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.


    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.

    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

    Adding AJAX to existing Web Apps (Part 2 of 3)

    August 16th, 2007

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

    A second argument that needs some additional discussion is Jeffrey Hammond’s point that AJAX favors gradual re-factoring of existing Web apps.

    AJAX favors gradual re-factoring of existing Web apps. AJAX is based on open and standard languages like JavaScript and XML. This makes it easy for developers to integrate AJAX widgets into existing Web applications that are written in HTML, DHTML, or server-side JavaScript.

    I agree that this is a good way to improve existing HTML applications, i.e. adding some AJAX functions in a limited way to offer a better user experience, but without changing the application code substantially. In most cases the resulting application will work without JavaScript – it will only be a little less comfortable to use.

    But if you plan to cut deeper into your application – especially if you plan to change the communication patterns with the server to retrieve data – then this might have impact on your backend software layers. In the worst case, these comparatively small changes at the user interface level might lead to unforeseen and unplanned changes in the data service layer.

    Gradually introducing AJAX into your existing Web application may lead to unforeseen and expensive refactorings in lower layers

    Architecture of web applications from rich fat to rich thin

    The above diagram shows common variants of Web application architectures. The right column shows the architecture of a traditional HTML-based Web application. With JavaScript and AJAX more parts of the application are being shipped to the client (first and second stack on the left). While in the traditional Web architecture data services have always been called locally within the server tier, an AJAX application might call data services directly from the client. For performance (and sometimes security) reasons the latter case requires that data service interfaces are tailored to the presentation needs (strictly speaking: only data that is displayed should be retrieved). This often contradicts reusability of services. In many cases, services used in traditional Web applications have broad interfaces designed for reuse.

    By the way, a similar argument holds true for Flex as well, since Flex applications also call services directly from the client.

    In a nutshell: be careful when starting to re-factor existing Web applications to add RIA functionality.

    When should you use AJAX beyond polishing your application in a very limited way? Clearly, if you know that your target audience will not download an external plug-in to access your Web application, AJAX is currently your only option. To date AJAX is the only RIA technology that allows the whole internet world to use your application without extending the browser with additional plug-ins – provided JavaScript is not disabled.

    Read part 1 and part 3.

    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