It ain't what you do...

...it's the way that you do it. Last week I noticed a funny thing in an application I'm involved in as a developer. For logging in to the application, the term "Log On" was used. However, for logging off, "Log Out" was used. This did not feel right, so I searched a bit on the use of these terms. It looks like more people are having trouble choosing one form or the other, and are also mixing on/off and in/out.

Log in / Log out This is the Unix variant for logging in and out a user. Note that "Log in" is two words. In modern dictionaries like the Merriam-Webster's Collegiate Dictionary, "log in" is written both as "log in" and "log-in", with a hypen. "log in" is a synonym for the main entry, "log on". Funny detail is that the dictionary has no entry for "log out".

Log on / Log off This is the Windows variant for logging in and out a user. As with "Log in", "Log on" is always written as two seperate words, optionaly concatinated with a hypen. Merriam also doesn't contain entries for "log off" or alike.

Sign in / Sign out This is the Google (and several other websites) variant of "log in" and "log out". It is arguably the best choice on earth for log in and out actions, because of the following reasons:

  1.   The term "log on" is often used to send people to a URL, without actually logging in. Example (as heard on TV): "Log on to www.nbc.com for more information.". This use of the term "log on" confuses people as to what the term "log on" means.
  2. The term "log in" suffers more or less from the same problem as "log on". Like "log on", "log in" has no counterpart in Merriam-Webster's dictionary.
  3. The term "Sign in" is a clear association with physically entering a building, and in this case, a system.
  4. "Sign in" has a clear counterpart in Merriam-Webster, "Sign out", and is less likely to be intermixed with "log out/off".
  5. For some reason, everybody knows that "Sign in" is written as two seperate words.

Yes I know, it sounds like a lot of trouble for a seemingly little thing. But I like to be consequent when writing code, thereby hoping that other people can actually read, understand and maintain my code as I would like to be able to read, understand and maintain theirs. Programmers often spend (much) more time trying to understand other people's code than writing new code of their own.

To come back to the start of all this, I changed "Log in" to read "Log on", so the application is now a Windows-like "Log on" / "Log off" application.

Have fun.