111

The QA manager where I work just informed me there is a bug in my desktop app due to the sign-on prompt being "Operator Id" when it should be "Operator ID". Her argument being that "Id" refers to the ego portion of Freud's "psychic apparatus" and is not semantically correct.

Now being an anal engineer (AE) I of course had to go and lookup Id vs ID and from my cursory investigations (google) it seems ID is just as commonly used for Freud's ego as Id is.

So my reasoning would be that Id is a shortened version of "Identifier" and is more correct or at least more commonly used than ID which would typically indicate a two word abbreviation.

I could just change the UI but then I wouldn't be holding up my profession as an AE so I was wondering if there any best practices or references for this sort of thing that I could use to support my argument? Keeping in mind that this question relates to the user interface and not the source code where abbreviations and casing are a whole different branch of philosophy.

sipsorcery
  • 30,273
  • 24
  • 104
  • 155
  • 6
    If I recall correctly, Freud was actually talking about das es, das ich und das uberich. Which is translated as The it, The I (or self) and the over-I (or super-self). When it was translated in to English, the translator didn't think it sounded very good, so translated it to Latin (Id, Ego, Super ego) instead as it sounded more impressive. – Colin Mackay Jul 20 '09 at 01:09
  • 5
    +1 for the anal engineer (and the question, which is actually interesting) – Stefano Borini Jul 20 '09 at 01:10
  • I asked this question once and was downvoted to oblivion! However, I was asking more out of personal interest. – alex Jul 20 '09 at 01:16
  • 4
    Did you mention being anal engineer anywhere? This and Freid was what decided the fate of this question :). – Eugene Jul 20 '09 at 02:08
  • So, how many communities could you count where this would actually be considered interesting? :P (+1 btw ^^ ) – cwap Jan 18 '10 at 23:11
  • **Related:** [`ID` (and its variations) and naming conventions in .NET code](http://stackoverflow.com/q/3351304/1497596). – DavidRR Jul 10 '14 at 14:18

15 Answers15

109

According to Merriam-Webster, the abbreviation is "ID". If it were a correct abbreviation, it would have to be "Id." with the period.

z-boss
  • 17,111
  • 12
  • 49
  • 81
lavinio
  • 23,931
  • 5
  • 55
  • 71
  • 21
    This is absolutely the right answer. Even though the D doesn't stand for anything on its own, I think we should all realize by now that the whims of English are not bound by logic or consistency. For better or worse, "ID" is the actual, official, correct term. – John Y Jul 20 '09 at 01:14
  • 1
    I didn't even think to check the dictionary. Looks like ID is literally correct given that it's defined in more than one as the abbreviation for Identification. The dictionary editors obviously need to read Microsoft's guidleines re. two and 3 letter abbreviations. In the meantime I'll change my UI from Id to ID and accept defeat, damn QA. – sipsorcery Jul 20 '09 at 01:14
  • Maybe, it stands for 'Identification (Digit|Data)' – alex Jul 20 '09 at 01:17
  • 8
    You Americans! In real English, contractions don't have full stops. Compare Col. Smith and Sgt Smithers. Or the titles Mr, Mrs, and Ms. Because these are contractions, they don't have full stops, while titles such as Col., or abbreviations such as Mon., Tue., and Wed., do have full stops. – TRiG Jan 18 '10 at 21:25
  • 5
    Following: ID is short for Identity (without full stops), just as TV is short for Television (or Transvestite), also without full stops. No full stops, because the letters are not standing for complete words. I'd use ID in text, Id in code. – TRiG Feb 12 '10 at 17:04
  • 3
    This is not correct in my humble opinion: the MW website is talking about IDs like an identity card, passport, etc. in other words (theirs) a _document_ with name and identity and possibly a picture. It's clear that a database table Id (a primary key), is not that, it's short for Identifier. The dot is omitted, just like dots are omitted in T.V. or, for that matter I.D. (identification document, I presume). – Sklivvz Sep 19 '18 at 12:00
  • In Nuxt framework you can you CamelCase or snake-case interchangeably for component's name inside template. So if you name your component somethings like `IDPattern`, the alternative name is `i-d-pattern`. If you want the alternative one to be `id-pattern`, you would have to name it `IdPattern` – UMR Sep 02 '22 at 10:37
51

Personally, I use "Id". The compiler doesn't care but my eyes do. Compare:

GetIDByWhatever  <-- looks terrible

GetIdByWhatever  <-- oh so pretty!

Aesthetics is more important than grammar when it comes to code, always. (Update: 4 years later, I don't stand by this statement anymore)

Erik Kinding
  • 1,742
  • 2
  • 15
  • 32
  • 21
    Who said Id looked prettier? I find the opposite. I think the whole point of posting this question on SO is to get a rational, well-defended answer. – samvermette Jan 16 '14 at 16:36
  • 9
    Id is fine in code (and I agree, preferable), however the question was about on a user interface :) You would never show either one of your examples to a user. – Shaun Rowan May 30 '14 at 18:06
  • 3
    **Related:** [`ID` (and its variations) and naming conventions in .NET code](http://stackoverflow.com/q/3351304/1497596). – DavidRR Jul 10 '14 at 14:19
  • 7
    It's not just about looking pretty, but if for example you wanted to perform an string transformation to underscore-lowercase, you might end with `get_i_d_by_whatever` vs `get_id_by_whatever`. – Adam Elsodaney Mar 20 '15 at 16:19
  • 1
    I think the point that @ErikKinding was trying to make is when ID is followed by another word. I agree that GetID is looks nicer than GetId, but GetIdFromDbTable is easier to read than GetIDFromDBTable, because you instinctively know where the words are split. – Steve Aug 17 '17 at 13:42
22

The 'D' doesn't stand for anything, so I've always considered it an abbreviation, not an acronym - and therefore I too use 'Id', not 'ID'.

I don't know about your qa's reasoning - words can have more than one meaning - this is not unusual in English :)

But it looks like the common usage is actually 'ID' (right or wrong :P), which is probably the format your users would expect.

Blorgbeard
  • 101,031
  • 48
  • 228
  • 272
  • 1
    So obvious.. and yet I've never even though about that before. +1 – womp Jul 20 '09 at 01:03
  • 3
    "Common usage" is right, by definition. That's how the English language works. So yes, ID is right. It's an abbreviation pronounced as two letters, just like TV. – TRiG Jul 06 '11 at 14:52
  • ID is common in real life, mostly meaning "Identity Document" / "Identification Document" / ... You don't ask someone's identity, you ask a document to prove it. – sanderd17 Aug 06 '19 at 10:38
  • ... follow-up after premature enter ... If you use "Id" as shorthand for "Identifier" you're not asking about a document, so it's just an abbreviation with a lowercase "d" IMO. That said, using "Id" in a user interface is bad practice IMO. An Identifier should be something internally used by the system, end users should not have to know it. It's fine in programming environments as a very common abbreviation though. – sanderd17 Aug 06 '19 at 10:45
6

As an UAUA (ultra-anal usability analyst), please use ID instead of Id.

Visually, it's more recognizable in English. Grammatically, "Id" is a word (rhymes with "squid") and the Freudian definition has been given above. We're never verbally asked to show "id", but "ID." I.D. is fine but passe, as the periods imply multiple words.

So.

Just use ID, okay?

OK.

Joel Cranford
  • 69
  • 1
  • 1
6

So, as a technical writer, this is an issue that comes up for me quite regularly when reviewing other people's work, whether it be programmers, BAs or other writers. Typically, id refers to ego as others have said before me and the accepted abbreviation for identification is ID, just because plenty of people don't know or understand the rule doesn't mean that they are correct (sorry to be blunt), mind you the rules for punctuation and spelling to a large degree are almost as changeable as fashion!

However, what no-one seems to have asked is, does your company have a standard? At the end of the day if your company has a style guide and they have covered this topic in that guide, you should follow the guide. If it is not covered, then may I suggest that you raise the issue with the person that maintains the guide and include any stakeholders in the conversation. Consistency is key here. If the company you work for doesn't have a style guide, then perhaps it is time to start one!

Hope this helps...

Pip
  • 61
  • 1
  • 1
5

It's interesting that so many feel "Id" should be the way to go. I feel "ID" is appropriate because it hints at how we pronounce it -- I.D. Also, when I read "Id" in a running sentence, I sometimes have to come back and read it again just to ensure it's not a typo for "is" or "it".

Amrita Ajit H
  • 51
  • 1
  • 1
4

The QA manager's line of reasoning is silly. Lots of English words have multiple meanings. "Lead", "lead", "lead" (metal, be at the front of, or a connector).

I would just try to be consistent with the capitalization used elsewhere in the app.

3

User interface and code are very different beasts...

"ID" is the correct answer for a user interface.

In code, consistency is your friend. Whether you like it or not, go with what is already there elsewhere in the code. If it's not there, then read up and make a decision, or get with the team and work out a way to go that everyone can agree to. Consistency makes life so much easier.

GaTechThomas
  • 5,421
  • 5
  • 43
  • 69
3

ID = Idaho! Id = Freud! Let the OCD begin!

Kelly R
  • 159
  • 1
  • 3
2

I prefer Id because when used with other 2-letter text, it doesn't become a single all-caps word

Photovoltaics systems ... PVID (one word or 2?) PvId (much more clear).

2

There is a little OcD in all of us!

Anyway, the google style guide says this:

"ID: Not Id or id, except in string literals or enums. In some contexts, best to spell out as identifier or identification."

I'm going with that.

Microsoft is more vague, from what I could find.

Tim Day
  • 105
  • 1
  • 5
1

as a short version of Identifier, I would use Id. Also ID it's freaky when you have functions like

getUserIDByName()

Multiple capitals in domain terms are quite problematic with CamelCase, as they can produce ambiguities and therefore dishomogeneity in your interfaces and namings

Stefano Borini
  • 138,652
  • 96
  • 297
  • 431
  • 5
    Of course, you could just use "getUserIdByName" in the code and display the UI with "ID", to get the best of both worlds. – Matthew Iselin Jul 20 '09 at 01:46
  • 1
    Yes, but that's an ambiguity, although I mean... you can live with it =) – Stefano Borini Jul 20 '09 at 01:49
  • 4
    In C#, the convention is to use camelCase/PascalCase with acronyms in your code - eg. the class `SqlConnection`. On your UI, you would still refer to "SQL Server connection details" though. – Blorgbeard Jan 18 '10 at 23:08
  • @Stefano, you suggest using getUserIdByName() instead of getUserIDByName() because of the camel case problem. But what should we do with DB? Like: GetDBConnection()? Replace DB with Db? – Ofer Zelig Aug 31 '11 at 06:36
  • **Related:** [`ID` (and its variations) and naming conventions in .NET code](http://stackoverflow.com/q/3351304/1497596). – DavidRR Jul 10 '14 at 14:19
1

How would you say it if you were reading out loud? I'd pronounce the two letters. ID is correct, analogous with similar abbreviations such as TV. (No dots, please, as the letters don't stand for anything.)

When I'm dealing with abbreviations like this, I like to format them in small block capitals, but that's just a personal taste. Capitals, anyway.

(But I probably would continue to use Id in the code itself.)

TRiG
  • 10,148
  • 7
  • 57
  • 107
1

I think its depend on the way we spell. We don't spell "it", but "ai-di". Id-ID is spell by two sounds, so people make the D in cap to avoid thinking id is a "word". Its more like a character symbol. I like the "ID" more, just because it's nicer.

Andiana
  • 1,912
  • 5
  • 37
  • 73
1

ID is correct. I have been in the Id camp for years, simply because I believed it was an argument between abbreviations and acronyms. Until one day I learned of a 3rd type (subtype really) called Initialisms which are specific to abbreviations or acronyms that are specifically read one letter at a time rather than pronounced as a single word. Initialisms are all caps.