Not the G Word

Suppose I have a set of people who all have different times they’re available for meetings and such. I want to have a piece of software that will take their schedules and tell me the times when some subset of them are all available. I want it to be painfully easy for them to keep their schedules updated, because otherwise they won’t bother and then it will be useless. I need it to be web-based, since some jerks don’t use the same OS as the others do. I don’t want a full-fledged gr*upw*re package, because that’s massively overkill and way more complex than anything I need.

I just want one thing and want it done well: comparing schedules.

Does such a thing exist, or am I going to be forced to write it myself?

5 Responses

  1. Why not just use a piece of graph paper and draw a timeline, with time on the X axis and people grouped vertically? People can edit their schedules in a Wiki or something.

  2. That might work if people’s schedules stayed the same from week to week. If that were the case, I could probably get by just remembering who is available when.

    It seems a little silly setting up a Wiki just for one thing.

    Most likely, I’ll just end up staying with the old “ask people when they’re available next week” method.

  3. If it were me, I’d write a simple program that used cookies to remember each person. Then, the entire interface would be a simple textbox where they put their schedule in like this “Avail: M 1-9:30P; T 7:30-11A, 12-5P; W; R; S; N; Unavail: 2/21 3-5P;” (whitespace optional)

    Then, just create a bitvector for each minute of the day (1440 elements); parse the date and fill in the right bit positions if their unavailable. After you do that for each person, just do a vertical dive through each person at the same bit offset and OR each one. If it’s true, then that’s a bad time.

    It’s a horribly inefficient algorithm of time and space. But, it’s really simple for implementation — and it’s not 1980.. I don’t think it will matter since your n (or rather p?) is likely to be small.

    Forcing people to use Exchange or Notes is out of the question, but that would be the pretty version.

  4. Oops. s/their/they’re. Also, I suppose you could make the assumption that people would only give 15 minute accuracy. That’d reduce your work by a factor of 15. However, that’d defy the nerdy programmer mindset that every value is as good as any other *grin*

  5. Heck, if they just needed to write their schedule out, they could just e-mail them to me and I could run whatever program I wanted locally. It’s a small enough group where that sort of thing would still be manageable.

    There’s still the problem of making sure the info stays updated as work schedules and whatnot change from week to week, but I have the nagging suspicion that unless they’re already putting that information into some electronic calendar already, it probably wouldn’t get entered. The main reason Exchange works for that sort of thing is precisely because it does that type of data sharing automatically.

Comments are closed.