Straight Line Performance Solutions
Software as a service - online business tool development (2008-2009)
Straight Line Performance Solutions is a consulting firm that aims to empower its clients by making statistical and analytical methods more accessible. Straight Line hired Gorges to build a suite of web-based tools that help users put these methods into daily practice. The tools make it easy for beginners to walk through decision making processes one step at a time, while also offering a streamlined workflow with advanced options for expert users.
Gorges engineers worked closely with the Straight Line team to design the tool platform, and found the best technology to bring it to reality. The result is a highly interactive, desktop-style application environment that lets users create solutions, collaborate and share with others, and generate high-quality graphical reports at the click of a button.
What the client needed
Straight Line came to the Gorges team with an ambitious set of requirements for the tool platform. Besides letting individual users create and manage solution documents, they wanted to enable several other features, including:
- Sharing solutions with other users or teams within an organization — with or without "write" permissions for collaborative editing of solutions;
- Publishing materials to solution repositories, accessible either to a corporate workgroup or all users of the Straight Line platform;
- Uploading and managing documents from desktop applications, with sharing and publishing features enabled for these as well;
- Generating high-quality graphical reports, both in print-ready PDF and editable .DOC format - to allow users the option of customizing or repurposing assets such as charts and graphs.
On the individual tool level, there was also an extensive feature list, including:
- A dynamic, single-page "100% AJAX" user interface allowing instant access to different steps in a process, with adaptive enablement of relevant interface components depending on the chosen scenario;
- A tab-based interface to allow simultaneous editing of multiple solutions using different tools;
- Pop-up dialogs, drag-and-drop, and other desktop-style interface features.
In addition to the above, Straight Line needed a custom interactive e-commerce solution for selling tool suite subscriptions from its web site, as well as administrative tools for managing subscriptions and site content.
How we built it (WARNING: Geekspeak ahead!)
To accomplish these goals, the Gorges team selected technology components appropriate to the different requirements for the site, and assembled them to create a sophisticated, multi-functional web site for Straight Line. The process of building the site included:
- Moving Straight Line's previous public web site to our hosting servers, and retrofitting it with Gorges' in-house content management system — to allow easier content updates and management of response forms;
- Implementing a complete redesign of the public site, created by another firm under contract with Straight Line;
- Building the custom e-commerce solution for subscription purchases, featuring dynamic display of complex pricing breakdowns based on the user's selected subscription type and term.
Our content management system (code name: "Go Gorges!") is built on the popular open-source LAMP platform, and has been deployed in dozens of client projects. We custom-coded the subscription pages based on other core packages developed by Gorges, and for the user interface made extensive use of the jQuery JavaScript framework, which makes it easy to add interactivity to web pages without "code bloat".
To build the tool suite interface, we chose the Ext JS JavaScript library, for its rich collection of UI widgets and its built-in AJAX capabilities. With about a dozen tools planned for the platform, in addition to the core document management features, we knew that we'd be building a lot of interface components that all had to have consistent functionality and appearance, and Ext JS gave us a big leg up on that task — we had an attractive UI theme and a solid underlying AJAX framework out of the box, and we could focus on customizing and extending these components to address the client's specific requirements.
Even starting with a comprehensive framework like Ext JS, we still had plenty of work to do to implement the business logic for the overall platform and the individual tools. For this we created an object-oriented client-server AJAX framework based on the Ext JS concept of stores, allowing solution data to be edited in the client browser, and manipulated and stored on the server, in a seamless fashion. This framework allowed us to create a responsive, desktop-like interface for the tools — since all client-server communication is handled via low-bandwidth AJAX requests, users never have to wait for a page to reload. There is some wait time when individual tools are loaded, but this is kept to a minimum by the custom JavaScript/CSS loader that we also built for the project — this loads only the code required for the tools currently in use.
One of the challenges of creating the Straight Line Tool Suite was providing report-export capability for the individual tools. The client not only wanted high-quality print-ready graphics, but also wanted these to be editable — for example, users should be able to edit a pie chart to reflect their corporate style and color scheme. The obvious solution for the first part was to generate PDF documents — for this we started with the open-source FPDF toolkit, which provides a PHP API for generating PDFs. We enhanced this to incorporate charts generated using the commercial SwiffChart package. For editable reports, the client wanted to target the Microsoft Office platform, which meant that the graphics should be generated in WMF/EMF format — so we used another commercial package, PDF Fly, to convert our custom-generated PDF report components into EMF files, and used the open-source PhpRtf package to assemble these into Microsoft Word documents.
Keys to success
The Straight Line Tool Suite will continue to evolve, as the Gorges team builds additional core features and tools into the platform — but it already illustrates how Gorges can build large, mission-critical web solutions by:
- Using a proven software development methodology to manage the complex development process;
- Choosing the best technology — whether it be open-source, commercial, or custom-built — for a project based on its unique requirements;
- Employing the talents of our skilled and dedicated professionals to bring all the pieces together.
Business Systems

Entergy
Integrated Energy

Straightline Performance Solutions
Online Decision Making Tools

Momentum Media
High-volume Newsletter Mailing

ICPME
Online Course Management

Alpacas in the USA!
Community Networking & Sales

NY Forest Link
Forestry Products Exchange

eVet Diagnostics
Animal X-Ray Readings

