Goals of the SLICE project

Computers have long been thought to have many potential uses in education. They have been used off-line for drill for many years, but their potential in classrooms has been studied only fairly superficially. The most basic problem here is that the presence of traditional computers or laptops in classrooms poses insurmountable practical problems: They are large, and therefore block the view of student and professor, and because data can only be entered in them by typing, they are noisy and distracting. As long as no arrangement of computers in a class can be made practical, it is idle to speak of their potential uses and advantages.

The Tablet PC, sitting flat like a pad of paper, and being written on like one, substantially eliminates these problems. Furthermore, the use of digital ink creates possibilities not present when the primary input mode is typing.

So what exactly can be done with these machines in the classroom? When only the instructor has a Tablet, the advantages are the ability to change colors easily, erase cleanly, create additional writing space instantly, and save the notes to post on the web. We can also anticipate subject-specific features, such as creating a "live" logic circuit. In the far more interesting case when all the students also have tablets, many more possibilities arise. In a lecture environment, the instructor's notes can be sent directly to each student's tablet, and the instructor can in turn see what the students are writing. The instructor can set exercises for the class and know exactly who gave what answer; on the other hand, students can send questions anonymously, overcoming a principal hindrance to student interaction. Again, we can imagine subject-specific applications in which students collaborate electronically in class. Many examples of these features have been developed and described in the literature, and many more are undoubtedly waiting to be discovered. And this is not to mention non-lecture situations, where the tablets can support various forms of student collaboration.

Software to be used in an educational setting needs above all to be reliable and easy to use. A technology that entails significant down time in class - due to slow start-up, long delays, or crashes - will quickly be abandoned. An instructor is always operating under time constraints and the pressure of public performance; if a program is too confusing or hard to use, it will likewise be unpopular.

Another requirement on the software is that it be adaptable. There is no one design that will be easy for all instructors to use, or will be appropriate for every educational environment, or will provide educational benefit to students at every educational level. Thus, adaptability is critical.

Finally, an important long-term requirement is that the program be portable, meaning it can run on a variety of platforms. For the moment, only the Tablet PC has the power and capabilities to support the uses we envision, and the only classrooms fully equipped with pen-input devices are ones that schools equip themselves. But over time, as pen-enabled devices become popular in education, we will see a variety of platforms of varying power and form factor, built on a variety of operating systems. All must be capable of interoperating.

So, these are the properties we mainly want to see in a program for educational use: reliability, ease of use, adaptability, portability.

Among systems that have been developed for classroom use of Tablet PCs, Slice is unique in its adaptability, because it is built to be extensible; knowledgeable users can add to its capabilities in infinite ways. We focus on extensibility in Slice because it is the most interesting feature from an architectural point of view. (We are computer types, after all.)

So what makes a program extensible? We believe the keys are (1) making it easy to get started writing extensions, and (2) minimizing what a user needs to know to write extensions. Writing extensions cannot be "easier than programming," because it is programming. But the start-up cost can be lowered. Reducing the "knowledge gap" requires that the basic mechanism of extension be easy to understand. It also requires that interference between extensions be minimized to the greatest extent possible (since the extender will usually be building on top of an existing extension).

Our aim in this project is to create an architecture with a powerful extensibility mechanism, which is easy to learn, and which promotes independence of extensions.

    Last updated on Wed Aug 17 22:30:47 CDT 2005 .