abclock --- the analogue bitmap clock --- is Peter Kleiweg's "small clock application" for X11 (on UN*Xoid OSes). Several glumwazillion of these already exist in the world, but this one is different.

Unfortunately, all the other ones are also different, so more details will be required to convince you that abclock is THE CLOCK.

There are 2 main types of clock applications: digital, which display some textual representation of the current time (which might nonetheless be graphical), and analogue, which display a picture of some analogue clock showing the current time. abclock is neither, really.

The advantage of a digital clock is precision: once you've managed to read it, you know the precise time. The advantage of an analogue clock is speed and convenience: it takes much less time to read it. If you don't care about the exact time, you can get a less precise (and therefore less accurate) reading in much less time, by only examining the general "shape" of the time display. Unfortunately, a small 64×64 pixel window isn't really enough for a convenient display of an analogue clock.

abclock changes all that: it employs a new representation of time, which is specially suited to displaying time in a small window with many of the advantages of both types of displays. A slight disadvantage is that you need to re-learn how to read a clock, but this is a small price to pay (it also turns out to be quite easy).

The hours are displayed as follows. Think of the dial as containing a 3×3 matrix of blocks; time "shifts" between adjacent blocks, and whole hours look like in this diagram:

 12:00   01:00   02:00   03:00
 +---+   +---+   +---+   +---+      
 | * |   | **|   |  *|   |   |
 | * |   |   |   |  *|   | **|
 |   |   |   |   |   |   |   |
 +---+   +---+   +---+   +---+
                              
 04:00   05:00   06:00   07:00                
 +---+   +---+   +---+   +---+
 |   |   |   |   |   |   |   |
 |  *|   |   |   | * |   |   |
 |  *|   | **|   | * |   |** |
 +---+   +---+   +---+   +---+
                             
 08:00   09:00   10:00   11:00
 +---+   +---+   +---+   +---+
 |   |   |   |   |*  |   |** |
 |*  |   |** |   |*  |   |   |
 |*  |   |   |   |   |   |   |
 +---+   +---+   +---+   +---+
Note that "block matter" is preserved (perhaps giving new meaning to the phrase "Block Stackers"?)! This display is precise enough to give a resolution much better than 5 minutes!

There's also a "minute hand", which can give roughly 10-second precision. There are locations for 3 "stacks" of bars outside each side of the hours dial; 5 bars, representing 5 minutes, shift between these. Again, block matter is preserved; this helps read the dial accurately.

For example, the time of writing 01:50 looks roughly like this:

   01:50
   +---+
 ==| |*|
   |  *|
   |   |
   +---+
where "==" is the minutes stack, at the 50-minutes mark, and the "|" at the start of the hours block is the small remainder of the 1 o'clock hour block, which has almost finished shifting into the 2 o'clock hour block.

All this is remarkably compact, but it gets smaller still, since abclock is not mechanical! The external minutes hand requires a rather large margin for use as a "minutes dial" around the "hours dial". But only 1 or 2 sides of the minutes dial are ever in use. abclock shifts the hours dial around its window, making room for minutes only on the side of the dial where it's needed! With this arrangement, a 64×64 pixel window is a positively huge clock.

abclock is interesting, efficient, and minimal. Install it today, and learn to read a clock.


Of course, there is no digital time legend above the clock; this is just my aid to new users of abclock...

Log in or register to write something here or to contact authors.