The Ubiquity library provides a range of open source components–from Ajax libraries to browser extensions–that work together to deliver a fresh approach to web application building.

Backplane

At its core, the library provides an Ajax backplane which gives programmers a consistent layer on top of a number of Ajax libraries.

Standard languages

This backplane is then used by Ubiquity modules that support a range of standards, such as XForms, RDFa, DOM 2 Events, XML Events, and more. These modules use unobtrusive javascript techniques, to bind the backplane functionality to the standard language elements.

Writing applications in standard languages makes them incredibly portable, and hides the intricacies of particular Ajax libraries.

But the Ubiquity library goes much further than just providing a set of Ajax libraries and standard languages.

Plug-ins and browser extensions

Ubiquity also includes a growing collection of binary plug-ins and browser extensions that can be called from the backplane. This is a powerful technique that we have called progressive browser enhancement, which simply means that web applications running in the browser can make use of any enhanced functionality that the user has chosen to install, but can still fall back to the JavaScript implementation if the functionality is not available. The range of extensions available includes full support for XForms, components for the easy creation of browser sidebars and toolbars, access to Microsoft Agent for speech, and more.

Desktop applications

The Ubiquity suite also allows programmers to completely break out of the browser. It includes a sophisticated desktop application framework that enables authors to create gadgets, widgets, site-specific browsers, and complete applications, using the same standard languages that are used in web applications.

The framework also makes it easy for programmers to create applications that can communicate with each other, create new windows, auto-hide, and so on, without the effort required when using compiled languages.

And simple APIs–available from XForms–allow authors to quickly create application installers that can create desktop shortcuts, and menu links.

Development environment

Finally, Ubiquity IDE is an open source development environment created using the Ubiquity library itself. It makes it easy for developers to create, test and deploy their web applications and components.

Ubiquity is the future of application development, whether in the desktop or web applications.