**qgil** wrote on `2014-07-28 14:50:42 (UTC)`

@Rush, thank you for the long explanation but I have to say that I still disagree.

Your argument is based on the assumption that people memorize and type entire URLs. This is why having "sane" URLs is key for you, and the rest needs to be adapted to this assumption, sacrificing the use of natural language in the UI.

I believe for most users the UI goes first, and using natural language there makes them happier. Phabricator, web links, search engines, and users' browsers will deal with the full URLs. This is what happens nowadays in most web services, including Wikipedia and our developer infrastructure sites.

Summarizing my opinion:

* Using original project names in Phabricator makes them easier to type and find.
* Project names are used as simple tags, except in the case of explicit subprojects of an existing project à la "Product - Component". No "MediaWiki-Extensions-Etc".
* Since projects are proper nouns, by default they use the regular Title Case. Other uses of case are allowed only when the original project name uses them (e.g. GoogleLogin, VisualEditor, MySQL, FOSDEM)

> mediawiki-extensions-googlelogin ftw

Two reasons why this is not a good solution:

# If you search for "googlelogin" or any substring, you will not find this project in the search engine or via typeahead in a new task. If the project has separate words like "MediaWiki Extensions GoogleLogin" then yes, starting to type "Goo..." the project will appear and the user can just select it. Test this by typing "Dashes" or "dashes". "[[ http://fab.wmflabs.org/project/view/61/ | test-project-dashes ]]" will never show up, while "[[ http://fab.wmflabs.org/project/view/62/ | Test Project Dashes Searchable ]]" will as soon as you type "D" or "d". If all what users know is the project name, they will find it only with separate words.
# Considering the importance of typeahead in Phabricator, we want to avoid having hundreds of entries starting with "mediawiki..." or "wikimedia...". Users with a problem in "GoogleLogin" will come and start typing that string directly. This is not Git/Gerrit or Bugzilla, we don't need to reflect any tree structure. Phabricator is about tags. What is important about "GoogleLogin" is that users can find it or reference it easily. Therefore the best is to use the name as is.