How do I explain to my grandmother when a banking site is safe? "Yeah, so, it has to start with 'https://', but only at the beginning, and then it has to END with "thebank.com", OR, before the third slash (so not the ones after https://). So find the third /: is there no third /? Then it must end with thebank.com. Is there one? Then before that it must have thebank.com. Yeah it's the part that's blacker! Exactly. It's not super clear but.... Ok forget it. Click the padlock and read the name of the company. And make sure it's from the same country, at least."
[馃敀 Bank Entity Inc.] https://yourbank.tld
Top-level domains have rarely been used as the ontological category they were intended to be. They are little more than flavor-text that is annoyingly required for uniqueness purposes. I think they rightfully belong in the position of least significance.
Except that's not true at all.
The reason they became "flavor-text" was because they appeared to be tacked on to the end for no reason other than uniqueness. Previously existing organizational schema worked for decades with proper categorization: Usenet is a wonderful example of just how powerful it is.
Had URLs been defined correctly, "com" would have immediately told the user "a commercial entity", "org" would have immediately meant "an organization", "net" probably wouldn't exist, and these newer TLDs like "google", "audio", "apps" would have made a hell of a lot more sense.
Usenet suffered from some a similar problem to domain names: everything started creeping into the "alt" top-level because it was the popular top-level free-for-all.
And the usefulness of the classification for humans was debatable since every topic could be found in multiple locations and some, like rec.arts.tv and alt.tv, rapidly ended up dwarfing entire top level categories like humanities.
Domain names (DNS) were developed in 1985 to locate things on the Internet, entirely separately, with the opposite hierarchical ordering.
The convention of locating files on a system identified by a domain name wasn't developed until 1992 and standardized in 1994 as a URL.
As a result, we have two hierarchical orderings for two separate things, because they were merged later on.
What we have now is obviously much friendlier to the end user, given it has no reliance on remembering or understanding the network topology!
Fixed that for you.
you know there's an actual reason for this?
com > google > www
"www" is a subdomain of "google" which is a subdomain of the top level domain "com"
historically that was a conventional way to separate services (ftp.google.com, www.google.com gopher.google.com)
But actually 'web' reveals to the graph of hyperlinks between http/html pages that let you navigate from page to page, server to server. www denotes the host is primarily a http server serving web pages.
You could argue it's superfluous these days - if you are typing it in an address bar, you hope it is a http server, and if you are typing it in a ssh prompt, you know it's your ssh server. People add it because it's a convention and some users might get confused if you don't... (it's probably a vhost anyway most of the time)
com. only serves the nameserver (NS) addresses for example.com., and if they are within the same domain, their IP addresses. It does not serve the rest of the records for example.com.
You can see this easily with e.g.:
dig -t any google.com. @a.gtld-servers.net.
vs.
dig -t any google.com. @ns1.google.com.
There is no real advantage of having it be 'www' coming from DNS...
There is a somewhat more modern problem which is that having a domain be a CNAME (the DNS equivalent of a by-name redirect) means it can't also have MX records and receive mail; the CNAME also ends up "redirecting" everything, including MX lookups. So if your web host offers yourdomain.someawesomehost.com and you decide to point yourdomain.com to it via CNAME, having you@yourdomain.com doesn't work unless yourdomain.someawesomehost.com is configured to receive mail for yourdomain.com.
google.com.www is in neither ascending or descending order.
www.google/stuff works now that we have generic TLDs and .google is a TLD, but before that it ignores the possibility of google.net and google.org. This may not be a problem for a unique trademark like google but not all domains are trademarks.
Or how about com/ycombinator/news?
Human language is all about optimizing for context. Abbreviations, contractions, etc. For humans, most of the time the current year and/or "com" are the default context, so it makes sense to present the most significant differentiating information first. If you think about it, that's also why "www." got dropped.
With cell phones and unlimited nationwide calling plans, it's more common to find an assortment of area codes in contact lists these days. What you're describing is not actually a default context. It's just your personal area code. The person next to you might very well have a different one.
So I'm not sure what "old enough to remember" means when it's still true today. 95% of the numbers I call now are local businesses, so I only dial seven digits.
I don't know, maybe you're from the future or something.
It's only the default for new numbers. People carry their old numbers with them when they move, unlike the olden days. Bottom line, contact lists have a lot more mixed area codes now.
> 95% of the numbers I call now are local businesses
That might explain the difference of perspective here. Most people call other people on their phones, not just businesses.
If it was done in the same direction as folders, you wouldn't even have to know anything about domains.
I actually suspect if we started with a clean slate, it would make more sense to start with "more generic/less detail" to "less generic/more detail." Urls after the domain already do that (well, organized sites, do), e.g. www.site.com/cleaningsupplies/clorox
Then we could have (expanded for example): company.google organization.charitynavigator uk.company.google xxx.whoa (for those that remember the proposal for a xxx tld)
But there's probably a technical reason for it being the way it is that I'm not aware of or something.
Of course, I realize that this is a tall ask given that you have conflicting brands around the world. Perhaps there should be some linguistically obvious [to the average non-I.T. person] way to differentiate between conflicting brands...
I feel like the most obvious should be that we should never have to negotiate security by typing HTTPS... that should be the default state, falling back to HTTP only if HTTPS was unavailable and a warning should be given to the user. The average user [indeed any user] should never have to "look for HTTPS" or "look for the padlock". The whole browser UI should be more intuitive than that - the user should be able to look at the browser window and infer that communication with that site is not secure.
I'm not sure what the address structure should be... perhaps something like(?)
ISO_COUNTRY_CODE/REGISTERED_COMPANY_NAME/SITE_NAME/PATH/TO/RESOURCE
Examples:
- UK/COMPANY/ARGOS/ABOUT-US [Brand Information Page]
- UK/COMPANY/ARGOS/ONLINE-STORE/HOME/FURNITURE/BEDROOM/KIDS/BEDS/PIRATE-SHIP-BED [Catalog Item]
- UK/COMPANY/ARGOS/STORES/ACOCKS-GREEN [For local information]
- US/COMPANY/AMAZON [Brand Home Page]
- US/COMPANY/AMAZON/STORE/ELECTRONICS/DVD/LORD-OF-THE-RINGS [Catalog Item]
- US/CHARITY/LIVESTRONG [Brand Home Page]
- CA/CHURCH/UNITED/SASKATOON [Localized Home Page]
Perhaps a global brand such as Amazon or Facebook wouldn't even need a country code...or it could be figured out by an algorithm based on the user's context: FACEBOOK could map to UK/COMPANY/FACEBOOK for a person in the UK or US/COMPANY/FACEBOOK for a person in the U.S. The user could override the location by manually typing the address. If the user's IP address belonged to Amazon in the US, then they could type in just the site and resource address and the rest of the address could be construed from their context: Typing in STORE/ELECTRONICS/DVD/LORD-OF-THE-RINGS would automatically be understood as: US/COMPANY/AMAZON/STORE/ELECTRONICS/DVD/LORD-OF-THE-RINGS. For a residential user, their IP would be assigned to the block for their country, so any sites not explicitly specified would infer a site within their own country.
If the country code isn't known, then some algorithm could attempt to figure it out. If it was ambiguous, then the user could be presented with search results by a preconfigured [or their favorite] search engine.
Anyway - as Tim Berners Lee says... it's too late now. Until someone sets about re-imagining the entire infrastructure that is today's internet, we're stuck with what we've got.
Everything old is new again.
- That's how phone numbers work, the most significant part of the number is first (<country-code> <area-code> <local-number>) so the most significant part (TLD) should come first in domain names. Users like systems that look like other systems they are already used to.
- <tld>.<domain> would help thwart phishing attacks as most users read left-to-right, so they see right away when the domain is incorrect. Compare this to "google.com.phishing.com" which tricks users because they stop reading after they see "google.com..."
- When you read or hear "go to com.myawesomedomain" you know a domain name is being mentioned as soon as you hear "com.". It is not always obvious otherwise (you have to use specific language like "browse to").
<House number> <Street>
<City> <State> <ZIP code>
Except for ZIP code, the address elements are ordered in descending specificity.
I would say its easiest if the most variable part is first, not only for autofill but for the way I think about it.
When you talk about "most significant" you mean the "largest" category. To me the actual most significant is the part that identifies the most unique thing you are typing in, and that tends to be the domain.