July 2009

welcome, again! and again! and again!welcome, again! and again! and again! originally uploaded by steelmonkey

every time the hotel staff clean my room during the day, they reliably place this welcome package on my bed even after i repeatedly move it to a remote corner of the room, as if to insist that i read this stuff. presumably this happens because they have been given instructions as to what a clean room should look like, and go about replicating it regardless of the circumstance?

what happens when the instruction designers are not also the instruction performers? how do service patterns migrate through an organization? how can situational/contextual thinking be formalised or reified? how can formal systems can be made fluid?

... to be reflexive is to structure a product in such a way that the audience assumes that the producer, process, and product are a coherent whole. Not only is an audience made aware of these relationships, but they are made to realize the necessity of that knowledge.
...the producer deliberately, intentionally reveals to his audience the underlying epistemological assumptions which caused him to formulate a set of questions in a particular way, to seek answers to those questions in a particular way, and finally to present his findings in a particular way.
Ruby, J. (1980). Exposing yourself: reflexivity, anthropology, and film. Semiotica, 30 (1/2), 153–179. 

Let's face it: javadoc output looks ugly. At least to me. The poor use of colour, inconsistent font styles, bad typographical hierarchy and too much visual clutter makes it quite illegible and unreadable. So I redesigned the Java API documentation stylesheet to clean it up and make it more readable and useful in its function as a reference.

I did it using the following principles:

MAKE CODE ELEMENTS VISIBLE WHEN PRESENT AMIDST NORMAL TEXT

javadoc-restyle-1



FOCUS ON THE TEXT, NOT THE TABLE TRAPPINGS



WHEN IN TEXT FOCUS ON TEXT. WHEN IN CODE, FOCUS ON CODE



CLEARLY DISTINGUISH INTERFACES FROM CLASSES

and

HIGHLIGHT HISTORY (FOCUS ON WHAT YOU REFER TO REPEATEDLY)

I figured other java coders maybe interested in giving their eyes a break, so here is the stylesheet, set free to the world. Simply download and replace the existing file in the doc/api folder of any javadoc API documentation.

NOTE: this may break over time. Since javadoc does not generate proper CSS, and uses "font" and "background" attributes for styling, the modified stylesheet contains quite a few poor styling rules. Should javadoc introduce semantically meaningful CSS, this will become much easier. As it stands, the styles used here are not sexy, but they do improve the appearance. (Try as I might, I could only find one other redesigned stylesheet for javadoc. Perhaps API reference legibility isn't as important as I think it is.)

I also sanitised the fonts used, reducing them to one for text and one for code. The default code font is Courier, which works really badly here when mixed with sans-serif text. This has been replaced by a cascade of font faces with Consolas as the preferred, going through some popular truetype monospaced fonts, and ending with an unhinted Linux font. Reorder as you prefer.

Decoration of the unfinished project is a kind of conceptual incubation... from these interludes come deep insights and amazing new approaches to solving these problems that had them frustrated just moments before / Gever Tulley, speaking about children working on projects at his Tinkering School, at TED 2009