An incredibly common complaint about Drupal is in that its terminology is often arcane and difficult to understand. And while the substance of these complaints are actually right, many people come to what I consider the wrong conclusion, and it's this wrong conclusion that is actually the root of what is currently wrong with Drupal's use of terminology.
Let's take a look at some actual problems with terminology.
Long complained about, taxonomy is a technical term with a very specific meaning. It seems to frighten a lot of people, and it is considered difficult for people to grasp. One of the reasons for this is that, somewhere along the way, taxonomy had been renamed categories. In Drupal 6 it was finally actually renamed back to taxonomy, which is good. After all, when I enable the 'taxonomy' module, I wouldn't expect to administer it via the 'categories' link. Taxonomy module should call itself taxonomy, darn it.
But beyond that, the term 'categories' was actually incorrect. A very long discussion pointed out that what people understand when they see categories turns out to not be what taxonomy is. This leads to an incorrect understanding which makes the problem worse, not better. Just because users understand the term category and not taxonomy is a bad reason to call something it is not. After all, oranges and grapefruit are very similar. But if I give you a grapefruit and tell you it's an orange because you don't know what a grapefruit is, have I done you a favor?
No. You'll dig into the grapefruit and probably be pissed at me because it's not an orange. If I'd just told you it was a grapefruit, you'd have the opportunity to ask "What's a grapefruit?"
Of course, this is where we fall down again. We do a terrible job of answering the question "What is taxonomy". Oh, there are web pages dedicated to it, but the fact of the matter is, when I click on administer >> content >> taxonomy, I should be able to find the answer to "What is taxonomy" right there. If it's not one click away or less, and it's not written succinctly, I have failed.
The problem with categories continues to exist in Drupal. Because the word 'node' has fairly ambiguous meaning, it was deemed a good idea to not expose the user to the word node. And in the Drupal UI, everywhere that you might see 'node' you now see the word 'post'.
This is great, except:
- Nodes aren't always posts. If I'm using CCK and my node is 'person', that's not a post. D'oh.
- The word 'node' is still all over the place. node.module is listed in the module administration page, developers refer to them as nodes, most contrib modules refer to them as nodes, and all the documentation still refers to them as nodes.
- 'administer nodes' permission. Not administer posts. Oops.
- Worse: a node type is a 'content type' in the UI. Not a node type OR a post type. Double d'oh!
- There is nowhere that explicitly tells the user that a node is a post.
- The definition of a node, as far as Drupal is concerned, isn't near the node administration pages.
Using familiar terminology in place of correct terminology is a recipe for disaster. The only correct solution, in my opinion, is to use the correct terminology and make it very easy to find the definition of this terminology in the places that matter. The information may be available, but it has to be available when the user needs it, not via google search. Probably the user doesn't know the right words to search for anyhow.
A proper user experience prepares the user for the unfamiliar. Yes, principles of user interface design demand that UI be as familiar as possible; and to copy other common UIs to create common experience. That said, giving the user wrong information is tantamount to lying to the user, and then being shocked, SHOCKED I TELL YOU, when the user is hurt.
Oh, PS: A 'user' is someone who 'uses' the site. 'People' could be people who aren't users. You could call a user an 'account' if you like, that's actually pretty accurate. But if you want 'people', go look at CiviCRM. Or a phone directory. There's lots of people there.