Thursday, August 18, 2005

Scheduling Problems

Fellow analyst Stephen O'Grady asks "Why is Scheduling Still So Damn Hard?"

Think about how you schedule meetings with folks outside your own calendar system:
* Step 1: Determine your own availability
* Step 2: Communicate that availability to an external party; typically means cut and pasting or manually writing some openings into an email
* Step 3: If you're lucky, some of these work, and you receive a reply which requires you to create a new calendar entry
* Step 4: If you weren't lucky in Step 3, the available slots didn't work, and the external party has proposed some alternatives so you're back to Step 1. Rinse, lather, repeat.

Certainly one root of the problem is the lack of appropriate protocols and mechanisms to selectively open up our calendars beyond the firewall. Yet just another example of the horrible state of collaboration, Microsoft Office 2003 dinosaur ads notwithstanding. Yes, it would be nice to do the same sort of group scheduling we can do with Outlook/Exchange with folks at other companies--or indeed could do with proprietary office automation products like Data General's CEO, fifteen years ago. Yes, that would be a good start. But we should also set our sights higher because the Outlook way of doing things isn't all that scalable either. The ultimate goal should be to have the system able to make intelligent decisions for us rather than just present us with a bunch of out-of-context data.

The real problem here is that computers are so bloody literal. They can schedule a block of time around already scheduled blocks of time, but that's about it. But scheduling is more complex than that. This isn't new. Consider the following from The Digital Deli, a marvelous look at PC culture circa 1984.
Next [in the list of computer applications to avoid] we come to the computerized electronic calendar. It doesn't let you make dates; you have to make "events." Can you imagine saying, "We fell in love on our first event"?

Worse, it suffers from that picky literal-mindedness of machine-think. For me, as for most folks, time unravels in a drinks-with-Chris-late-next-week sort of way. Electronic calendars are not that loose. To them, "late next week" means nothing. "Noonish" means nothing. They don't know about "happy hours," and they've never even met Chris. But "07-08-83, 6:00 P" they understand. No wonder we don't get along.

The electronic calendar also wants me to tell it just how long the "event" will last. The program divides the day into fifteen-minute blocks and has to know how many of those will be filled by my event with Chris. Now, I usually know roughly (within a half-hour, say) how things will go, but one has to be flexible on this sort of thing. Maybe an old mutual friend stops by the table, or we suddenly decide to go see a movie. Or there's a full moon out and it's a warm night ... You get the idea. Well, in electronic date-books, it's not enough to write "Chris" at 5:00. They want to know where you'll be at 5:15, 5:30, 5:45, 6:00. Sometimes I get the feeling this program was designed by somebody's mother.

I want a way to describe to the computer that I'd prefer to not have three meetings in a row, that I prefer not to have a call at 5pm but I can if there's no other choice, that I've got three hours blocked off for writing but I can take a call during that slot if it's important enough, and so forth. I'm not so naive to believe that we can easily get a computer to actually grok all our preferences and options, but we should at least have such considerations in mind as we tackle the nearer term mechanical problems.

No comments: