The Chelan County Public Utility District, serving the residents of North Central Washington, contracted Sapere Consulting in 2007 to provide a web based data management and reporting tool for regional fish hatcheries operated by the Department of Fish and Wildlife. Benjamin Field was called in to assist with systems analysis and new media design, and to lead in the development of the front-end application – the user-facing portion of the system.
Because the support environment mandated that ongoing maintenance of the software require minimal first-hand knowledge of the development process, and because delivery of the product included a handoff of the software, it was essential that the application be well documented, predictably designed, easy to manage and readily extensible. With these requirements in mind, Benjamin Field worked in conjunction with Sapere Consulting to devise a truly modular architecture for the system – one that rigorously exploited MVC design strategies.
The front-end application was designed to operate with true, full independence from business logic and data, offering unhindered flexibility and extensibility. Each user interface was designed to flow down directly from the structure of the content stored in the database, which created a free and open space for business requirements to be addressed. This principle of content primacy made it possible to grow the application in response to a progressively clearer perspective on data requirements, gathered as part of an independent consulting effort.
Because the application is deployed in a distributed user space, an important feature of the software is the ability to securely access it from remote locations. Additionally, users access the system with unique credentials for improved auditing, and errors are logged and delivered instantly to support staff, for fast response. The front end application was built with no need to query the database directly – providing a valuable barrier to injection attacks and data integrity problems. The user interface, which relies on AJAX technologies for instant updating of information, is closely tied to application-wide security controls, adding an important layer of protection against intentional or accidental data access and modification.
To ensure effectiveness of the software, careful attention was paid to every aspect of the end user experience – from collecting data to accessing the system, entering information, modifying and viewing it. A sampling of the goals that guided the design:
Achieving these goals made for a product that is functional as well as effective and inviting to use.
[back to case studies]