Computer Science Department
University of Illinois at Urbana-Champaign

A note on reliability

Slice is research software. It has not been subject to the kind of rigorous testing that a commercial product would be. However, from our experience, we believe it can be very reliable in use. Here is a summary of that experience (as of June 2009):

  • Simple lecture application. This app has been used, in all, for about 500 hours of lectures, by perhaps a dozen different people. It has not crashed, as far as we know, in about two years.
  • Lecture with separate display. This app was deployed only very recently, at the tail end of one class in the Spring '09 semester. Total time in use: 4 hours. No crashes.
  • Code review application. This application has not yet been used in an actual class.
  • Connected classroom (WIPTE demo). This application was used once, for a half-hour demo at WIPTE '08. No crashes. (It is noteworthy that, for that demo, the instructor's tablet also acted as the server and dashboard; the students were on twenty other tablets. This shows that the overall load of three simultaneous applications - remember that every message, ink stroke, and button click invokes a Python script, and that the dashboard records every stroke of every student - is not too burdensome even for a relatively small machine.)
  • Spring '09. This application was used for five 50-minute classes per week for about four weeks (18 classes). In each class, there was a workstation running the server and dashboard, an instructor tablet, and twenty student tablets; in a typical class, the dashboard received and stored about 20,000 messages. We experienced one dashboard crash at the very beginning of the first day (we restarted it without incident), and several student tablet crashes at the end of the class (when student notes were being sent to a repository) in the first week; after that, the system ran flawlessly. During these four weeks, no student every lost any work or was unable to participate in the class due to problems with the technology.

Based on these experiences, we conclude that the structure of Slice - in particular, the continual invocation of Python scripts - does not create a critical efficiency problem, and that the current implementation of Slice is sufficiently robust to be usable "in production." Needless to say, no Slice application intended for live classroom use should be deployed without extensive testing.

    Last updated on Tue Jun 2 13:50:42 CDT 2009