Progress Widget

A while ago, I posted that I was learning about GTK and more important (to me), GTK for C++.  I have been carefully working through the tutorial.  The way I learn best is by preparing to teach others.  I have been taking notes and creating some exercises which I will contribute back to the GTKmm project when I get them into decent shape.  I have worked through the entry widgets and next is the progress widget.

In the mean time, my wife, a sometime  techno-phobe, asked me to help her purchase an online airline ticket.  Not a big deal.  An hour later, we have a printed ticket at a price that is not prohibitive. My wife, who had not heard the joke before, was amused by the phrase “World Wide Wait”.  Forty-five minutes of the ticket time was spent looking at what I call a “spinner” and some at what techies call a “progress bar”.

The spinner is a screen that acts like it is doing something while you are waiting.   The spinner that might be part the browser.  If it were the cursor on your system, it would slow down or freeze when the local system is waiting for resources.  Other times they hang because they are waiting for a remote, synchronous service like a firewall or a security check. But usually, they are just blinky lights, like the ones that used to chase each other around the marquee at the neighborhood theater until they burned out and nobody replaced them.

More important is the “progress bar”. Or more precisely, the lack-of-progress bar.  This is supposed to move along steadily and indicate how close the web page is to being complete.  I usually see it rush quickly toward half-way.  Then slow down until at 75%, the progress becomes nil.  Finally, after a time twice as long as the wait to half-way, a message box appears that the request cannot be completed due to a condition the user cannot do anything about.  The message never suggests that the web host capacity planner has been sleeping in his chair after a beer at lunch or that that the host DBA meant to re-org the database last month but was at the beach.

And so I propose the “lack-of-progress bar”.  This little gem, when embedded in your web page will not only entertain you by advancing in a non-monotonic way, arbitrarily falling back to a lesser state as the http under-covers encounters adversity, it will put out a meaningful message, pointing the finger at the actual cause of the delay, be it end-point host, local system, or the ISP.  If there are multiple culprits, it will name them all.

Wait there is more! If supplied with the appropriate information, it will simultaneously, write a letter to the U.S. Representative, both Senators, the President, the FCC, the ICC, the DHS, and least effective  but most annoying the TSA. It will  Twitter a spurious rumor about the failing service provider, and a short sale order to your broker.

Or maybe it will meet the release date deadline.  But probably not both.

Shakin’ it up here boss.

Leave a Reply