I thought I knew a thing or two about type and stuff but before Saturday I'd not come across the term "CamelCase" before. Sure, I've unknowingly used CamelCase but until I stumbled across the short article in October's CamelCase headed NewScientist, attracted, predictably, to a photo of a case of metal type used to illustrate the piece, I didn't know the technique of bunching up words together without spaces and distinguishing each word by its capitalisation actually had a name. Well it has, infact it has several: medial capitals, BiCapitalisation, CapWords and InterCaps, as well as the afore mentioned which is derived from the way the capitals create "humps" in the composite.
Of course, as the article illustrates, it's very popular nowadays: BlackBerry, MySpace, YouTube etc but has, surprisingly, been around for ages with examples stretching back the the fifties (CinemaScope).
Coincidentally, I'd used the technique only the day before. Software engineers use it loads apparently, and it is they that have defined two versions: UpperCamelCase and lowerCamelCase (like "iMac").
A quick Googling of the phrase reveals it to be a reasonably well known idiom.
Well no one told me!
Update: More InterCapping from Jonathan Hoefler. Thanks Jonathan!
MeNeither! Thanks for letting us know ;-)
Posted by: Rob Sawkins | 29 October 2007 at 07:31 PM
I'd heard of intercapping, but not camel case. I prefer the latter!
When programming it's better for readability to have descriptive names for variables like KMaxTInt, dataChanged, iRotateClockwise rather than just x or int or c.
There are often coding conventions for these, like for C++ with Symbian, constants begin with a capital K (KMaxTInt); member variables (that persist for long term use) begin with a lower case i (for instance) (iRotateClockwise); and automatic variables (used in the short term) begin with a lower case letter (dataChanged).
A similar thing happens for class and function names, these begin with a capital letter (IsImageMarked).
So when a software engineer has to think up a name, chances are they'll take two words and smash them together.
I think camel case is over-used nowadays for tech things, and it results in people getting it wrong lots. So many times I've seen names that don't use intercapping written with a capital in the middle. Also, but less often, you see people write a name that's two words as one, but with capitals. (And how hard is it to check?!)
Is it Typepad or TypePad? LifeBlog or Lifblog? LiveJournal or Livejournal? SixApart or Six Apart? Bloglines or BlogLines? FaceBook or Facebook?
Let's just stick to proper names!
Posted by: Hugo | 30 October 2007 at 01:47 PM
Thanks Hugo; excellent comment and insight into the weird world of the programmer. As weird as the weird world of the graphic designer.
Posted by: Richard | 30 October 2007 at 08:41 PM
I love CamelCase, but never knew the "official" term.
I have found it to be a useful alternative when the company or product name is common but you are trying to distinguish it in print or building the brand.
I love your site by the way. Great Stuff.
Posted by: Jeremy | 31 October 2007 at 02:44 PM
ThanksForTheLesson!
iAgreeWithJeremy:LoveYourSite.
Posted by: David | 02 November 2007 at 02:17 PM
Hugo is right about the prevalence of camel case in programming. It gets used in a lot of mainstream languages-- Java, C, C++, C#, etc. There is another method, though, which I've heard people call "snake case" and "dash case" (though I don't think these are authoritative) which some other (*ahem, smarter) languages like Ruby use. Here, spaces are replaced by the underscore character:
e.g. rotate_clockwise or set_data_handler
This coding convention was created specifically to address the readability problems with camel case. Of course, from a typographical perspective, it's probably not as useful.
Posted by: James Stevenson | 04 December 2007 at 11:33 PM