ByteCal's main screen lists all the users in the system. But users can skip that screen and jump straight to their own calendars. How? ByteCal's "API" includes this idiom for viewing data:
/bytecal?w
ho=Jon+Udell&view=yes&limit=8
which says: "Show Jon's calendar for the next eight weeks." The function "Show Tom's calendar for the next six weeks" is just a variant of this expression. If Tom puts that expression into a bookmark, he's created a personal calendar.
2) Importing data
"Great stuff," said BYTE editor John Montgomery when he first saw ByteCal. "But can I import my Ecco database into it?" My first response was: No way. My second was: Why not? ByteCal's "API" includes this idiom for editing data:
/bytecal?who=Jon+Udell&edit=yes&Mon+May+19=Dentist+appt
which says: "Record a dentist appointment for Jon on May 19." When you use ByteCal interactively, its Web forms construct this syntax for you. But you can also issue these URLs under program control, from any URL-aware langauge (Perl, Python, Java), using ByteCal as a component.
3) Printing
Anyone who's ever written a Windows or Mac data-viewing application knows that printing support gets d
one last, and often poorly. It wasn't until I saw pages of ByteCal output floating around the office that it dawned on me: ByteCal can print! Navigator and MSI do a perfectly acceptable job of printing the HTML table that ByteCal's viewer produces.