Home Project Documentation Download News Contact Us

The Extensible User Interface Protocol (XUP) is a SOAP-based protocol for communicating user interface events and updates on the web. It lays a foundation for developing and consuming rich internet applications and services. XUP is designed to serve as the UI front end for applications based on the Web Services architecture. Furthermore, XUP is inherently cross language, cross platform, and cross device.

OpenXUP is an open source project built on top of XUP. It provides a server-side framework for developing rich internet applications. Most other rich web client technologies focus on the client side (e.g. AJAX, Flash, Java Applet); that is, you have to write code on the client side to enable rich UI. With OpenXUP, all application code resides on the server side; the client leverages desktop PC's computing power to render rich UI. This thin-client architecture has several obvious advantages:

  • centralized application management: zero client-side administration cost
  • no downloaded code (binary or script) to execute, so no security concerns

Essentially, OpenXUP provides a model that bridges between the traditional desktop (client / server) based and the current web page (browser) based user interface paradigms. It combines the advantages of both UI paradigms: rich and powerful UI components (from the desktop paradigm) and zero client administration (from the web page based paradigm). Therefore, OpenXUP is ideal for developing Web 2.0 applications.

With OpenXUP, end users will no longer experience frequent "page refreshes" as commonly seen in today's web applications. Users shall perceive much faster response time since UI updates are delivered to them incrementally, rather than one full page at a time. Furthermore, since OpenXUP provides much richer UI components, the users will have a much pleasant experience when using highly interactive web applications with complex user interfaces.

For developers, OpenXUP offers a much more efficient UI development environment, achieving faster time to market for their products. With OpenXUP, developers no longer need to process unstructured form data and regenerate web pages for each user interaction, and they no longer need to constantly tweak HTML and JavaScript to support complex user interfaces. This allows them to rapidly develop web applications with rich user interactions and complex UI components.

Our current implementation includes:

  • a .NET WinForms based client
  • an ASP.NET based server toolkit - providing a .NET API
  • a .NET WinForms based UI template viewer

In the future, we also plan to implement:

  • a Java servlet based server toolkit - providing a Java API
  • a Pocket PC and/or Smartphone based client
  • a Java Swing based client (low priority)

Copyright 2005-2006, All rights reserved.