Brad Abrams recently asked me if I knew of any research that investigated whether or not mixed case words (WebClient) are easier to recognize than all upper case words (WEBCLIENT).

 

I wasn t immediately aware of any research on this issue so I turned to the folks on the PPIG discussion list (sign up at http://www.ppig.org) and asked if they knew. This resulted in a very interesting discussion from which the general consensus opinion seemed to be that mixed case is more legible than upper case. However, nobody was able to point me towards recent studies that clearly demonstrated this. I was however given some fairly useful references to follow up (for example, see the bibliography section at the end of www.knosof.co.uk/cbook/sent782.pdf. Following these up, I came across a paper published in the journal Brain and Cognition that investigated the effect of case alteration and word length on word recognition (see http://iipdm.haifa.ac.il/case_alternation.pdf ). Interestingly, they found that mixed case words take longer to recognize than all upper case words. The effect is especially marked when the words are not recognizably legal words. Additionally, the difference in recognition time increases when word length increases.

 

This may well have some interesting consequences for API design. Should abbreviations be represented in code in upper case or mixed case? For example, should we use System.Tla or System.TLA (where TLA is some random three letter abbreviation)? The research might indicate that we should use TLA but consensus opinion seems to prefer Tla. What do you think? How about when the abbreviation is well known, such as XML? Should it be Xml instead?