LST Development Process

Research & Development Development Projects LST Development Process

The LST team builds Web-based communication and collaboration applications for the University of Washington community. To develop flexible software that can be used in many contexts—including teaching, learning, research, and everyday work—we follow an iterative, user-centered design and development process that focuses on understanding the needs and experiences of our users. Whether we are creating a new tool or updating an older one, our design decisions are based on direct feedback, user research, and findings from usability studies.

The Solstice Framework

The Catalyst Web Tools are built using Solstice, a Web application development framework created by our software developers. Solstice is available open source, as are many of the tools, such as WebQ, GoPost, Collect It, QuickPoll, FileManager, and ShareSpaces. Solstice is based on the MVC programming paradigm, which allows our development team to quickly build and release software, new features, and new functionality.

Iterative Design

Cumulative Commits, Total

Click thumbnail to view full image.

So that our users can benefit from new developments as quickly as possible, we follow an agile, iterative design and development process in which each individual Catalyst Web Tool is released in several stages. With essential and core functionality released first, the LST team can then build more advanced features while also revising the tool based on user feedback. Because we continue to refine tools based upon user feedback, no Catalyst Web Tool is ever really complete. It will receive updates over its entire life-cycle, as you can see in the Cumulative Commits graph to the left.

Ongoing Development

Per-day Commits, Last 90 Days

Click thumbnail to view full image.

Almost every day, our software developers check new application code into a repository, a process called "committing." Once committed, the code is tested as it passes through a Quality Assurance process before being packaged for release. You can see the amount of code committed over the last ninety days in the graph at left. In addition to all the familiar Catalyst Web Tools, you will also see commits for Admin Suite, an application used by LST staff to troubleshoot client issues, and for Majere, a Solstice application that helps LST developers build Solstice applications. We have recently developed the Equinox spider, an application that performs hundreds of user actions at once, helping us tune the performance of our tools. You will also see commits for a tool that we have not yet released, CommonView.

Rapid Release

Scanning the release highlights at right, you will readily notice a hallmark of the LST development process—the continual release of software, new features, and enhancements. We package commits for release on a weekly basis and, in response to client needs, release even more quickly at times. Some releases are big and very noticeable—an entirely new tool, for example. Others, like performance improvements that make the tools operate faster and more efficiently, may be invisible. New releases and maintenance take the Web Tools offline early Wednesday mornings (5:00 - 7:00am PST) to keep the Tools regularly enhanced and running smoothly.

Widespread Adoption

Click thumbnail to view full image.
Click thumbnail to view full image.

The LST development process has led to widespread adoption of the Catalyst Web Tools. During January 2008, users logged an average of 20,000 Catalyst Tools sessions every day. In the past nine months, 13,536 users have set up a Catalyst Web Tool for others to use, while 104,385 UW NetIDs have logged in to use them. Although the two graphs at left do not provide figures for all the Catalyst Web Tools, they both demonstrate their widespread usage. The top chart shows the number of Catalyst Web Tools set up over time, while the chart at the bottom tracks user activity with the tools.