Login | Register
My pages Projects Community openCollabNet

If you were registered and logged in, you could join this project.

Summary p2p calendar application
Category process
License GNU General Public License


The goal of the pcal project is to implement a simple calendaring and meeting scheduling system using peer-to-peer (P2P) concepts.

There are many calendaring applications out there, but each requires users to commit to a specific environment. Some are unnecessarily bound to other products.

For example:

  • MS-Outlook requires an organization to host its email service using Exchange Server
  • MS-Outlook tightly binds calendaring/scheduling with email
  • Apple's iCal works only on Apple OS X
  • KDE's calendar requires Linux/KDE

The architectural goals include:

  • Server-less P2P implementation enables people to use the application without requiring the organization's IT department to provide a server, configure users, do installs on desktops, etc.
  • Work identically across all common computers/operating systems without requiring a software port.
  • Implement a system that can communicate with other tools, like email, without being bound to a particular MUA/MTA.
  • Use internet standard XML for inter-application communication.
  • Enable mobile users to disconnect/reconnect or people to shut down their computers.
  • Provide a user interface that will adapt to desktop and PDA screen sizes.
  • Notify users of events using multiple technologies (e.g. email, pager).
  • Enable events to contain markup text (e.g. HTML) and multiple attachments of various types (e.g. documents, audio).
  • Internationalization.
  • Multi-threaded.
  • Security (encryption, but not necessarily authentication)
  • Simple deployment model.
  • Enable other applications to discover and talk to this one with a standard API.

Other high-level assumptions and ground rules:

  • Effective application documentation using industry-standard templates to support future maintenance and expansion
  • Java implementation, but server-less constraint means no J2EE and no web interface.
  • Java Web Start deployment model (challenge: requires a web server!)

Related resources