• Home
  • About
  • Sample Apps
  • 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


    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.


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