Designer is a Java swing-based application created to provide TIBCO with a platform for deploying all of its application user interfaces (UIs). When I started at TIBCO, I was tasked with two goals:
- Simplify the user experience
- Unify the user experience
Prior to my arrival, TIBCO used separate applications for all of its configuration tasks. Some applications even required 2 or more applications with user interfaces to complete configuration. My goal with Designer was to standardize on one extensible platform that can be extended to solve all of TIBCO's application UI needs. By implementing standard user interface concepts in Designer, and providing an easy to use set of APIs for extending it, I have been told I met both of these goals.
Starting from a set of storyboards like the ones pictured below, we first created a prototype, then a first version of the Designer platform.
Designer is used to deploy palettes for configuring a number of TIBCO's enterprise adapter products, seven in the first release. These adapters use a simple drag and drop mechanism to add configuration elements. Forms are used to fill in configuration parameters, as pictured below.
One of the great aspects of the Designer API is that it provides a framework for building form-like interfaces with little or no experience, on the developers part, building graphical interfaces. All of the event handling and GUI issues are handled by the framework.
As well as providing these higher level concepts for developers, Designer itself provides a number of features. Users of Designer can:
- Create and edit multiple projects simultaneously
- Organize there work into folders
- Add new palettes
- Find elements of a project by name
- Generate JPEG ad HTML reports
- Control numerous settings, including the basic window layout, via preferences
- Store projects in several popular RCS systems using built in adapters
- Screen shot project versions for rollback
- Undo unwanted changes
Palette developers can:
- Assign icons to resources
- Provide custom menus, views, configuration forms, pop-ups and other GUI elements
- Define custom saving code
Tools developers can:
- Provide custom views and menus
- Share tools across documents, or assign a new tool to each document
Based on its initial success, Designer was used as the platform for TIBCO's BusinessWorks product. This product combined a number of TIBCO application functionalities into a single interface which allows the user to design process definitions and debug them. I was the lead architect for this new user interface and managed deployment of it into the Designer framework.
Designer was initial released in 2001 and is still being sold in 2013 with minimal maintenance cost.