The Excessively Modular Personal Information Manager For MacOS X

-- releases
-- main
-- screenshots
-- EModule_HOWTO
-- Aaron
-- Sourceforge Project Page
-- EMPIM Homepage
XEMPIM is the Cocoa port of EMPIM, the Excessively Modular Personal Information Manager. (X)EMPIM is built around the idea that each function of a PIM (contact list, calendar, email client, etc) exists as an autonomous loadable module, which communicates with other modules through the (X)EMPIM core.

XEMPIM is written in Objective C and Cocoa to run natively on Mac OS X

I just returned from the Apple Worldwide developer conference with lots of ideas for new features for XEMPIM.
  • Support for GUI-less module (probably via an EServiceModule class)
  • Take advantage of the "Rendezvous" technology in OS X 10.2 to allow XEMPIM clients to automatically download and load new modules from a central server
  • Integration with the new Address Book
  • Integration with iChat
  • Friendlier user interface
  • Relocate the modules folder to within the XEMPIM bundle to allow for cleaner installations.
  • Journal plugin with livejournal support.
That about wraps it up. If anyone would like to help me with these features/new modules please please let me know.

About a week ago I found out about the Apple Design Awards and decided to enter XEMPIM as a student (I'm a student at oberlin college). Well that meant working my ass off between then and now. After more than a few sleepless nights and lunchless days XEMPIM has grown so much I've decided it is a major revision. In fact, I think we're out of the "alpha" stage.
So here it is XEMPIM 1.0 (binary) and source tarball.
I've added a Preference Panel to XEMPIM. I really wanted it to be a spiffy OS X sheet but there were issues with sheets and toolbars. I haven't updated the EModule Howto to reflect the API changes quite yet so here they are:
  • The Dictionary tag EModuleIcon in a bundle's Info.plist specifies the location of the image used as a toolbar icon. If no file is specified a default image is used. Images should be a format recognized by the NSImage type.

  • EModule's should respond to
    -(NSView *)getPreferenceView;
    by returning an NSView * with the module's preference panel.
**update: 2002.1.29: These changes are now reflected in the EModule Howto posted on this site (but not in the version included in the download.)
Using the PHP4 code and CSS written by Jason Slange for the EMPIM homepage I've set up this site as the official XEMPIM site.
SourceForge Logo