Page 4 of 12

We can put an end to imperial units

“In metric, one milliliter of water occupies one cubic centimeter, weighs one gram, and requires one calorie1 of energy to heat up by one degree centigrade—which is 1 percent of the difference between its freezing point and its boiling point. An amount of hydrogen weighing the same amount has exactly one mole of atoms in it. Whereas in the American system, the answer to ‘How much energy does it take to boil a room-temperature gallon of water?’ is ‘Go fuck yourself,’ because you can’t directly relate any of those quantities.” Wild Thing by Josh Bazell.

I have not read Wild Thing, and I do not have any idea about who Josh Bazell is, but I love this quote. It brilliantly summarises how superior the International System of Units (i.e., the modern form of the metric system) is to the system of imperial units, as shown in the following illustration:

Visual comparison of metric and imperial units

Yet, nowadays…

The USA is the only industrialised country in the world that still uses a system of units developed from English units (i.e., the United States customary system), as well as the only industrialised country in the world that has not adopted the International System of Units2(see Metrication in the USA).

Canada and the UK have adopted the International System of Units, but their metrication process is far from being complete (see Metrication in the UK and Canada).

Despite the fact only a minority of countries have not adopted the International System of Units, the majority of countries are still contaminated by the system of imperial units. Think about it… Even in continental Europe, where the metric system comes from and where the imperial units are nowhere in the education curriculum, screens are measured in inches, aircrafts’ altitude is measured in feet, watercrafts’ speed in measured in knots, etc.

The problem is that, to anybody who grew up with the International System of Units, an advertisement of a 55” TV screen tells very little about the actual size; a captain announcing that the plane is cruising at 30,000 feet tells very little about the actual altitude; a speedometer showing that the boat is cruising at 20 knots tells very little about the actual speed.

This is ridiculous and has got to stop. Governments of all countries adopting the International System of Units have to enforce that this system is used in absolutely every application and that any trace of imperial units is consigned to history.

If you are a man or woman of science, or if you simply have common sense, please share this post on every social network, and tag your tweets and instagrams with the tag #banimperialunits.

Here are some examples of tweets that you can send to your politicians.

Inch is not an official unit in Norway. Why are screens measured in inches and not centimetres? #banimperialunits

Foot is not an official unit in Italy. Why does the aviation industry use feet and not metres? #banimperialunits

Knot is not an official unit in Spain. Why does the ship industry use feet and not metres? #banimperialunits

Together, we can put an end to imperial units.

Footnotes

  1. One may argue that calorie is not a unit of the metric system. In the International System of Units, which is an evolution of the metre-kilogram-second (MKS) system of units, which in turn is a variant of the metric system, both mechanical and thermal energies are measured in Joule. However, in the centimetre-gram-second (CGS) system of units, which is another variant of the metric system, the thermal energy is measured in Calories. Therefore, I would still consider Calorie as one of the units of the metric system, although not of the International System of Units. Besides, I do not think Josh Bazell aimed at being scientifically rigorous, so I would excuse him for not clarifying which variant of the metric system he refers to.
  2. The two other countries that do not adopt the International System of Units are Myanmar and Liberia, while the four other countries that adopt Fahrenheit for everyday applications are Bahamas, Belize, the Cayman Islands, and Palau.

We can put an end to month-day-year dates

What is today’s date? If you answered this question with February 23, 2025 (read February the twenty-third, two thousand and twenty-five), you should go on reading.

The day-month-year date format (e.g., 23 February 2025) is officially adopted by the vast majority of the world’s countries.

The year-month-day date format (e.g., 2025-02-23) is officially adopted by China, Japan, Korea, and Iran, and is also the date format of the ISO 8601 standard.

The month-day-year date format (e.g., February 23, 2025) is officially adopted by the USA only (although contamination of this format can be found in a few other countries). Like most standards adopted in the USA, the month-day-year date format is bizarre at best, as shown in the following illustration:

Visual comparison of date formats

Yet, nowadays…

The month-day-year format is used by a large number of people speaking English as a foreign language, who adopt Americanisms like these without thinking them through. Unfortunately, this is the case even in Europe, despite the fact that every European country–including the UK–officially adopts the day-month-year format.

Long story short: if you live outside the USA but use the month-day-year format when writing or speaking in English, you are doing it wrong. You do not suddenly use miles, pounds, and Fahrenheit when writing or speaking in English, right? Then please, in the interest of logic, do not use the month-day-year date format either. 🙂 Keep using the day-month-year or year-month-day date formats, like you learned in school. If you want to avoid any misunderstanding, just use the variants d MMMM yyyy or d MMM yyyy of the day-month-year date format (e.g., 23 February 2025 or 23 Feb 2025), which are the most readable ones.

So, once again, what is today’s date? It is 23 February 2025 (read the twenty-third of February two thousand and twenty-five).

Six months in Oslo—Life of a researcher in the capital of Norway

26 November 2012 at 3:00 in the morning. I was sitting on the bed of my bare room in Bergen, overwhelmed with fear and excitement, looking at my life packed into suitcases, backpacks, and boxes, and staring at my one-way ticket for the earliest morning flight to Oslo: “Will I like Oslo?”, “Will I enjoy my new life?”, “Will I miss Bergen?” Now, after six months in Oslo, I can finally answer these questions.

The city of Oslo may not have the charm of other western European capitals. It was built when Norway was among the poorest countries in Europe, and it is not difficult to notice. It has little classical architecture, and the one it has is not exactly impressive: even the neoclassical Royal Palace is way too dull to my taste. But Norway is among the richest countries in the world now, and the municipality is finally investing resources to give the city a new touch of contemporary architecture. The Fjord City project aims at opening the city towards the fjord by building housing and recreation on the waterfront part of the city centre. The Opera House in Bjørvika together with the Astrup Fearnley Museum in Tjuvholmen are notable examples of this development. Although controversial, I find these buildings amazing, and I believe that, together with the upcoming buildings such as the new Munch Museum in Bjørvika, they are going to give a unique character to the city.

Another distinctive feature of Oslo is that its people can be quite diverse. The various areas of Oslo have all different atmosphere, with Grünerløkka (Oslo East) featuring rather laid-back people and Frogner (Oslo West) featuring rather posh people—to the point that “vestkantgutt” (literally west side boys) is a common Norwegian expression to denote daddy’s boys. This heterogeneity is unique in Norway, where otherwise the law of Jante preserves uniformity across the society. Now there is good and bad with the law of Jante, and I must confess that I have incorporated some of these values into myself after many years in Norway, but one of its bad sides is that it tends to deprive people of significance. I find it interesting that this phenomenon is less evident in Oslo, where people are less afraid to show that they are successful.

I bought a new flat in Rodeløkka, north of Grünerløkka. It cost me a fortune, but it increased my quality of life dramatically 🙂 I have met plenty of charming people so far, both international and Norwegians, which made my social life enjoyable. I am also satisfied with my new job at SINTEF, where I am currently working on some challenging but stimulating EU projects—namely PaaSage, MODAClouds, and Broker@Cloud, for those interested. All in all, life has never been so good, and, to be honest, I have never really missed Bergen.

The sad story of the vCard format and its lack of interoperability

I have tried to reach the zen of address book synchronisation for many years. However, I have always experienced that some contact information, especially instant messaging and social networking addresses, gets lost or corrupted during the synchronisation.

The most adopted format for representing contact information is the vCard, whose last version is the 4.0 (see IETF’s RFC 6350, 2011), while the most adopted protocol for accessing contact information is the CardDAV (see in the IETF’s RFC 6352, 2011), which is based on the vCard format. Therefore, I performed a little empirical study of the actual interoperability of the vCard format.

First, I defined a sample contact:

Joe Bloggs
me@joebloggs.com
+44 20 1234 5678
1 Trafalgar Square, WC2N London, United Kingdom
Web: https://joebloggs.com
Skype: joe.bloggs
Twitter: @joebloggs

Second, I added this contact to four different address books:

  • Apple Contacts (formerly Address Book)
  • Cobook
  • Google Contacts
  • Memotoo

Third, I exported each of the address books to a vCard file.

Fourth, I created a sample vCard file based on the vCard format 4.0.

Finally, I compared the exported vCard files and the sample vCard file among each other. The differences between these files blew my mind.

In the following, I show these vCard files and discuss the properties that are not interoperable. Note that I stripped the irrelevant properties and rearranged the remaining properties to make the comparison easier.

Sample vCard file

BEGIN:VCARD
VERSION:4.0
N:Bloggs;Joe;;;
FN:Joe Bloggs
EMAIL;TYPE=home;PREF=1:me@joebloggs.com
TEL;TYPE="cell,home";PREF=1:tel:+44 20 1234 5678
ADR;TYPE=home;PREF=1:;;1 Trafalgar Square;London;;WC2N;United Kingdom
URL;TYPE=home;PREF=1:https://joebloggs.com
IMPP;TYPE=home;PREF=1:skype:joe.bloggs
X-SOCIALPROFILE;TYPE=home;PREF=1:twitter:https://twitter.com/joebloggs
END:VCARD

In my opinion, the specification of the vCard is substandard. Believe or not, it does not support social networking addresses yet. Even worse, it supports constructs that prevent interoperability, namely grouped properties and non-standard properties.

Grouped properties are properties prefaced with the same group name. They should be grouped together when displayed by an application. I will show examples of grouped properties later.

Non-standard properties are properties defined unilaterally or bilaterally outside the standard. They may be ignored by an application.

For instance, I was forced to represent the Twitter address by a non-standard X-SOCIALPROFILE property:

X-SOCIALPROFILE;TYPE=home;PREF=1:twitter:https://twitter.com/joebloggs

Apple Contacts (version 7.1)

BEGIN:VCARD
VERSION:3.0
N:Bloggs;Joe;;;
FN:Joe Bloggs
EMAIL;type=INTERNET;type=HOME;type=pref:me@joebloggs.com
TEL;type=CELL;type=VOICE;type=pref:+44 20 1234 5678
ADR;type=HOME;type=pref:;;1 Trafalgar Square;London;;WC2N;United Kingdom
item1.URL;type=pref:https://joebloggs.com
item1.X-ABLabel:_$!<HomePage>!$_
IMPP;X-SERVICE-TYPE=Skype;type=HOME;type=pref:skype:joe.bloggs
X-SOCIALPROFILE;type=twitter:https://twitter.com/joebloggs
END:VCARD

The vCard file exported by Apple Contacts is only partially based on the vCard format 3.0 (see IETF’s RFC 2425 and RFC 2426, 1998) and its extension for instant messaging (see IETF’s RFC 4770, 2007).

The web address is represented by a standard URL property grouped together with a non-standard X-ABLabel property:

item1.URL;type=pref:https://joebloggs.com
item1.X-ABLabel:_$!<HomePage>!$_

This issue can be solved by changing the type of the web address from “home page” to “home”. This leads to a vCard file where the web address is represented by a standard URL property:

URL;type=HOME;type=pref:https://joebloggs.com

The Twitter address is represented by a non-standard X-SOCIALPROFILE property:

X-SOCIALPROFILE;type=twitter:https://twitter.com/joebloggs

Cobook (version 1.1.6)

BEGIN:VCARD
VERSION:3.0
N:Bloggs;Joe;;;
FN:Joe Bloggs
item1.EMAIL;type=INTERNET:me@joebloggs.com
item1.X-ABLabel:_$!<Home>!$_
item2.TEL;type=VOICE:+44 20 1234 5678
item2.X-ABLabel:_$!<Mobile>!$_
item3.ADR:;;1 Trafalgar Square;London;;WC2N;United Kingdom
item3.X-ABLabel:_$!<Home>!$_
item4.URL:https://joebloggs.com
item4.X-ABLabel:_$!<Home>!$_
item5.IMPP;X-SERVICE-TYPE=Skype:x-apple:joe.bloggs
item5.X-ABLabel:_$!<Home>!$_
X-SOCIALPROFILE;type=Twitter;x-user=joebloggs:https://twitter.com/joebloggs
END:VCARD

The vCard file exported by Cobook is only partially based on the vCard format 3.0. With the exception of the name, all the contact information is represented by either grouped properties or non-standard properties.

Google Contacts (15 November 2012)

BEGIN:VCARD
VERSION:3.0
N:Bloggs;Joe;;;
FN:Joe Bloggs
EMAIL;TYPE=INTERNET;TYPE=HOME:me@joebloggs.com
TEL;TYPE=CELL:+44 20 1234 5678
ADR;TYPE=HOME:;;1 Trafalgar Square;London;;WC2N;United Kingdom
item1.URL:https\://joebloggs.com
item1.X-ABLabel:_$!<HomePage>!$_
X-SKYPE:joe.bloggs
item2.URL:https\://twitter.com/joebloggs
item2.X-ABLabel:Twitter
END:VCARD

Google Contacts does not support social networking addresses natively, so I was forced to add them as URLs.

The vCard file exported by Google Contacts is only partially based on the vCard format 3.0 (see IETF’s RFC 2425 and RFC 2426, 1998).

The colon in all the URLs is unnecessarily escaped.

Similar to Apple Contacts, the web address is represented by a standard URL property grouped together with a non-standard X-ABLabel property:

item1.URL:https\://joebloggs.com
item1.X-ABLabel:_$!<HomePage>!$_

I guess this is because Google Contacts specifically targets Apple Contacts when exporting to a vCard file. This issue can be solved by changing the type of the web address from “Home Page” to “Home”. This leads to a vCard file where the web address is represented by a standard URL property:

URL;TYPE=HOME:https\://joebloggs.com

The Skype address is represented by a non-standard X-SKYPE property:

X-SKYPE:joe.bloggs

The Twitter address is represented by a standard URL property grouped together with a non-standard X-ABLabel property:

item2.URL:https\://twitter.com/joebloggs
item2.X-ABLabel:Twitter

Memotoo (15 November 2012)

BEGIN:VCARD
VERSION:2.1
N:Bloggs;Joe;;;
FN:Joe Bloggs
EMAIL;INTERNET;HOME:me@joebloggs.com
TEL;HOME;CELL:+44 20 1234 5678
ADR;HOME:;;1 Trafalgar Square;London;;WC2N;United Kingdom
URL;HOME:https://joebloggs.com
X-SKYPE-USERNAME:joe.bloggs
X-TWITTER:https://twitter.com/joebloggs
END:VCARD

The vCard file exported by Memotoo is only partially based on the vCard format 2.1.

The Skype address is represented by a non-standard X-SKYPE-USERNAME property:

X-SKYPE-USERNAME:joe.bloggs

The Twitter address is represented by a non-standard X-TWITTER property:

X-TWITTER:https://twitter.com/joebloggs

Conclusion

Given the results of this study, it is not surprising that the import/export of vCard files as well as the synchronisation via CardDAV do not behave as expected most of the time.

Common contact information such as email addresses, telephone numbers, postal addresses, web addresses, and instant messaging addresses can be represented in two ways: using standard properties, or using standard properties grouped together with non-standard properties. The second way is currently used by Apple (and other vendors targeting Apple); it is unnecessary, prevents interoperability, and promotes vendor lock-in.

Other common contact information such as social networking addresses are not supported at all.

So what should be done? Here is my suggestion:

First, the IETF should remove grouped properties and non-standard properties from the specification, since open standards should promote rather than prevent interoperability. Second, the IETF should add social networking properties to the specification. Third, the IETF should provide an official validator for vCard files. Finally, the vendors should implement the last version of the vCard format, and they should do it right.

Update 22 November

I have shared my concerns in IETF’s vCardDAV mailing list. You can follow the thread here.

A new beginning

Dear friends and colleagues,

I would like to thank you for these last five years in Bergen. They made me grow personally and professionally, and I will never forget them.

Now, however, it is time for me to move on. I have accepted a position as Research Scientist at SINTEF ICT in Oslo, and I am looking forward to starting.

My former supervisor Uwe once wrote me “Sometimes changes open unforeseen new perspectives.” This sentence has never seemed more appropriate.

See you in one month, Oslo.