SRS Web Client

We are currently re-architecting the SRS web client. The goal is to create a platform and widget library that, when combined, create a framework for rapid prototyping of SRS clients and constructing a generic client. The client is based on HTML4, CSS2, and SVG1.1. Internet Explorer 7+, Firefox 3+, Chrome, and Safari 4+ are supported.

The platform is designed to be a foundation for any web application that wishes to make use of the SRS server. This includes clients that use the widget library but does not limit a client to such an implementation.

Similarly, the widget library is designed to be a suite of web visualizations that can be used by any web application, with or without the platform. However, it is designed to work seamlessly with the platform.

Thus, the design is two independent libraries that when used in tandem provide a powerful framework for developing web applications that make use of the SRS server and its capabilities.

The Intent

SRS clients can be tailored to particular business clients, data sources, visualization mechanisms, analysis modules, interaction methodologies, or user interface constraints. This tailoring can be done in code or via manual configuration.

The generic SRS client is a web application for building web applications, applications that are transient and require little effort to configure. In the manner of a WYSIWYG editor, the generic client allows a user to configure an application at run time. Upon exiting the application, this configuration is lost. It provides flexibility in what data is viewed and how it is viewed but requires little effort to do so.

Value Over Other Libraries

  • Control over the code (API)
  • Customization (third-party or otherwise)
  • Geared for analysis

High-Value Benefit

  • Lines of code?
  • Time to code?
  • Ease of customization?
  • Analytical tools?
  • Interactivity?

Fundamental Units

The new web client framework comprises three distinct units:
Queries are elements of the platform and encapsulate methods of accessing the SRS server. Visualizations are elements of the widget library. Transformers are elements of the platform, but oddly so: they are the middleman between queries and visualizations.

Client-Side Components

The Code

Javascript Classes

Page last modified on Thursday, June 16, 2011