
Luzius Meisser

Dominik Grolimund
(10100) Wuala Webstart: Launching a Java Application directly from a Website
Jazoon Cutting-Edge
Thursday, 2009-06-25, 16:30 - 16:50, Arena 7
- Luzius Meisser - Caleido AG / Wuala (speaker)
- Dominik Grolimund - Caleido AG / Wuala (co-speaker)
Rate this talk:
Topics
Abstract
Wuala Webstart allows to directly start a Java application from a website. In
comparison to Java's existing Webstart technology, it has much better
performance, finer update granularity and less restrictions on the used GUI
toolkit.
Purpose
Wuala Webstart has been developed to provide a comfortable and fast way to start
an arbitrary Java application without prior installation. This is essential when
delivering a Java desktop application like Wuala with hundred thousands of
installations and frequent updates.
How it works
Wuala Webstart consists of three components: a small trusted Java applet that
can be embedded on a website, a resource server that provides all resources and
a classloader that connects to the resource server to automatically load the
latest version of the application on startup.
Fast Startup
Unlike in traditional approaches, Wuala Webstart operates on class-level
granularity. The resource server learns which resources and classes are needed
first and feeds them in that order to the starting application. With Wuala
Webstart, applications can be started and interact with the user before they
have been completely downloaded. For many applications, only a fraction (e.g.)
of their classes and resources are needed for startup. With Wuala Webstart,
their download and startup time can be significantly reduced. With Wuala
webstart, we could reduce the download and startup time from over 20 to less
than 7 seconds, only marginally slower than for the pre-installed application (5
seconds).
Incremental, transparent updates
Whenever the application is started, the class loader automatically loads the
latest version from the resource server. Only the classes and resources that
have changed need to be downloaded. Thanks to this fine granularity, updates are
minimal. Often, users don't even notice that there has been an update when
starting the application.
Open source
Wuala Webstart is open source. Anyone wanting to look at or employ this
technology is welcome to do so.
Security
Connections to the resource server are encrypted, and the resource server
authenticated with a certificate in order to prevent e.g. DNS-poisoning attacks.
When running code before have the complete jar file, signing jar-files is
useless as their signatures cannot be verified until the whole file has
arrived.
Real-world use
We use Wuala Webstart to provide the users of the Wuala Online Storage with a
fast and convenient way to start a rich client. It is used daily by
ten-thousands of happy users and has already delivered millions of Wuala updates
to them.





