This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Less Progress
Feed Title: Travis Griggs - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/travis-rss.xml
Feed Description: This TAG Line is Extra
I've whined a long time about VisualWork's prodiguous use of progress dialogs when doing Store operations. The problem is that they repeatedly cast themselves to the front. If you load a number of packages, you might want to do some other work while you're waiting. But under X, you can't. VW keeps casting these dialogs to the front. Even using a simple shell window is hindered. You have to wait in between dialogs to try and get a character in edgewise. This is not hard to fix, but I was under the delusion that whining might get others to rectify poor UI design. I ran out of patience.
I've got a patch package now called LessProgress. I did a version in the OpenRepository a while back that had issues, this one seems to be better. Basically it overrides one method (Notice>>showProgress: complete: while: title:). Instead of opening a window, it logs to the transcript. To keep the transcript from being flooded, it uses a heuristic where for every IncrementNotification, it will recompute and log the percent done IF enough time has passed since the last time it did a visual update (1/4 second right now) AND the new value would be any different. I am so much happier. If there's interest I'll replicate this latest version up to the OpenRepository. Here's what my launcher looks like after a couple Store publish/loads:
One amusing fact about this, is the fact that the progress dialog hides the fact that the percent done estimates are way off. The progress dialog implementation clamps its reported values between 0 and 100%. I did not do this for the transcript approach. Often, I get jobs that run well over 100% done. Some finish before 100%. The highest I've seen so far was 1633%.
Once again, Less is More. Less code. Less annoying dialogs. More work getting done.