The dynamic display of relational information (Image 1):
Partnerflow is a subscription based web application designed specifically for the semiconductor industry. Encompassing sales force automation and partner relationship management, Partnerflow unifies a dizzying array of functional requirements into a single enterprise level application.
In 2000 I led the design effort to build the beta prototype of Partnerflow, which contributed to the closing of our first major round of funding. Since then I have worked collaboratively with a small design team and product management to flesh out the full user interface. Most recently, I have focused my efforts on changes to the user interface implementation which have radically improved application performance and usability.
The interface is user customizable and provides dynamic searching tools for finding information. The simultaneous display of related data is a key feature of Partnerflow and is implemented throughout the product. In the example above (x-large version), the selected account has returned associated opportunities in the preview pane.
Dynamic application features in a browser (Image 2):
Partnerflow allows online or offline usage and utilizes JavaScript extensively to implement advanced features like drag-and-drop, context sensitive menuing, and real time field validation.
New optimization techniques for the forecast editor (Image 3):
The forecast editor presented a difficult design problem due to the large data sets required and the need for complex functionality to be available to each data cell.
Designed to work like a spreadsheet, the forecast editor performs real time calculation amongst related cells based on a tree structure.
The "Autofill" feature allows the user to populate the forecast based on key information pulled from the sales opportunity data. The user can override any calculated value by simply clicking on the cell and typing a new value.
I realized immediately that optimization was going to be critical to making the forecast editor usable. I developed a unique solution that saves data only when it has changed and dynamically assigns functionality to a cell only when it is active. This keeps file sizes extremely small and significantly reduces the burden placed on the server when handling a request to save data.
With the lessons learned designing and implementing the forecast editor, I was able to overhaul the other major sections of Partnerflow, which significantly improved the performance of the product as a whole.
Oppbuilder (Image 4):
OppBuilder is the core piece of functionality in Partnerflow. While the main window is a high level view of data throughout Partnerflow, OppBuilder is a detailed slice of related data from the perspective of a single sales opportunity. It is where all sales data is created, updated, and linked together.
The window on the left is the "Tree View" of an opportunity and graphically represents the hierarchical structure of a semiconductor sales opportunity. The "Tree View" also allows drag-and-drop moving of tree elements from one opportunity to another
I completely overhauled OppBuilder in the latest release of Partnerflow to utilize optimization techniques I developed for the forecast editor. Through the use of hidden frame data requests, client side data replacement, and other techniques, I was able to radically improve performance for users of high and low bandwidth connections.