• Home
  • About
  • Sample Apps
  • Feature Article on Building RIA for Business Users

    July 10th, 2008

    June Issue includes article by Hans-Dirk Walter
    it management has published an article by Canoo’s CEO, Hans-Dirk Walter on building Rich Internet Applications (RIA) for business applications (in German only).

    The article provides a short introduction to RIA and some of the business benefits it offers such as automating global business process, consolidating applications or enabling Software as a Service (SaaS). The article discusses the various evaluation criteria that are relevant when selecting a technology.

    • An welche Benutzer richtet sich die Anwendung – soll sie innerhalb eines Unternehmens oder als B2B-Lösung mit Geschäftspartnern eingesetzt werden oder richtet sich die Anwendung an beliebige Benutzer im Internet?
    • Wie arbeiten die Benutzer mit der Anwendung? Wird sie gelegentlich aufge-
      rufen oder wird sie von Experten täglich und sehr intensiv zur Erledigung
      von wichtigen Aufgaben verwendet?
    • Handelt es sich bei der Anwendung um eine Geschäftsanwendung (z.B. ein CRM- oder ERP-System) oder um eine Anwendung mit Unterhaltungscharakter, in denen Animationen und Multimedia eine grosse Rolle spielen?

    A .pdf is available online in the press section of the Canoo website.


    Leading Swiss ISV uses UltraLightClient for its BPM Platform

    July 8th, 2008

    Soreco Group, one of Switzerland’s leading software houses, uses Canoo’s Rich Internet Application library to develop and distribute its flagship product Xpert.Ivy

    Soreco Group

    Xpert.Ivy is a business process management platform for mid-sized and large corporations.

    Inside-IT recently wrote:

    Xpert.ivy 4.0 enthält nun GUI-Komponenten-Bibliotheken, mit denen man Anwenderoberflächen “zusammenklicken” kann. Die gesamte Logik der Oberflächen wird dabei serverseitig abgewickelt. Auf dem Client braucht es lediglich eine übliche Java Runtime Umgebung, um den RIA-Client (RIA - Rich Internet Application) laufen zu lassen.

    Soreco verwendet für Xpert.ivy als OEM die “UltraLightClient”-Technologie des Basler RIA-Spezialisten Canoo. Die Schwerzenbacher bezeichnen die Möglichkeit, mit der BPM-Plattform nicht nur Prozesse und Webservices zu modellieren, sondern mit Version 4.0 gleich auch noch gut aussehende und funktionale RIA-Benützeroberflächen zu bauen, einen “Quantensprung.”

    See also this recent press release by Soreco (in German).

    Soreco is building their next generation platform using Canoo UltraLightClient. This is an awesome reference for Canoo. Being selected by an independent software vendor like Soreco underlines the stability and maturity of UltraLightClient.


    New Look for a Canoo Sample Application

    July 2nd, 2008

    Canoo recently published a new look for one of its UltraLightClient sample applications.

    ULC Online Shop

    ULC Online Shop

    Our aim for this sample project was to show that Java web applications need not rely on the standard “grey and clunky” look and feel, but can be customized to fit into a company’s corporate design or to match current web design trends.

    ULC Online Shop

    The design for the OnlineShop sample was developed by User Interface Design GmbH. Two Canoo developers then implemented the final design within two weeks.

    ULC Online Shop

    The sample application can be accessed online:

    Applet Starts the OnlineShop sample as an applet.
    JNLP (Java Web Start) Starts the OnlineShop sample using Java Web Start.

    Please note: you will need the Java plug-in to view the sample application.


    Web Apps: Easier and Faster with UltraLightClient ‘08

    June 26th, 2008

    Canoo is pleased to announce that UltraLightClient ‘08 is now available.

    Download version ULC ‘08 here

    New features in ULC ‘08:

    • easy project setup using a wizard for Eclipse
    • generates an end-to-end application skeleton from a predefined data structure
    • high-level component to simplify the development of forms
    • improved data types
    • sortable ULC tables by default
    • data binding
    • easy and central configuration of application parameters and options such as look and feel and deployment
    • easy deployment

    Canoo has recorded a screencast showing how to develop a sample web application using this new release.

    A new developer guide describes how to be productive from day one. The release notes list the changes added to the current product version.


    Jazoon 08 Day I

    June 25th, 2008

    jazoon

    Here are some quick notes on the sessions I attended yesterday at Sihlcity. I believe Jazoon will be uploading videos and slides very soon:

    First in my lineup was a talk on using Google Web Toolkit for a business application in a typical enterprise environment. This was kind of like a case study. Dmitry Buzdin talked about the experience his company gained and listed the various pros and cons.

    Next, I listened in to Bruno Schäffer’s talk together with Christoph Henrici and Daniel Buffet of APG. The talk described the migration of an Oracle Forms application to Java forms for the advertising industry. Main requirement: development and application performance had to remain just as fast as with Oracle Forms. A requirement that the migrated application managed to over-fulfill.

    IMG_5023

    Canoo’s Andreas Hölzl and Christian Stettler presented their Google Android experience report. They showed an application they developed for the Android Developer Challenge called Mobile Zoo. Their baseline: “What’s here looks promising. Let’s see the devices!”

    Brian Sletten’s presentation on data-driven applications was very interesting. I particularly liked the analogy between resampling music and data.


    Grails Sample Application: ria-map.net

    June 18th, 2008

    Canoo has released a new sample application at ria-map.net. The application shows typical Web 2.0 interface elements such as tagging or Flickr-like editing fields.

    Canoo riamap entry screen

    I asked the developer, Jonas Zuberbühler, the following questions on the new Canoo sample application.

    SW> What is riamap?

    riamap is a Web 2.0 community site that maps the world of Rich Internet Applications. Unlike mere information aggregators on the topic, it builds on user contributions to assemble not only a list of current RIA technologies, but also how they relate to each other.

    Users can explore what technologies are available, what they have in common, how they differentiate, what competitors they have and how they complement each other. These relations make up a graph that any user can extend by adding new connections or voting how strong any such connection based on his or her own judgment.

    SW> What technologies did you use to build it?

    We used Grails for the web application framework and Groovy as it is the perfect partner for implementing server-side logic.
    In addition, we used Prototype, Scriptaculous and LivePipe to integrate AJAX features and to improve the user interface.

    SW> Why did you select Grails? Why not adapt an existing PHP- or Java-based content management system?

    Canoo has a strong footing in Java and Grails is the perfect choice for developing Web 2.0 applications on the Java platform. We can build on our solid understanding of this ecosystem and use all the existing tools for development, deployment and operations. On top of this, Grails provides us with the concise, expressive and interactive development style that modern applications require.

    Further screenshots:

    riamap screen 2

    riamap screen 1

    To get a login for riamap, sign up here to join riamap. Try out the various Web 2.0 interface features. If you feel like adding information on a RIA technology, enter the details here or edit an existing entry.


    Canoo @ Jazoon

    June 13th, 2008

    Here’s an overview of the technical sessions that Canoo will be presenting at this year’s Jazoon from 23rd to 26th June, 2008 in Zürich.

    Sibylle Peter and Dieter Holz are presenting “Why RIA is not only about technology”. See also my recent write-up.

    Canoo CTO Bruno Schaeffer is presenting “Against all odds - efficient Rich GUI development in Java” together with Christoph Henrici and Daniel Buffet.

    Dierk Koenig is presenting two talks:
    “Grails: all you need for Java Enterprise webapps”
    and “Automated functional testing of web applications” .

    Andreas Hoelzl and Christian Stettler are presenting a talk on RIA for mobile devices, “Google Android and developer expectations: a ‘real world’ report”.


    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.

    IMG_4131

    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:

    IMG_4132

    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.

    IMG_4137

    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.


    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.


    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

    Program:

    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