## Scammers registering date-based domain names Yesterday, January 2nd, my wife received a billing alert from her phone provider. Luckily, she's not with EE - because it's a pretty convincing text. That domain name is specifically designed to include the day's date. If you're stood up on a crowded train, with your phone screen cracked, would you notice that a . is where a / should be? A quick look at the URl shows a trusted domain at the start - followed by today's date. It starts with https:// - that means it's secure, right? Is .info even recognisable as Top Level Domain? Scammers know these domains get blocked pretty quickly - so there's no point registering a generic name like billing-pdf.biz only to have it burned within a day. By the time I'd fired up a VM to inspect it, major browsers were already blocking the site as suspicious. Is there any way to stop this? No, not really. Domain names are cheap - you can buy a new .info for a couple of quid. The https:// [certificate was freely provided by Let's Encrypt](https://crt.sh/?id=2277317624 ). The site was probably hosted somewhere cheap, and whose support staff are asleep when abuse reports come in from the UK. And that's the price we pay for anyone being able to buy their own domain and run their own secure site. Money and technical expertise used to be strong barriers to prevent people from registering scam domains. But those days are long gone. There are no technical gatekeepers to keep us safe. We have to rely on our own wits. #phishing #scam #spam
## <input type="country" /> Recently, Lea Verou asked an important question about whether HTML should have a standardised way of letting users select a country from a list. > [ > Lea Verou > @LeaVerou]( ) > []( ) > HTML Idea: <input type="country"> which would become a searchable dropdown with all countries and their flags. > Wouldn't that be awesome?> [> ❤️ 1,863> 💬 113> 🔁 0> 13:17 - Sat 21 October 2017]( )You can read through the conversation and make your own mind up (while also marvelling at the witless mansplainers) - but I'd like to give you my considered take on it. (Disclaimer - I'm an editor on the HTML 5.3 spec and I work for the UK Government. This is a personal blog post and doesn't represent the views of my employers, associates, or friends.)## [Who Are You?](#who-are-you )Let's start with the big one. What is a country? This is about as contentious as it gets! It involves national identities, international politics, and hereditary relationships. Scotland, for example, is a country. [That is a (fairly) uncontentious statement](http://www.parliament.uk/about/living-heritage/evolutionofparliament/legislativescrutiny/act-of-union-1707/overview/ ) - and yet in drop-down lists, I rarely see it mentioned. Why? Because it is one of the four countries which make up the country of the United Kingdom - and so it is usually (but not always) subsumed into that. Some countries don't recognise each other. Some believe that the other country is really part of *their* country. [Some countries don't exist]( ). There are two main schemes to classify what is and isn't a country. The first is ISO 3166-1. It provides two- and three-letter codes for every country. Well... sort of. ISO 3166 contains 249 different countries, territories, protectorates, principalities, duchies, and other bits-and-bobs. It contains the Falklands, but not Scotland. The second is... whatever your country says is another country! My friends in the Government Registers Team have published [a canonical list of every country that the UK recognises]( ). There are 199 entries. Which countries are *not* in there is left as an exercise for the reader. The UK's register of countries should allow every Government website to have the same list in a drop down. When new countries are recognised, one list needs to be updated - and then all websites automagically update. In theory. Incidentally, that list of 199 countries includes four entries for countries **which no-longer exist**. For example Yugoslavia. Which brings us to the next question...## [What's the use case?](#whats-the-use-case )The most obvious one is "I want to give a site my current address" - presumably for identification purposes or postal deliveries. But what if the use case is "I want to say where I was born"? Borders shift. Countries disappear, merge, split, change names, change flags, and do all manner of weird things which trip up your edge cases. The user may want to find the name in their own script - for example would a Greek user be looking for "Greece" or "Ελλάδα"? If a Chinese speaker wants to visit the UK, do they look in the drop-down for "英国"? International Dialling Codes - not every country is unique - +1 is used by USA, Canada, Anguilla, Dominican Republic, and dozens more. Are there [countries where there is more than one international dialling code]( )? OK, what if the user wants to select their language based on their country?## [Do You Have A Flag?]( )[🔗](#do-you-have-a-flag )It is one of the classic conventions that first-year students of user interface design are taught - [countries do not represent language]( )! Some countries have multiple official languages. Some users may not speak the language of their country. Some languages are only used for official purposes, and not by the general population. Flags *mostly* represent countries. There are people in Wales who would rather see Y Ddraig Goch rather than the [Union Jack]( ). And vice-versa. Flags can make people angry. The flag of the USA last changed in 1960 - but [Mauritania changed theirs in August 2017](https://www.washingtonpost.com/news/worldviews/wp/2017/08/08/mauritanias-president-bundles-a-patriotic-flag-change-with-abolishing-the-senate/ ). How quickly can a browser update their list of countries?## [...and yet...](#and-yet )I instinctively *like* this idea! [This isn't a new question]( ), nothing ever is, but I think it is an idea which has merit. One of the goals of HTML is to stop web developers having to re-invent the wheel. That's why we have lots of different &lt;input&gt; types - to reduce complexity. Colour picker Number inputs Range selector Some modern browsers support date input The challenges of a country selector are...<li>Keeping everyone happy and not causing major diplomatic incidents. Easy‽</li><li>Usability. Making sure it's easy to search for the name of a country.</li><li>Consistency. How do you indicate that this list contains historic countries?</li> None of these are insurmountable problems - but it's far from trivial. And yet... I think there is a real possibility that this could work. Millions of websites already find ways to cope with the ambiguity - perhaps browsers can too? #flag #i18n #NaBloPoMo