SlideShare a Scribd company logo
Model-driven Application Design
v
for a Campus Calendar Network
Allison Bloodworth
Project Manager
e-Berkeley Program Office
University of California, Berkeley
abloodworth@berkeley.edu
November 18, 2004
Today’s Talk



The Generic Problem of Incompatible Data
Models
Our Case Study Context




Model-Based Application Design




Model used for information exchange & to
guide the user interface designer

Our Approach





UC Berkeley Calendar Network

Document Engineering
User-Centered Design

Demo of Prototype
The Generic Problem of Incompatible
Models


Many large organizations struggle with
incompatible models for applications created in
different departments




Time sheets, contact management systems,
expense forms, project schedules, registrations, etc.

The problems are also typical of those that
arise between enterprises with incompatible
catalogs and transactional documents like
orders and invoices.
Generic Symptoms


Can’t share data



Models aren’t captured, can’t be shared or
reused



Can’t easily create and maintain
interconnected or similar applications
Case Study: UC Berkeley Calendar
Network


Goal: Design an enterprise application to
allow web-based event calendars to share
event information



Challenge: Working in a decentralized
university environment where:




There are very few formal guidelines on creating
web-based applications
It is difficult for different departments to
coordinate with one another
Many departments have very limited technical
resources
Our Case Study Context


There are numerous calendars on the
Berkeley campus














The Academic Calendar
Bancroft Library
Berkeley Art Museum/Pacific Film Archive
Boalt Law School
Cal Performances
College of Engineering
College of Letters & Science
Haas School of Business
Institute for East Asian Studies
Lawrence Hall of Science
Live.berkeley.edu
UC Berkeley gateway site (www.berkeley.edu)
…and more than 70 others
U.C. Berkeley Gateway Calendar
Boalt Law School
Berkeley Natural History
Museums
The Purpose of Web Calendars


A web calendar is a marketing tool
 Its main purpose is to publicize events,
either within a community, or to the
general public



Calendars should make it as easy as
possible for users to find information on
events of interest to them
The Problem with calendars at
Berkeley


It is difficult to get a comprehensive view
of all campus events on a given day



It can be very difficult for calendar users to
find events of interest to them


If they really want to do a thorough search, they
must go to many different calendars
Our Challenges


Because the purpose of a calendar is to
publicize events, many of these calendars
would like to share their events with each
other




Currently there is no automated way to do this

Incompatible data models & lack of
technical resources prevent an automated
exchange
The Key to Project Success:


Convince departments on campus to
switch to our system


Have to gain “critical mass” of users in order to
obtain enough event information to be useful
to the system’s users

1.

Design a shared data model of an event that
met almost everyone’s needs
Allow calendars to provide their users with a
customized view of the data
Assist users of varying levels of technical skill
in creating a customized calendar that is better
than the one they currently use

2.
3.
Incompatible Data Models


U.C. Berkeley Gateway Site



Haas School of Business
The Solution





A standard data model of an Event
(
http://dream.berkeley.edu/EventCalendar/Eve
)
A centralized repository of Event
information
A calendar management tool





Manage events in the repository
Customize a visually compelling, dynamic webbased calendar

A design for a system architecture
allowing XML feeds to and from the
repository for calendars who choose to
System Architecture
Model-Based Application Design


The collection, presentation, and exchange
of data is governed by a formal model



Application can be generated from model
in limited circumstances (simple forms,
workflow) and when interfaces are only to
other applications (e.g, Web Services)
In other cases, model can guide the UI
designer







What information is most important
How best to group information together
Co-occurrence constraints
Our Approach


Document Engineering (DE)





User-Centered Design (UCD)




Help us design the documents that are
interfaces to systems or services
The data exchange model of an Event

Help us design the applications that are
interfaces for people

Our context had both service interfaces &
user interfaces
What is Document Engineering?


“A new discipline for specifying, designing,
and implementing the electronic
documents that request or provide
interfaces to business processes via webbased services”
-





UC Berkeley Center for Document Engineering
website (http://cde.berkeley.edu)

A document-focused method of analyzing
information from diverse sources and
merging it to create a single, unified data
model of the domain
End result: a document that “defines a
packet of information needed to carry out
a self-contained logical message”

(from Glushko & McGrath, Document Engineering, MIT Press, 2005)
Document Engineering (DE)



Context & Business Process Analysis
Document Analysis




Component Analysis




Designing a (Relational) Component Model

Document Assembly




Harvesting and Consolidating data elements

Component Assembly




Inventory of Existing Models and Information Sources

Assembling a Document Model

Implementation
Encoding Models as Schemas
 Deploying Models in Applications


(from Glushko & McGrath, Document Engineering, MIT Press, 2005)
(from Document Engineering courses taught at UC Berkeley)
Context Analysis – Needs
Assessment


Interviews


Student Organizations





Academic Departments & Schools













Center for Latin American Studies
Institute of East Asian Studies
International House

Museums




Information Systems and Technology

Centers, Institutes & other campus organizations




Boalt Law School
College of Letters & Science
College of Natural Resources
Haas School of Business
Graduate School of Journalism
School of Public Health
School of Information Management & Systems

University Administration




Associated Students of the University of California
Graduate Assembly

Berkeley Art Museum and Pacific Film Archive

Recreational Sports
Interview Findings





Very important to maintain brand, or “look
and feel” of rest of website
Ability to update information easily and
quickly
Share events with other organizations on
campus
3 levels of users:




Low level – Static html or no calendar
Medium level - Willing to try other calendar
applications
Advanced level – Do not want to replace current
system but want to share events with UCB
community
User-Centered Design Tasks (UCD)




Personas & Goals
Scenarios
Task Analysis




Frequency & importance of tasks to each
persona

Competitive Analysis








Web Event
Cal Agenda
Calendars.net
Live.berkeley.edu
iCal
MS Outlook
Yahoo Calendar
DE - Document Analysis


Creation of a “Document Inventory”







Document guidelines & standards
Sample document instances
Web pages
Other information sources

Standards Investigated


iCalendar (RFC 2445)




Source of our repetition rules

SKICal


Influenced our Admission Info section
DE- Document Analysis (con’t)


Calendar types selected for evaluation












Academic Departments
Academic Colleges/Schools
Research Centers
Libraries
Museums
Athletics
Personal Calendaring Systems
Administrative Departments
Student Groups

Analyzed 23 calendars in all




A representative sample of the domain
Kept analyzing new calendars until “law of
diminishing returns” told us when to stop
Used 80-20 rule to focus efforts
DE - Component Analysis


Creation of a “Consolidated Table of
Content Components”
DE - Component Analysis (con’t)


Harvesting & Consolidating Components


Need metadata to capture the meaning &
business rules of each component because the
name is not “self-describing”












Calendar
Name of data element in calendar
Our semantically unambiguous name (glossary)
Composite Name (groups of related elements, e.g.
DateTime)
Description
Data Type
Possible Value
Default Value
Etc.

Harvesting took on average 2 hours per
calendar
DE - Component Analysis (con’t)


Glossary
Our simplified version of a controlled vocabulary
 Ensure that every component is semantically distinct by
weeding out homonyms & synonyms




Ensure that we break elements down to an
appropriate level of granularity for our context
of use



Collected average of 16 data elements per
calendar from 23 calendars
350 total elements from all the calendars
 150 had unique names
 100 had unique semantic meaning

DE – Component Analysis
(con’t)
Calendar

Calendar
Element
Name

Element
Glossary
Name

Name of
Evaluator

Doe
Library

Location

Location

Sara

Event
Location

Math
Dept

Location

Location

Sara

Event
Location

IAS

Place

Location

Sara

Event
Location



Element
Glossary
ID

Look for elements from other vocabularies
to reuse



AddressType from UBL
PersonalNameType from BABL
DE - Component Assembly

UML Class Diagram created with Dave Carlson’s “hyperModel”
tool
DE - Component Assembly (con’t)


Strict Normalization


Functional dependency






If the value of one component changes when the other
changes

We may relax our normalization principles for
the sake of efficiency or ease of use

“Core & Contexts”




Top down vs. bottom up approach
Core - set of elements that are common to all
document models
Context - structures more related to specific
contexts
Sometimes there are few pre-defined strong semantic
constraints, so we create our own
 Admission Info section in “Add Event” form

DE – Document Assembly


Document hierarchy imposes an
interpretation on a relational model

Image from Glushko & McGrath, Document Engineering, MIT Press,
DE – Implementation


Encoding our model in W3C XML Schema



Creating the application that uses the
Event model to exchange of event
information between calendars
DE – Implementation (con’t)


Schema Design Issues



Design for reuse, maybe even in other domains
Optional vs. Required Elements
Required: Event Title, Event ID, DateTime
 Minimal “Core” of required elements sets low barrier to
entry







“Garden of Eden” style schema – everything’s
global!


Redefines (types)








Important for creating enumerated lists

Substitution Groups (elements)




Allows us to gain the necessary critical mass of users in
our domain
Allows for reuse in other domains

Allowed too much flexibility in the instance in our domain
Wanted to allow them if necessary in other domains

xsi:Any as opposed to defining an “Open-entry” element

Codelists (?)
UCD – Iterative Design Process



Allowed us to refine the way we presented
information to users
Inject user feedback into the design process

Paper Prototype
UCD – Iterative Design Process
Interactive Prototype
UCD – Iterative Design Process


Findings from Usability Testing


Application Layout
Paper prototype

1st Interactive prototype

Latest Design



Terminology





Post vs. Publish
Event Contact

Features


Export
Calendar Transforms



Event Instance
Institute of East Asian Studies calendar





Letters & Science calendar





Original (http://ieas.berkeley.edu/events/)
Our transformation
Original (http://ls.berkeley.edu/events/)
Our transformation

The use of XML & XSL is critical in allowing
calendars to easily create a customized
view of the data
Demonstration
Questions?
abloodworth@berkeley.edu

More Related Content

PDF
An Effective Approach for Document Crawling With Usage Pattern and Image Base...
Editor IJCATR
 
PDF
Web Services Discovery and Recommendation Based on Information Extraction and...
ijwscjournal
 
PDF
IRJET-Model for semantic processing in information retrieval systems
IRJET Journal
 
PDF
Design and Implementation of Meetings Document Management and Retrieval System
CSCJournals
 
PDF
Basic Campus Network Design - Network Cabling System
Md. Abdul Awal
 
PDF
M.sc. engg (ict) admission guide database management system 4
Syed Ariful Islam Emon
 
PPTX
Database Management System, Lecture-1
Sonia Mim
 
PPT
OLE Project - CULS Presentation
Beth Warner
 
An Effective Approach for Document Crawling With Usage Pattern and Image Base...
Editor IJCATR
 
Web Services Discovery and Recommendation Based on Information Extraction and...
ijwscjournal
 
IRJET-Model for semantic processing in information retrieval systems
IRJET Journal
 
Design and Implementation of Meetings Document Management and Retrieval System
CSCJournals
 
Basic Campus Network Design - Network Cabling System
Md. Abdul Awal
 
M.sc. engg (ict) admission guide database management system 4
Syed Ariful Islam Emon
 
Database Management System, Lecture-1
Sonia Mim
 
OLE Project - CULS Presentation
Beth Warner
 

Similar to Model-driven Application Design for a Campus Calendar Network (20)

PDF
Solutions for Problems: Modern Database Management (12th Edition) by Hoffer a...
AbrahamBenjamin12
 
PPT
Three Software Architecture Styles
Jorgen Thelin
 
PPTX
Experience from 10 months of University Linked Data
Mathieu d'Aquin
 
PPT
Database Management System Introduction
Smriti Jain
 
PPT
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Raza Baloch
 
PPT
DBMS an Example
Dr. C.V. Suresh Babu
 
PPTX
Introduction to Database
Siti Ismail
 
PDF
database introductoin optimization1-app6891.pdf
parveen204931475
 
PPT
Boston Mlc Ts2
George Boston
 
PPT
e-Framework Tools
Adrian Stevenson
 
PPT
Database Systems Concepts, 5th Ed
Daniel Francisco Tamayo
 
PPT
DBMS - Introduction
JOSEPHINE297640
 
PPTX
Lecture 1 to 3intro to normalization in database
maqsoodahmedbscsfkhp
 
PPT
Simulating Enterprise Architecture Models
balbirbarn
 
PPT
NITLE Shared Academics: Examining IT and Library Service Convergence
NITLE
 
PDF
Object oriented software engineering
Varsha Ajith
 
PPT
Implementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCD
Ros Pan
 
PPT
Lecture01 257
hansamurli
 
PPT
Faceted Navigation (LACASIS Fall Workshop 2005)
Bradley Allen
 
PPTX
OOAD unit1 introduction to object orientation
Dr Chetan Shelke
 
Solutions for Problems: Modern Database Management (12th Edition) by Hoffer a...
AbrahamBenjamin12
 
Three Software Architecture Styles
Jorgen Thelin
 
Experience from 10 months of University Linked Data
Mathieu d'Aquin
 
Database Management System Introduction
Smriti Jain
 
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Raza Baloch
 
DBMS an Example
Dr. C.V. Suresh Babu
 
Introduction to Database
Siti Ismail
 
database introductoin optimization1-app6891.pdf
parveen204931475
 
Boston Mlc Ts2
George Boston
 
e-Framework Tools
Adrian Stevenson
 
Database Systems Concepts, 5th Ed
Daniel Francisco Tamayo
 
DBMS - Introduction
JOSEPHINE297640
 
Lecture 1 to 3intro to normalization in database
maqsoodahmedbscsfkhp
 
Simulating Enterprise Architecture Models
balbirbarn
 
NITLE Shared Academics: Examining IT and Library Service Convergence
NITLE
 
Object oriented software engineering
Varsha Ajith
 
Implementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCD
Ros Pan
 
Lecture01 257
hansamurli
 
Faceted Navigation (LACASIS Fall Workshop 2005)
Bradley Allen
 
OOAD unit1 introduction to object orientation
Dr Chetan Shelke
 
Ad

More from Allison Bloodworth (8)

PPTX
Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...
Allison Bloodworth
 
PPT
Selling userneedsassessment 7-30-07_full
Allison Bloodworth
 
PDF
Fluid Design Pattern Library
Allison Bloodworth
 
PDF
Introduction to User-Centered Design
Allison Bloodworth
 
PDF
User-Centered Design in IT: the Low-Hanging Fruit
Allison Bloodworth
 
PDF
Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...
Allison Bloodworth
 
PDF
Use Cases in the Fluid Project
Allison Bloodworth
 
PDF
Using Personas to Create User-centered Designs
Allison Bloodworth
 
Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...
Allison Bloodworth
 
Selling userneedsassessment 7-30-07_full
Allison Bloodworth
 
Fluid Design Pattern Library
Allison Bloodworth
 
Introduction to User-Centered Design
Allison Bloodworth
 
User-Centered Design in IT: the Low-Hanging Fruit
Allison Bloodworth
 
Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...
Allison Bloodworth
 
Use Cases in the Fluid Project
Allison Bloodworth
 
Using Personas to Create User-centered Designs
Allison Bloodworth
 
Ad

Recently uploaded (20)

PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Doc9.....................................
SofiaCollazos
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Doc9.....................................
SofiaCollazos
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 

Model-driven Application Design for a Campus Calendar Network

  • 1. Model-driven Application Design v for a Campus Calendar Network Allison Bloodworth Project Manager e-Berkeley Program Office University of California, Berkeley [email protected] November 18, 2004
  • 2. Today’s Talk   The Generic Problem of Incompatible Data Models Our Case Study Context   Model-Based Application Design   Model used for information exchange & to guide the user interface designer Our Approach    UC Berkeley Calendar Network Document Engineering User-Centered Design Demo of Prototype
  • 3. The Generic Problem of Incompatible Models  Many large organizations struggle with incompatible models for applications created in different departments   Time sheets, contact management systems, expense forms, project schedules, registrations, etc. The problems are also typical of those that arise between enterprises with incompatible catalogs and transactional documents like orders and invoices.
  • 4. Generic Symptoms  Can’t share data  Models aren’t captured, can’t be shared or reused  Can’t easily create and maintain interconnected or similar applications
  • 5. Case Study: UC Berkeley Calendar Network  Goal: Design an enterprise application to allow web-based event calendars to share event information  Challenge: Working in a decentralized university environment where:    There are very few formal guidelines on creating web-based applications It is difficult for different departments to coordinate with one another Many departments have very limited technical resources
  • 6. Our Case Study Context  There are numerous calendars on the Berkeley campus              The Academic Calendar Bancroft Library Berkeley Art Museum/Pacific Film Archive Boalt Law School Cal Performances College of Engineering College of Letters & Science Haas School of Business Institute for East Asian Studies Lawrence Hall of Science Live.berkeley.edu UC Berkeley gateway site (www.berkeley.edu) …and more than 70 others
  • 10. The Purpose of Web Calendars  A web calendar is a marketing tool  Its main purpose is to publicize events, either within a community, or to the general public  Calendars should make it as easy as possible for users to find information on events of interest to them
  • 11. The Problem with calendars at Berkeley  It is difficult to get a comprehensive view of all campus events on a given day  It can be very difficult for calendar users to find events of interest to them  If they really want to do a thorough search, they must go to many different calendars
  • 12. Our Challenges  Because the purpose of a calendar is to publicize events, many of these calendars would like to share their events with each other   Currently there is no automated way to do this Incompatible data models & lack of technical resources prevent an automated exchange
  • 13. The Key to Project Success:  Convince departments on campus to switch to our system  Have to gain “critical mass” of users in order to obtain enough event information to be useful to the system’s users 1. Design a shared data model of an event that met almost everyone’s needs Allow calendars to provide their users with a customized view of the data Assist users of varying levels of technical skill in creating a customized calendar that is better than the one they currently use 2. 3.
  • 14. Incompatible Data Models  U.C. Berkeley Gateway Site  Haas School of Business
  • 15. The Solution    A standard data model of an Event ( http://dream.berkeley.edu/EventCalendar/Eve ) A centralized repository of Event information A calendar management tool    Manage events in the repository Customize a visually compelling, dynamic webbased calendar A design for a system architecture allowing XML feeds to and from the repository for calendars who choose to
  • 17. Model-Based Application Design  The collection, presentation, and exchange of data is governed by a formal model  Application can be generated from model in limited circumstances (simple forms, workflow) and when interfaces are only to other applications (e.g, Web Services) In other cases, model can guide the UI designer     What information is most important How best to group information together Co-occurrence constraints
  • 18. Our Approach  Document Engineering (DE)    User-Centered Design (UCD)   Help us design the documents that are interfaces to systems or services The data exchange model of an Event Help us design the applications that are interfaces for people Our context had both service interfaces & user interfaces
  • 19. What is Document Engineering?  “A new discipline for specifying, designing, and implementing the electronic documents that request or provide interfaces to business processes via webbased services” -   UC Berkeley Center for Document Engineering website (http://cde.berkeley.edu) A document-focused method of analyzing information from diverse sources and merging it to create a single, unified data model of the domain End result: a document that “defines a packet of information needed to carry out a self-contained logical message” (from Glushko & McGrath, Document Engineering, MIT Press, 2005)
  • 20. Document Engineering (DE)   Context & Business Process Analysis Document Analysis   Component Analysis   Designing a (Relational) Component Model Document Assembly   Harvesting and Consolidating data elements Component Assembly   Inventory of Existing Models and Information Sources Assembling a Document Model Implementation Encoding Models as Schemas  Deploying Models in Applications  (from Glushko & McGrath, Document Engineering, MIT Press, 2005) (from Document Engineering courses taught at UC Berkeley)
  • 21. Context Analysis – Needs Assessment  Interviews  Student Organizations    Academic Departments & Schools           Center for Latin American Studies Institute of East Asian Studies International House Museums   Information Systems and Technology Centers, Institutes & other campus organizations   Boalt Law School College of Letters & Science College of Natural Resources Haas School of Business Graduate School of Journalism School of Public Health School of Information Management & Systems University Administration   Associated Students of the University of California Graduate Assembly Berkeley Art Museum and Pacific Film Archive Recreational Sports
  • 22. Interview Findings     Very important to maintain brand, or “look and feel” of rest of website Ability to update information easily and quickly Share events with other organizations on campus 3 levels of users:    Low level – Static html or no calendar Medium level - Willing to try other calendar applications Advanced level – Do not want to replace current system but want to share events with UCB community
  • 23. User-Centered Design Tasks (UCD)    Personas & Goals Scenarios Task Analysis   Frequency & importance of tasks to each persona Competitive Analysis        Web Event Cal Agenda Calendars.net Live.berkeley.edu iCal MS Outlook Yahoo Calendar
  • 24. DE - Document Analysis  Creation of a “Document Inventory”      Document guidelines & standards Sample document instances Web pages Other information sources Standards Investigated  iCalendar (RFC 2445)   Source of our repetition rules SKICal  Influenced our Admission Info section
  • 25. DE- Document Analysis (con’t)  Calendar types selected for evaluation           Academic Departments Academic Colleges/Schools Research Centers Libraries Museums Athletics Personal Calendaring Systems Administrative Departments Student Groups Analyzed 23 calendars in all    A representative sample of the domain Kept analyzing new calendars until “law of diminishing returns” told us when to stop Used 80-20 rule to focus efforts
  • 26. DE - Component Analysis  Creation of a “Consolidated Table of Content Components”
  • 27. DE - Component Analysis (con’t)  Harvesting & Consolidating Components  Need metadata to capture the meaning & business rules of each component because the name is not “self-describing”           Calendar Name of data element in calendar Our semantically unambiguous name (glossary) Composite Name (groups of related elements, e.g. DateTime) Description Data Type Possible Value Default Value Etc. Harvesting took on average 2 hours per calendar
  • 28. DE - Component Analysis (con’t)  Glossary Our simplified version of a controlled vocabulary  Ensure that every component is semantically distinct by weeding out homonyms & synonyms   Ensure that we break elements down to an appropriate level of granularity for our context of use  Collected average of 16 data elements per calendar from 23 calendars 350 total elements from all the calendars  150 had unique names  100 had unique semantic meaning 
  • 29. DE – Component Analysis (con’t) Calendar Calendar Element Name Element Glossary Name Name of Evaluator Doe Library Location Location Sara Event Location Math Dept Location Location Sara Event Location IAS Place Location Sara Event Location  Element Glossary ID Look for elements from other vocabularies to reuse   AddressType from UBL PersonalNameType from BABL
  • 30. DE - Component Assembly UML Class Diagram created with Dave Carlson’s “hyperModel” tool
  • 31. DE - Component Assembly (con’t)  Strict Normalization  Functional dependency    If the value of one component changes when the other changes We may relax our normalization principles for the sake of efficiency or ease of use “Core & Contexts”    Top down vs. bottom up approach Core - set of elements that are common to all document models Context - structures more related to specific contexts Sometimes there are few pre-defined strong semantic constraints, so we create our own  Admission Info section in “Add Event” form 
  • 32. DE – Document Assembly  Document hierarchy imposes an interpretation on a relational model Image from Glushko & McGrath, Document Engineering, MIT Press,
  • 33. DE – Implementation  Encoding our model in W3C XML Schema  Creating the application that uses the Event model to exchange of event information between calendars
  • 34. DE – Implementation (con’t)  Schema Design Issues   Design for reuse, maybe even in other domains Optional vs. Required Elements Required: Event Title, Event ID, DateTime  Minimal “Core” of required elements sets low barrier to entry     “Garden of Eden” style schema – everything’s global!  Redefines (types)     Important for creating enumerated lists Substitution Groups (elements)   Allows us to gain the necessary critical mass of users in our domain Allows for reuse in other domains Allowed too much flexibility in the instance in our domain Wanted to allow them if necessary in other domains xsi:Any as opposed to defining an “Open-entry” element Codelists (?)
  • 35. UCD – Iterative Design Process   Allowed us to refine the way we presented information to users Inject user feedback into the design process Paper Prototype
  • 36. UCD – Iterative Design Process Interactive Prototype
  • 37. UCD – Iterative Design Process  Findings from Usability Testing  Application Layout Paper prototype 1st Interactive prototype Latest Design  Terminology    Post vs. Publish Event Contact Features  Export
  • 38. Calendar Transforms   Event Instance Institute of East Asian Studies calendar    Letters & Science calendar    Original (http://ieas.berkeley.edu/events/) Our transformation Original (http://ls.berkeley.edu/events/) Our transformation The use of XML & XSL is critical in allowing calendars to easily create a customized view of the data

Editor's Notes

  • #4: consultants –> timesheets in different formats
  • #6: Began as a Masters thesis project at UC Berkeley School of Information Management & Systems Currently in development in the e-Berkeley Program Office at UC Berkeley
  • #7: DON’T READ HEADER*
  • #8: list of events with some navigation
  • #9: filter by audience
  • #10: fewer events and more navigation
  • #12: Visitors to the Berkeley campus Students & Alumni Faculty & Staff
  • #13: DON’T READ HEADER! Often this is done by manually entering the event data into several different web forms Or, even more inefficiently, by emailing the event data
  • #14: sure, there’ll be some users who will switch to have a better calendar, but we also need the “big important” calendars to make the system successful
  • #15: admission info Repeating events
  • #17: Users with specialized data storage or development needs (e.g. purchasing tickets online)
  • #18: -------------------------- components that are both reusable and more digestible to users
  • #19: (these might look like inside out and outside in approaches but they are compatible and complementary, and were interleaved throughout our development process, as I’ll show)
  • #20: You’ve probably heard of user-centered design, where applications are designed iteratively and constantly refined through user feedback testing
  • #22: goals for their calendar Current method of creating calendar Ideal calendar, desired features Interest in sharing data with other calendars Their event model
  • #25: Document Engineering emphasizes the analysis of existing physical models SKICal – Swedish initiative to create a model for public events (as opposed to personal calendar events)
  • #26: Actual calendars analyzed were chosen from a list most of the calendars on campus ---------------------- Selection criteria: each calendar with something distinctive about its type of content 80-20: elements we chose should be helpful to at least 80% of campus calendars…those with domain-specific data could extend our model
  • #27: Lists all data elements and gives an unambiguous semantic meaning for each one
  • #28: Looked at the event data entry forms as well as the presentation of event information in these calendars Any component that is self-contained or comprehensible in its own right -------------------- Understand the data elements found in the document inventory by extracting the underlying semantic components from their physical implementation (how they are presented)
  • #29: --------------------FIRST PARA Synonyms: “begin date, start date”, “end date” “end on”, “place” and “location” Homonym: title & speaker title – can add a context qualifier to clarify: Can sometimes find reusable components by removing qualifiers in the name Dis-aggregate structures to the level we need to know about dates…ISO standard 1003.2 an element called "Event Description" may really contain information on the event's topic, the cost of the event, and who the event sponsor is.
  • #30: Consolidated table of content components can see at a glance how many calendars contain an element we called “Location” --------------------- Synonym for location - place Location – broken down further later
  • #31: Goal: create a model that minimizes redundancy & maximizes reuse
  • #32: Differ in prescriptiveness & formality ------------------------- Functional dependency – datetime, address
  • #33: Choosing the entry point May modify cardinality (how many instances of each structure/element are permissible) & optionality requirements, but only making them more restrictive
  • #35: ------------------- It’s easy to join our club! ------------------ Substitution groups necessary for creating a LectureEvent, or PerformanceEvent with special constraints open entry element -> substitution group
  • #36: Used task scenarios created earlier in the process ---------------------- Users feel more free to criticize and make suggestions when there isn’t actual code that’s been written They also put less emphasis on color and design issues and concentrate on how well it allows them to *accomplish their tasks*
  • #37: Gives users a better feel of what the real application will be like to use
  • #38: Navigation Things we learned about terminology here fed back into the Event model