While there are still at least 20 recent events in the History of Software Testing that need to be edited and published, I managed to do a little refactoring on the timeline – the graphical representation of the history.
The main thing that I did was to reign in the text that was overflowing from some of the boxes. The image is generated (from database entries) by a script that uses the GD library of PHP. The script is legacy code that I refactored a couple of times because it ran out of memory or because I wanted parameterize certain settings. The GD library allows you to pick the font for your text. I was using Tahoma, but since that was becoming a little bit boring, I thought of selecting a new font.
For an image in which the text is very small, but needs to readable (also when printed) and has to fit in the boxes, selecting a font is not very easy. The text in the boxes is cut off (to form a new line) at 22 characters, so the ultimate width of a box is 22 characters. Whether or not these 22 characters overflow depends a lot on the type, the spacing and the weight of the font. Testing – I did this in production, I must admit – is the only way to find out how a font fits. Also some of the selected fonts made it to print (using a Canon PIXMA MX360), and were tested for readability under low-light circumstances.
Using this exploratory approach I tried several fonts and ended up with Signika (semi-bold), which is an open source font from Google Fonts. At first I more or less randomly picked some sans serif fonts, but through testing I learned more about what I require from a font. Google Fonts was a great tool because it allows you to select fonts using criteria and also to add fonts to your collection and download them all at once in the right format (ttf). This certainly speeded up development.
I could have done more refactoring to the script (to allow, for example, for the runtime selection of a font when generating the timeline) but decided that it wasn’t worth the effort. And I still have to verify the qualities (color representation) of the Canon printer, which is a second-hand printer that I recently bought for nearly nought. But all in all I am satisfied with the result.
The renewed timeline can be found here.