Case Study: Data Warehousing Client

Configurable Reporting System

Synopsis: In 2007, a data warehousing company approached Synapse Studios with the intent of having a comprehensive reporting system developed. Many of the data points they collect throughout their businesses processes can be drilled down in dozens of ways. They needed an easy way to organize and deliver this data on demand by users of all stripes

Problem | Solution | Results

The Problem

Client needed a highly advanced and flexible web-based reporting system to provide accurate data and comparisons on campaign statistics, survey trending, customer behavior and financial details to their clients. Said solution also required the following features:

  • A highly intuitive interface that would allow marketing and other client users easy access to the data requested
  • A drill-down and "drill-across" system that keeps all report options accessible and easy to find, despite the large number of potential options
  • Report creation validation—when users are generating a report, the system should ensure all required options are selected before allowing them to generate said report
  • An easy-to-read on screen report output, with clear column labels and embedded "help" to describe methodology used to define certain columns
  • A flexible graphing and charting system to create visual representations of the data produced through dozens of advanced chart and graph types
  • Easily printed reports, such that all but the largest reports would easily fit on a page by scaling automatically
  • Advanced user level access control, allowing administrators to restrict user access to certain reports and report types
  • Multiple output options for any given report (PDF, Excel file, HTML, Doc, etc.)
  • No independent software installation requirements; users needed to be able to use the system from a standard web browser without needing to download or maintain anything on the client side

The Solution

Synapse Studios built a completely modular reporting system with an innovative and original interface that allowed users to drill to the exact reports they required without feeling overwhelmed. Our approach required several high-level innovations and the overcoming of some significant challenges. Building a dynamic reporting system that allows for a great deal of flexibility while simultaneously making it intuitive and usable by users with various degrees of skill is itself a challenge.

A complete breakdown of our system's features and innovations follows:

  • We designed and delivered a new and innovative approach to report generation, using an interface system we created called the Horizontal Select System (HSS)
    • After selecting a Report Type, a user is guided through the selection process for all additionally required criteria
    • This system allows us to drill down through options based on the selections in previous option sets and to also ensures that all required selections are made before the system attempts to generate a report, reducing reporting errors to almost none
      Project Screenshot
    • Other option sets were created (such as "vendor" or "region" that were independent of the previous responses, creating a hybrid option selection system. (Some option sets may be driven by the set before them, such as the Year and Promotion sets displayed above; the Region set remains independent in this case.)
  • Our user management and user level access system was equally advanced. The system can lock user groups or even specific users to a variety of specific restrictions
    • Users can be limited to just a specific Report Type (such as "Survey Reports") but may also have restrictions placed on specific options for a given report (such as a particular vendor)
    • This allows us to create one highly configurable report for a given purpose despite the need to restrict user access to certain elements of that report (for example, a vendor may see their data, but not the data of other vendors, while in the same report an account manager may see data for all vendors)
    • User level access options are controlled through a secured interface by client's account managers
    • Users can automatically be logged out after a predetermined amount of inactivity for security purposes
    • Users may be granted the ability to create users underneath them with access restricted to certain reports, or user creation may be limited to account managers at the client's request
  • Users may access the reporting application from any system with an internet connection, but we can easily lock a user's access down to a given IP address or corporate location
  • The system can also automatically report to administrators unauthorized access attempts
  • Reports are generated in a clean and easy-to-read fashion:
    Project Screenshot
    • "Tool tips" (integrated explanations detailing what certain columns mean) are easily included in reports, but only visible on demand, keeping the report output clean
    • A table of contents is automatically integrated into every report allowing users to quickly jump around the report
    • A robust graphing and charting system was included in the application that lets users quickly and easily add complex graphs and charts to their reports. Available graph types include:
      • Multi-depth 3D pie and donut charts, 3D stacked bar charts
      • 3D multi-bar charts, 3D bar charts with depth layout (semi-transparent bars)
      • Cylindrical and arbitrary polygonal shapes in charts
      • Multi-line charts, 3D line charts and line charts with graphical symbols for data points
      • Candlestick and box-whisker charts
      • Charts with spline layers and inter-line filling layers
      • Area charts and stacked area charts and 3D area chartsv
      • Zone colors for area charts (different colors above and below defined thresholds)
      • Trending charts, including scatter layers and linear regression layers and line and point confidence bands
      • Scatter charts and Gantt charts
    • All graphs are easily customized with custom gradients, color schemes and symbolic graphics as required
  • We also built an innovative caching system that allows reports to be automated and run at regular intervals on live data
  • Further, the caching system ensures constant availability for thousands of concurrent users without any response degradation
  • Users can be prevented from sharing a generated report with other users on the system
  • Because of the use of XML for the formatting of report data, reports can be delivered in HTML (on screen), Adobe PDF, Microsoft Word DOC, Microsoft Excel XLS and CSV formats

The Results

A complete reporting solution was built by Synapse Studios that exceeded the expectations of the client. Client was able to deliver a groundbreaking reporting solution that set them apart from their competitors and allowed them to secure several new contracts.

The core codebase of the finished product was built in a modular fashion and is owned by Synapse Studios and used in other projects that require a reporting system.

  • The system is now in use by several hundred individuals who are able to generate thousands of reports in a given day. (The caching system ensures availability even on the live server, with little delay in the figures.)
  • Users are able to easily reference tool tips to research the equations behind certain columns or to easily recall the definition of a given column
  • Vendors are able to see only the data pertinent to their company, allowing them to use the system to better plan their upcoming promotions while maintaining security and preventing them completely from seeing competitor data
  • Since the system is hosted on an external system, availability is extremely high (over 99.99% availability in 2007) with ISP costs kept relatively low
  • Client now actively uses their implementation of this system (which they call ProPoint) as a sales tool; potential customers are consistently impressed with the breadth and quality of information available in such an intuitive manner and can demo the system in an environment filled with test data

The development of this application resulted in a long-term relationship between the two companies. As our client has continued to grow, they have continued to request new functionality to the system. Since the system was built to be modular and configurable, new features could be added easily and quickly, allowing them to meet the demands necessary to sign potential Clients and to secure their existing ones. The result is that the core of their business now runs on the Synapse Studios solution, functional and ready to scale further as they grow.

Back to:
Top of Page | Case Studies

 

HTMList.com: Synapse Studios' Blog

Is PHP 5.3 Terminal? Well, It's Getting One For Namespaces

A language lives and dies by how easy it is for a person to express something within that language. But the ease in expression is much like the type I and type II error rate in a statistical test: as you adjust one to be nearer to where you want it to be, the other gets farther away. So the architects of a language have to choose between adding more keywords and constructs or having longer, but simpler sequences of existing ones.

PHP is a very easy language to learn and use because it has a syntax that is a simplified sampling from C++/Java and Perl. People who use these languages pick up PHP fast, and people who haven't used any languages often learn PHP with as much ease as they would learn Perl.

Posted on October 27, 2008 by Edgar HasslerRead More »

Portfolio Spotlight

San Man, Inc.

San Man, Inc is a Phoenix-based aggregate and sand manufacturer. They needed a web presence that would allow potential customers to learn more about their company and to determine what zones they shipped to. We delivered a simple, stylish site that conveys their brand and allows customers to quickly contact San Man.

Read more »