Although UC Berkeley boasts an incredibly rich array of public events taking place on any given day -- from a Management of Technology lecture at the Haas School of Business to a film series at the Pacific Film Archive, from a physics colloquium to a dance performance at Cal Performances -- it can be difficult for people interested in these events to find out about them. These potential event attendees may be UC Berkeley faculty, staff, or students, or the general public.
Currently, the campus has some 70 online event calendars. The Public Affairs department attempts to aggregate and publicize as much public event information as possible in the current campus-wide calendar (http://www.berkeley.edu/calendar/), but it is not comprehensive. Imagine a potential student visiting campus for a day and wanting to find information all the events they might want to attend that afternoon. If he wanted to do a really thorough search, he would need to look at over 70 different calendars!
In another scenario, imagine a student or professor interested in biosensor research -- for instance a sensor that can detect anthrax. That person might find seminars of interest published in the calendars of the Physics Department, the School of Public Health, the College of Engineering, and in any of the life sciences academic units on campus. It is clearly difficult for a potential event attendee to get a comprehensive view of all the events happening here at UC Berkeley, or to find a particular event of interest to them.
Early in 2003, Adjunct Professor Bob Glushko of the School of Information Management & Systems (SIMS) approached the UC Berkeley Public Affairs office, which administers the campus-wide calendar, suggesting that there must be a better way to allow the many online public event calendars on the UC Berkeley campus to share event information. Dr. Glushko followed up with a visit to a WebNet meeting to make his case. Many calendar owners were receptive, and with this a wide-ranging collaboration, the UC Berkeley Calendar Network project was born.
Due to the decentralized nature of computing on the University of California, Berkeley campus, different schools, departments, and campus organizations often create applications on an ad-hoc basis. The lack of campus-wide guidelines and standards for designing and building applications make it difficult for developers to design for interoperability and reuse. Consequently, the Berkeley campus is inundated with applications, such as serving a similar purpose and repurposing similar content but built with different technologies and based on different, and often incompatible, data models, making it difficult for them to communicate with each other.
A striking example of this occurs with event calendars. Each calendar has its own way of describing events, uses different technology to create the calendar that displays them and different databases to store them. This means that there is no automated way to cross-post or share event information among calendars. Cross-posting is accomplished today using manual data entry forms located on many calendars' websites, or by sending a separate email with the event information to each calendar's administrator.
The goal of this project is to improve the process for sharing event information among different calendars on the UC Berkeley campus. In the summer of 2003 students and faculty from the School of Information Management & Systems (SIMS) undertook a collaborative effort with UC Berkeley staff members to develop a standard data model of an Event using Dr. Glushko's Document Engineering methodology. Next, a simplified, UC Berkeley-specific version of this Event model flexible and scalable enough to accommodate the requirements of most calendars on the Berkeley campus was developed. This Event model was then used as the basis for an event management system, the UC Berkeley Calendar Network (UCBCN). A team of SIMS students that included the author of this document designed and built a prototype of this system for their Masters thesis project. Then with the assistance of an e-Berkeley Innovation Grant, the author was hired to develop the functional requirements, technical requirements and complete the interface design. The User-Centered Design methodology was used throughout the development of this application, with members of the project team conducting interviews, usability tests, and focus groups with faculty, students, and staff from some two-dozen colleges, departments, and organizations on campus. This has also allowed potential campus customers of the application to play an active role in the its development, and become excited about using the new system.
The UCBCN consists of a web-based calendar which displays events conforming to this UC Berkeley Event data model and a Calendar & Event Management Application. This tool allows calendar owners to both manage the events in their calendar and customize their calendar’s appearance. It provides numerous ways to customize the calendar, including the uploading of a cascading style sheet or an XSL transform. This is a critical piece of the project because it is important to many calendar owners on the UC Berkeley campus to “brand” their department by creating a website and web calendar with a consistent look and feel.
Calendars using this system will store their events in a centralized repository also based on the UC Berkeley Event data model. This Central Event Repository will store all campus events for calendars participating in the system, but each calendar administrator will be able to use the Calendar & Event Management Application to decide on an event-by-event basis which of their events they would like to make public and available for publication in other campus calendars. Administrators of each calendar may then decide which of the "shared" events from other calendars they want to publish in their calendar. To avoid the daily task of sorting through the many shared events taking place across the campus, the application includes a feature wherein each calendar can subscribe – by keywords, sponsors, and other criteria – to automatically pull events potentially of interest to their department into their event queue. From this queue, administrators then can decide which events to include in their own calendar. Additionally, calendar owners who have specialized web development needs or a need to maintain their own repository of event information who may not be able to use this calendar can still share Event information with other calendars. They may send event information to, or pull information from the centralized event repository using an XML document validated by a W3C Schema that, again, is based on the UC Berkeley Event data model.
In November, the author of this document presented a paper she co-authored with Dr. Glushko called “Model-driven Application Design for a Campus Calendar Network” at the XML 2004 conference. This paper discusses the way Document Engineering and User-Centered Design methodologies were applied in the development of the UCBCN. The presentation was very well received, and the author was selected for one of two “Best Presentation” awards from over 100 presenters at the conference. The paper and presentation also promoted the more generalized version of the Event model to a large group of potential users. Because this model is general enough to apply to any public event, we intend to make it available in various XML Schema repositories, and hope its use will become widespread, potentially developing into a standard.
Information on the entire development process of the UCBCN project can be found at the project website: http://groups.sims.berkeley.edu/EventCalendar/.
There are many calendars on the UC Berkeley campus that post events of interest to other departments or organizations. The gateway calendar is a prime example of a calendar that is interested in almost all campus events. However, there is currently no automated way to share event information among these numerous calendars. Usually the process of cross-posting an event requires either manually copying the event information from one calendar and pasting it into the next, or sending an email to a calendar administrator. This is problematic in many ways. First the process of re-entering event information wastes time, is inherently error prone and creates a data maintenance nightmare. Second, replicating event information increases data storage costs, can compromise the general integrity and timeliness of event information, and can increase overall complexity. Third, incompatible data models limit the amount and type of event information that can be repurposed. Finally, and most importantly, the inability of campus calendars to automatically share events makes is difficult for consumers of event information to find events of interest to them. The UC Berkeley Calendar Network (UCBCN) is an effort to address all these issues by for the first time enabling multiple calendars on campus to automatically share and publish select event information. Concurrently, the system would enhance the campus-wide calendar, providing a more comprehensive listing of events.
The UC Berkeley Calendar Network will be referred to as the UCBCN.
The University of California, Berkeley will be referred to as UC Berkeley.
The School of Information Management & Systems at UC Berkeley will be referred to as SIMS.
Information Systems & Technology at UC Berkeley will be referred to as IS&T.
The audience for this document is primarily Public Affairs and the developer of the final application. However, Section 1 (Introduction) and Section 16 (Cost Estimate) are also directed at funding decision-makers at UC Berkeley.
The goal of this project is to build and deploy the UCBCN, a complete calendar network solution, on the UC Berkeley campus. This calendar network will allow all campus calendars to manage and store event information in such a way that it can be easily shared with other calendars. It must be attractive to a range of users, from "high-level" calendars with complicated data models for an event and calendars with more features as well as "low-level" calendar owners who may currently use a simple static list of events for their calendar, or who many not even have a calendar on their website.
The most critical project requirement is that we design a solution that is as appealing as possible to campus calendar administrators. This is a very important consideration because a critical mass of calendars using the system must be attained in order for the calendar network to be successful. If too few calendars are using our system to share event information, it may not be worthwhile for other calendar administrators to make the effort to switch over to this new system. In order to convince current calendar owners to switch over to our system, we must provide them with a comprehensive solution which meets or exceeds their needs.
In order to fulfill this critical project requirement, we must make sure our system fulfills the current needs of as many calendar owners as possible. The major needs that we have identified include:
The ability to store and display all event information in a manner that is appealing and usable for calendar users
The ability to share event information with other calendars in an automated fashion
The ability to either reproduce the current calendar's "look and feel," create a new calendar with a look and feel that integrates effectively into the organization's website, or continue to use the current calendar
To fulfill these requirements, our objective is to create a system that consists of:
a standard UC Berkeley data model of an Event which is flexible and scalable enough to accommodate the requirements of most calendars on the Berkeley campus, encoded in an XML schema to facilitate data transmission
a Calendar & Event Management Application, which allows users to manage their events stored in a central repository, easily share their events with other campus calendars and customize their calendar's appearance
a visually compelling dynamic web-based calendar for administrators who do not currently have the resources to create their own
a system architecture consisting of a centralized event repository based on the Event data model which allows for XML feeds to and from the repositories for "high-level" calendar administrators who choose to maintain their own website and repository
The UC Berkeley Calendar Network website can be found at: http://groups.sims.berkeley.edu/EventCalendar/.
The "Model-driven Application Design for a Campus Calendar Network" paper presented at XML 2004 can be found at: http://www.idealliance.org/proceedings/xml04/abstracts/paper228.html.
The "WebAIM Section 508 Checklist" can be found at: http://www.webaim.org/standards/508/checklist.
The W3C's "Web Content Accessibility Guidelines 1.0" can be found at: http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/.
The FreeTrade Design Document can be found at: http://share.whichever.com/index.php?SCREEN=freetrade.