The Tcl Logo Pictures of Real Tcl/Tk Applications

Hosted by Lick Observatory

Santa Cruz, CA


The anchors will take you to PostScript versions (better resolution, and you can print them on nice printers).

Xtask: Tk GUI for Task Management


Xtask Main Window

Xtask is fairly straightforward. Just fill in the blanks and use the buttons. Behind the GUI is a Sybase table (there's some simple SQL generation going on, and the SQL clause at the bottom of the screen can be manually edited.

Just for ultimate self-referentiality, I'm looking at the task which describes my work on these Web pages. To look at the detail, I clicked on the task in the listbox. I could edit any of the detail and just hit the Change button to commit my changes to the database table.

So far, xtask just a smarter piece of paper, a task list that sorts itself in order of due date (or optionally by other criteria), and also computes "Time Remaining", "Percent Complete" and so forth. But there's more. The nifty feature of xtask is its ability to visualize your commitments using a simplified gantt type chart.


Xtask Hard Date Plot, Complete

Isn't the BLT graph widget great? This is a plot of my whole task list. It's plotted by Hard Date, i.e. the actual or projected Due Dates of projects. Note the pile-up way out at the end of the line, when a bunch of stuff comes due at instrument delivery time. The xtask plotter highlights conflicts (overlapping tasks, or overtime) by drawing rectangles around the area of conflict. You may also notice some dependencies (dashed yellow lines connecting tasks) earlier in the timeline. These dependency lines would be red if the dependencies were impossible (chronologically reversed). Anyway, this timeline is too long -- who really cares about 15 months out? In the next picture we'll constrain it to end at the start of 98.


Xtask Hard Date Plot through 1/1/98

Once again, by hard date, but cutting off at Jan 1 1998. Now we can get a better look at the detail -- and you can see there are conflicts in my near future! Another feature of xtask is its ability to juggle "soft dates" in an attempt to eliminate conflicts (overtime). You can also see that some tasks which should have been finished (zero-length, gone, invisible) in the past (prior to NOW) still are incomplete (oops).


Xtask Schedule Adjuster

The Adjuster tool lets you choose an algorithm and let 'er rip, after which you can Preview the adusted dates. The last time I adjusted my dates they looked like this:


Xtask Soft Date Plot through 1/1/98

This isn't too bad. Xtask did its best, and I then adjusted a few things by hand. There are still conflicts between Moving (that can't be rescheduled, so everything else has to give way) and DBcleanup and ktuiTraining. I could try optimizing the schedule again:


Xtask Soft Date Plot through 1/1/98

Well, I still have some conflicts here. Seems like I have promised to do a bit more than I can actually accomplish without working overtime (so what else is new?). Xtask has tried to salvage unfinished tasks from the past, shoving them hopefully into the future; it has reorganized current tasks by slipping as needed; but it has now run out of ideas.

I'll have to figure the rest out for myself, by negotiating new deadlines and editing the task dates as needed, then re-optimizing. Xtask can't make those decisions (it's not artificially intelligent!), but it can present me with all the facts I need (how bad is the situation, and who do I have to negotiate with?)


The PostScript button on each Plot window dumps the BLT graph to a postscript file so you can carry it to your next meeting and wave it at people :-) Printing these out and scribbling on them can be productive sometimes.


If you're stuck in a character-based environment (no X) there's the 'task' command. Here's some sample output:

[101]de@ronin:/u/de/cvs/tcldb/task% task report user de
Version 1.2
--------------   ST   RemD  SoftDate  HardDate
----------------------------------------------
CATSphonebk     PRO   1.00  97-07-23  97-07-25  de      
CGItcl          PRO   2.00  97-07-26  97-07-28  de      
Moving          NYS   5.00  97-08-06  97-08-06  de...   
ktuiTraining    NYS   2.50  97-08-08  97-08-15  de      
DBcleanup       NYS   3.00  97-08-10  97-08-18  de...   
DashBoardv2     NYS   5.00  97-08-18  97-08-18  de      
BrainDump       NYS   2.00  97-08-22  97-08-22  de...   
CodeGen         NYS  10.00  97-09-10  97-09-10  sla...  
Etcha           TST  10.00  97-09-30  97-09-30  de      
PostgreSQL      PRO   8.50  97-10-15  97-10-15  de      
EngDataVisu     NYS   7.00  97-12-15  97-12-15  de      
CampusClosure   NYS  10.00  98-01-02  98-01-02  de...   
DashBoard       TST  20.00  98-03-01  98-03-01  de      
MaskQuery       NYS   2.50  98-08-07  98-10-01  sla...  
KTLwatch        NYS   3.00  98-08-30  98-10-01  de      
MaskAcceptor    NYS   5.00  98-08-14  98-10-01  sla...  
MillControl     NYS  15.00  98-10-01  98-10-01  sla...  
PipeConfig      ONH  10.00  99-01-01  99-01-01  de...   

74.29 weeks remain in which to do 28.12 weeks of work

CATSphonebk    : Can't make soft deadline (by  0.97 weeks).
               : Can't make hard deadline (by  1.26 weeks).

CGItcl         : Can't make soft deadline (by  0.84 weeks).
               : Can't make hard deadline (by  1.12 weeks).

Moving         : Can't make soft deadline (by  0.15 weeks).
               : Can't make hard deadline (by  0.15 weeks).

Xtask also has a lot of automatic notification features, so that your co-staffers, customer, approver, etc. are notified via email when you make certain changes to tasks. We (our group) can all see and edit each others' schedules but there is an audit trail logfile tracking every change and who made it. (Besides, we all get along OK so there's no likelihood of malicious schedule damage.) At a bigger site you might decide to have separate backend tables.

For more information, take a look at Xtask. You'll find detailed help text and FTP source pickup there.


The UC Regents don't care if my code works for you or not, so there are no guarantees. Read the COPYRIGHT statement on anything you download from us. Everything you get from us is free. As software ought to be. :-)
Back to Photo Gallery.
Further Back to Lick Tcl homepage.
Way Back to my homepage.
Way Way Back to the UCO/Lick homepage.

de@ucolick.org
webmaster@ucolick.org
De Clarke
UCO/Lick Observatory
University of California
Santa Cruz, CA 95064
Tel: +1 408 459 2630
Fax: +1 408 454 9863