Kinotrope Clackers

Préhistoire de l'informatique
This picture of punch cards strung for machine feeding linked to from sunfox's Flickr photostream, he owns the picture; made available under a creative commons license, CC BY-SA 2.0.

The First Iteration of the Difference Engine introduces my favorite steampunk fictional technology so far - the kinotrope!

The kinotrope is a large panel of little cubes with different colors on each facet, that can be mechanically spun to orient a specific color forward, making them physical pixels in a giant display.

The pixels are spun by steam powered crank machinery which is driven by a difference engine (which is, of course, the titular calculating machine. Difference Engines are not solely used to drive kinotropes, it is just one of their uses).

The Difference Engine reads a stack of punch cards in automated succession to map which pixels to spin at which time. As the cards are run through it, the pixels spin along in time.

It's just a cool device! I did some seraching to see if anyone ever tried to build something vaguely like this, and surprisingly, although it isn't powered by punch cards, someone has!:

Préhistoire de l'informatique
This picture of Daniel Rozin's Wooden Mirror linked to from faroekat's Flickr photostream, he owns the picture; made available under a creative commons license, CC BY-NC-ND 2.0.

I'm going to just quote the flickr caption for the above photo, as it explains how this device works quite clearly:

Daniel Rozin's Wooden Mirror is also an example of audiovisual pixels. As you put your hand/face etc. over the camera (within the 'canvas'), the input translated the angle of each individual wooden pixel to become such that it reflects the amount of light tone that corresponds to the input. Each wooden pixel is connected to a servo-motor - so noise levels are very high.

This uses a camera instead of punch cards and a modern computer instead of a Difference Engine, but the wooden pixel display is exactly what Gibson and Sterling are describing in their novel. The description above even notes that the noise level of this display in motion is high, which was also suggested by the name the novel gives to people who program punch cards for the kinotrope: clackers.

Another note I loved about the description of the art/profession of clacking is that figuring out compression algorithms for the punch cards is a highly valued skill. Presumably you could just have one hole to represent each possible orientation of each colored cube. That would mean the data on the cards would be completely uncompressed, but for a screen of any size it would take forever to run all those cards through and set the machine.

In the book Sam Houston's kinotrope presentation is described as very cleverly animated, requiring rapid and precision timed spinning of the pixel cubes. This is made possible as Mick Radley has obtained expertly algorithmically compressed punch cards which are very highly valued. So highly, in fact, that possession of them precipitates several terrible crimes...


  1. If the kino cubes use all 4 sides then in binary it would take 3 card holes to represent each cube right? If the kinotrope was in black and white and the cubes were two sided chips instead then it would only take 1 hole per pixel. Although a kinotropic screen is a wonderfull victorian analog to a computer screen I think we really have to suspend our belief when it comes to animations and the timing that they mention. Sure blocks could spin in a way to convey the imagery described but the amount of punchcards it would take to hold all the info to do a presentation of that length would surely fill up the theatre, even with compression. I do love the idea of the kinotrope though, and I am enjoying following with your blog as i'm reading the book.

    1. It sounds to me like you're in need of a compression algorithm. :)

  2. I think you could do 4 sides with only 2 card holes (1=open hole, 0=closed hole):

    Side 1 = 11
    Side 2 = 10
    Side 3 = 01
    Side 4 - 00

    I don't understand compression algorithms well enough to speak intelligently about how to shrink that down in practice. I suspect you are right, that to program animation on a kinotrope with punchcards would amount to needing just a whole big lot of cards.

    We're getting into the nature of the Modus now up top of the blog, so if you have a background in math or logic we'd love to get your input on it!

  3. I have just read this section of The Difference Engine, and I am fascinated by the Kinotrope - I too love the idea of *clacking*!! I think you have found a good analog for it here. It all seems to make sense! I believe the compression that is being discussed here would be similar to that used in single jpegs - where several pixels can be given a colour rather than go the bitmap course of describing each pixel. But there is another compression which involves time: Radley's clackers would have compressed the number of pixels that need changing from one frame to the next - exactly like the compression techniques for streaming video today. At a couple of points in Sam Houston's presentation there were fades from one picture to another - for example when mud gradually appears on top of an existing scene. If each frame was a second, and a scene fade in stretched over a half a minute then this would allow a massive reduction of information required in the card sequence. The whole screen doesn't need to be described on the card. Only the mud pixels would need to be supplied. I don't think we need suspend our disbelief at all - it would be possible to build a Kinotrope!
    By the way Scottish inventor of the TV, Logie Baird built a system that could drive a massive array of light bulbs built up in a big screen - a digital alternative to cinema. It was tested a couple of times after WW2 in London but it was a technical dead end; Baird died shortly after so it wasn't developed any further.

    Thanks for bringing this information together.

  4. i think it would be possibe if you use a 4gb card and smaller displat

  5. This comment has been removed by the author.

  6. So I'm coming at this somewhat sideways, but given the intricacy that would be required to manipulate a two-dimensional array of cubes, I'd rather expect not a 4-color cubic pixel but a belt of colored panels, which would allow an arrangement of bevel gears, belts and shafts to drive each pixel, and provide more of the color depth described in Dandy Mick's kinotropy. In terms of the compression algorithm, I'd imagine it'd be very similar to the specification for the animated GIF specification using run-length encoding and, as Tyrone mentioned, discrete frame updates instead of complete frame updates. I also agree that the book itself did rather drag until I got nearly to its end. Oliphant's iteration is far more accessible than the rest.