Open Source Applications Foundation

[Design] Design precedent: Ecco Professional

Murthy Kambhampaty Mon, 21 Oct 2002 14:28:13 -0400


... or how about Corel InfoCentral 7 (still downloadable at, for example at
http://www.zdnetindia.com/downloads/info/864898.html. Does not run on WinNT
and variants.)

After using Ecco Professional and Corel InfoCentral7, I found InfoCentral 7
powerful and intuitive and only stopped using it because it would not run
under WinNT (Corel morphed the product into Corel Central which tried to
mimic Outlook and removed InfoCentral's unique strength).

InfoCentral's organizing metaphor, similar to that described below for Ecco
Pro but more focused, was the relationship between objects in the PIM -
people, places, tasks, projects, and appointments - organized into a
database. So an address was a relationship between the (i) the owner of the
database, (ii) the person whose address it was and (iii) the address as a
place. Each person -- client, family member, co-worker, barber, etc. --
could be related to an appointment, a phone call, a meeting, etc. Any object
could be related to a project or task, and the relationship could be
specified so that project owners, team members, clients, etc. were
distinctly identified. Then came the feature that really paid off: the
program allowed you to create as many views as desired, each in a separated
tab. The views could be either: a tree view, an address book view, or a
calendar view. The tree view was "infinitely flexible": click on a branch
once, to open up the branch; double click on a branch to put the branch at
the top of the page and have everything drill down from there. Consider and
example: say you have a luncheon meeting this week with Joe Schmoe. You open
an appointment object, for the data and time of the meeting, then add Joe
Schmoe from your address book as an attendee and add the restaurant as the
place of the luncheon, and add the project/task to which this meeting is
related as a project. Now you look at your calendar view for the given date
and, just-like in a date book, there's your appt. Also, you look at a tree
view for the date, and there's a branch called "Meetings". Click on meetings
to see that participants listed - Joe Schmoe. Click on Joe Schmoe to see all
your projects, meetings, etc. to which Joe Schmoe has ever been related -
breathtaking. Want to check to make sure you haven't taken Joe Schmoe to
lunch at the same restaurant lately, no problem. Want to have a fall-back in
case your conversation is going badly - you just saw a list of all the
projects you ever participated in with him.

This "tree of relations" metaphor seems a natural given the design goals of
Chandler, and Mitch's vision for Agenda. The programming in Python/wxWindows
seems like it would be pretty straightforward. It seemed at one time that
XML was a good alternative to InfoCentral's "ibase", but I think it could be
simpler. A key/value pair storage system like BerkelyDB is probably the best
storage engine; the tricky part is defining the relationships, which seems
to follow an "open objects" metaphor - you start off with canned objects for
appointments, people, etc. and they you extend each object with new
"attributes" or "methods" - a person can have a hobby, a quirk, a family, a
wife, etc., but the canned object may only have the basics - first name,
middle name, last name. The richness of detail is built by the user. The
difficult design issue seems to be the efficient way to nest objects in a
"closed nest", but I suspect that a real programmer - as opposed to myself -
would solve that problem easily. After all, InfoCentral was stable, fast and
reliable. From Corel's documentation of the design changes, it seems they
lost their way in trying to implement http links instead of InfoCentral's
tree view, and in dealing with Microsoft's updated MAPI implementation.
We've come a long way since then, and InfoCentral's design is up to today's
technology.

I wonder if this is a feature already conceived for Chandler, or one that
could be built in. Though I'm not the guy to be doing the programming, given
my level of ability, I would be happy to help in any way I can (if nothing
else, I'd be happy to test and document the feature down the road).
	Murthy

-----Original Message-----
From: Brian Siano [mailto:siano@mail.med.upenn.edu]
Sent: Monday, October 21, 2002 11:30
To: design@osafoundation.org
Subject: [Design] Design precedent: Ecco Professional


I sent a note about this to Mitch Kapor yesterday, after seeing the
Slashdot article, but I figured sending a note here might be of
interest.

I'm not a programmer, but I am a serious end-user of PIMs in
administrative settings. This has usually meant that I use my boss's PIM
program to manage his schedule and calendar, and whenever I was able to,
I tried to use it to manage other things-- files, projects, whatever.

By and large, I've been extremely disappointed by PIM programs. Very few
seem to have been designed by people who've actually had to use them in
a _real_ office environment-- not those fantasy "paperless offices," but
real ones, where Pendaflex files have to be inventoried and tracked, and
established systems don't change overnight when someone brings out a new
product. One needs a customizable PIM-- and however powerful products
like Outlook are, one needs to a programmer in order to design it or
change it for new projects. And most of us administrative people aren't
programmers.

But there was _one_ PIM program that really worked in nearly all of this
areas; It was Ecco Professional, and before the company that owned it
(Netmanage) ran it into the ground, it really was the greatest PIM ever
created. It hasn't been supported in five years, and it _still_ beats
Outlook in nearly every way that counts. It had a calendar, a phonebook,
and outliner, and by combining these features you could create project
managers, databases and just about anything you needed to manage an
office. To be honest, if Mitch and his people were to simply update Ecco
to reflect the last five years of business enhancements, it'd be the
greatest PIM ever.

Describing its core structure is a little difficult without graphics,
but I'll try. (Maybe I'll do a page on my website about it.) Imagine,
for the moment, that you have a spreadsheet in front of you. The first
column is an outline, with items, sub-items, sub-sub items, and the
like. So you get that kind of organization; you can list a project, with
sub-projects and tasks as sub-items.

Each of the other columns represents a particular data field (called a
"folder" in Ecco parlance). So, for each item in the first column, there
are different values in the columns. The columns/data fields can be
text, dates, numbers, checkmark, pop-up lists, and the like, and are
easily created by the user.

Obviously, there were standard data fields for Ecco's uses. The
"Appointments" field contained appointment data-- date, time,
recurrence, duration, whatever. Under the Phonebook, there were data
fields for Salutation, Company, Address, city, Zip, Email, Phone, Fax,
etc. I could create as many as I wished: I could even keep multiple
Appointment data fields to track multiple calendars if I wanted.

The neat thing about this arrangement was that I could relate anything
to nearly anything else. For example, I could create a data field for a
particular project-- and merely by going to an Appointment item and
assigning it to the project's data field, it'd be filed there. Simply by
clicking on the project's data field/folder, I could bring up a list of
every item in my Ecco database under that project. (The closest Outlook
can come to this is its pitiful, awkward, and sluggish "Category"
feature.)

There's a lot more to Ecco's structure. All of the data fields/folders
could be listed at the side of the screen for easy access-- and they
could also be arranged in a hierarchical fashion, for ease of use. The
views were easily redesigned and rearranged-- none of this form-design
stuff Outlook imposes on us. And the data fields had an "auto-assign"
feature-- for example, if I had a data field called "Flashman," and the
text of an item contrained the word "Flashman," or "Elspeth," I could
have the program auto-assign a value for that item in the "Flashman"
data field.

This single program worked well as a calendar, time-management system,
resource-tracker, mailing-list manager, contact manager, project
manager, phone-message manager, annotation system, and just about
anything else I could think of. Yes, it could exchange data with the
Palm Pilot, and yes, it could work with the email systems of the day.
(Its use of the Web was limited, but this was five years ago.) It was
also networkable, so my boss and I had access to the same files, without
the need for special server technology.

I'd strongly suggest that, if you're looking at user-interface issues
with this PIM, ECCO's design be taken as a kind of gold standard. If
anyone's interested, I'd be happy to provide screenshots or suggestions.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design