Creating Awareness with Subscription Services (CASS) Strategy


Concepts: Home | Awareness Styles | Information Sources | Meta Information | Terminology | Scenarios
Systems: CASSandra Toolkit | Awareness Tools | Download | Documentation
General: Awareness Guages | Flier | People | Acknowledgements
Related Projects:  Yancees - a versatile notification service

CASSandra Toolkit

The download of the CASSIUS software includes the CASSandra toolkit. The toolkit comes with three main capabilities:
  1. Supports the implementation of information sources and awareness tools in Java by handling the sending of messages to CASSIUS and parsing the responses. Messages can be sent by the current thread -- halting execution until a response is received, and allowing the current thread to analyze the response. Messages can also be sent be another thread, allowing the current thread to queue a message to be sent and continuing execution without examining the response.
  2. Supports awareness tools by automatically polling the server for new notifications
  3. Supports the design of subscription editors, and is distributed with a subscription editor (shown below) which is useful for tools that can use a Java Swing interface. Other toolkits can easily be built for other environments such as our J2ME awareness tools (Java for mobile devices).
In CASSIUS 1.0, we had a version of CASSandra implemented in Javascript. These toolkits are fairly easy to implement for other languages, and of course, it is not difficult to implement information sources and awareness tools with CASSandra: all communication with CASSIUS is through HTTP protocols supported by most development languages.

Implementing Awareness Tools: CASSandra

To implement an awareness tool using the CASSandra toolkit, one need only have:
  1. Implement the cassandra.Toolkit.NotificationListener interface within the awareness tool
  2. Construct an instance of the Toolkit, and call the method startPolling()
  3. Add the NotificationListener to the toolkit's list of recipients of new notifications with addNotificationListener
  4. Provide a user interface for displaying notifications
  5. Provide a user interface to enable users to open the subscription edit window provided with the software..

Implementing Awareness Tools: By Hand

To implement awareness tools without using CASSandra (which currently only supports Java Development), or to build versions of CASSandra for other languages, the primary requirement is the ability to send HTTP requests -- something supported by languages ranging from application building languages to scripting languages, and is supported on mobile devices as well. the following must be done:
  1. Send http requests to CASSIUS polling for new notifications
  2. Implement a user interface that provides a useful awareness style and which presents notifications retrieved when polling.
  3. Send the user's subscriptions to CASSIUS; these can either be hard coded, or a user interface can be provided that allows the user to specify what they are interested in.
For more information on designing toolkits, awareness tools and information sources without using the Java version of CASSandra, look at the README.html
The default subscription editor

Research Staff Michael Kantor
Professor David F. Redmiles
Institute for Software Research
Information and Computer Science
University of California, Irvine CA 92697-3425


E-mail: mkantor@ics.uci.edu E-mail: redmiles@ics.uci.edu