For any engineering task, there are numerous ways a given problem can be solved. The more complex the task, the more room for diversity. That's all well and good for a one-off problem, but if a design is meant to be iterated over time, or if an entire industry is solving that same problem, part reuse and {{w|interoperability}} become issues to deal with. Standards thus came to exist so that industries could avoid wasting resources {{w|reinventing the wheel}}, whilst offering their clients a certain amount of simplicity and compatibility between vendors.

For any engineering task, there are numerous ways a given problem can be solved. The more complex the task, the more room for diversity. That's all well and good for a one-off problem, but if a design is meant to be iterated over time, or if an entire industry is solving that same problem, part reuse and {{w|interoperability}} become issues to deal with. Standards thus came to exist so that industries could avoid wasting resources {{w|reinventing the wheel}}, whilst offering their clients a certain amount of simplicity and compatibility between vendors.

−

But, standards have issues of their own. They don't accommodate every {{w|Use Case|use case}}, they might have restrictions or royalties attached, and people tend to be plagued by so-called ''{{w|Not invented here|not invented here syndrome}}''. So competing standards have a way of arising to address different perceived needs. After a while, things get messy and hard to follow, and integrating systems built around competing standards gets burdensome, so someone eventually takes on the challenge of creating a universal standard that everyone can rally around. This almost never works, ironically making things messier. Moreover, this can end up becoming cyclical, with new standards periodically rising and failing to gain traction.

+

But, standards have issues of their own. They don't accommodate every {{w|Use Case|use case}}, they might have restrictions or royalties attached, and people tend to be plagued by ''{{w|Not invented here|Not Invented Here syndrome}}''. So, competing standards have a tendency to arise to address different perceived needs. After a while, the market for competing standards gets messy and hard to follow, and {{w|system integration|integrating systems}} built around competing standards gets burdensome. As a result, someone eventually takes on the challenge of creating a universal standard that everyone can rally around.

+

+

This almost never works. In many cases, a new standard fails to displace the incumbent standard, and eventually loses funding and support, becoming a relic of history. In many other cases, it only penetrates far enough to survive, ironically making the situation messier. The latter situation often ends up becoming cyclical, with new standards periodically rising and failing to gain traction.

+

+

Three examples are given at the top of the comic: {{w|AC adapter|AC chargers}}, {{w|character encoding}} and {{w|instant messaging}}.

+

* Power adapters are notorious for varying from device to device - partly to try to prevent dangerous voltage/current mismatches, but partly just because manufacturers all chose different adapter designs. Mobile phone chargers have slowly been converging towards a common USB-based solution, but laptops are still a long way out, despite the adoption of yet another standard, {{w|IEC 62700}}. Randall notes that there was initially additional complexity due to the fact that there were also ''competing USB types'', but thanks to the European Union's {{w|common external power supply}} specification, micro-USB comprehensively won the day. It remains to be seen whether the release of the new {{w|USB Type-C}} specification will reopen this war.

+

* Character encoding is, in theory, a solved problem - {{w|Unicode}} is a standard for character sets which currently includes over 135,000 characters. However, Unicode is not an encoding, just an abstract representation of the characters, and there are several implementations which encode Unicode "code points" into usable characters (including the two most common, {{w|UTF-8}} and {{w|UTF-16}}). Despite the success of Unicode, older encodings like {{w|ASCII}} and {{w|Windows-1252}} have stuck around, continuing to cause weird bugs in old software and websites to this day.

+

* Unlike the other examples, there has been little or no effort by instant messaging companies to make their services interoperable. There's more value to keeping IM as a {{w|closed platform}} so users are forced to use the company's software to access it. Some software, like the {{w|Trillian (software)|Trillian}} chat client, can connect to multiple different services, but there is essentially no way to, for example, send a Twitter message directly to a Skype user.

==Transcript==

==Transcript==

Latest revision as of 04:14, 13 September 2017

For any engineering task, there are numerous ways a given problem can be solved. The more complex the task, the more room for diversity. That's all well and good for a one-off problem, but if a design is meant to be iterated over time, or if an entire industry is solving that same problem, part reuse and interoperability become issues to deal with. Standards thus came to exist so that industries could avoid wasting resources reinventing the wheel, whilst offering their clients a certain amount of simplicity and compatibility between vendors.

But, standards have issues of their own. They don't accommodate every use case, they might have restrictions or royalties attached, and people tend to be plagued by Not Invented Here syndrome. So, competing standards have a tendency to arise to address different perceived needs. After a while, the market for competing standards gets messy and hard to follow, and integrating systems built around competing standards gets burdensome. As a result, someone eventually takes on the challenge of creating a universal standard that everyone can rally around.

This almost never works. In many cases, a new standard fails to displace the incumbent standard, and eventually loses funding and support, becoming a relic of history. In many other cases, it only penetrates far enough to survive, ironically making the situation messier. The latter situation often ends up becoming cyclical, with new standards periodically rising and failing to gain traction.

Power adapters are notorious for varying from device to device - partly to try to prevent dangerous voltage/current mismatches, but partly just because manufacturers all chose different adapter designs. Mobile phone chargers have slowly been converging towards a common USB-based solution, but laptops are still a long way out, despite the adoption of yet another standard, IEC 62700. Randall notes that there was initially additional complexity due to the fact that there were also competing USB types, but thanks to the European Union's common external power supply specification, micro-USB comprehensively won the day. It remains to be seen whether the release of the new USB Type-C specification will reopen this war.

Character encoding is, in theory, a solved problem - Unicode is a standard for character sets which currently includes over 135,000 characters. However, Unicode is not an encoding, just an abstract representation of the characters, and there are several implementations which encode Unicode "code points" into usable characters (including the two most common, UTF-8 and UTF-16). Despite the success of Unicode, older encodings like ASCII and Windows-1252 have stuck around, continuing to cause weird bugs in old software and websites to this day.

Unlike the other examples, there has been little or no effort by instant messaging companies to make their services interoperable. There's more value to keeping IM as a closed platform so users are forced to use the company's software to access it. Some software, like the Trillian chat client, can connect to multiple different services, but there is essentially no way to, for example, send a Twitter message directly to a Skype user.

Discussion

But this new video codec might just be the one that solves all our problems! You never know until you try it! Davidy²²[talk] 09:19, 9 March 2013 (UTC)

Is the mini-USB vs micro-USB standards rift a good representative example of what this comic is hinting at? Dexterous (talk) 10:19, 2 May 2014 (UTC)

Yeah, it is. Though, basically, there were even more variants than that around. Before each maker basically had their own socket, most kept it through their phone models, mostly. But everyone basically just uses Micro-USB nowadays... Some still use Mini-USB, but those numbers are dwindling. What really fits to this comic is something that was just recently announced: USB 3.1. If you Google for the new USB 3.1 plugs, you see they're completely different but "cover all use cases"... Let's see how that goes. Sinni800 (talk) 13:43, 25 July 2014 (UTC)

3.1 type-c was meant to be fairly quickly adopted and designed to meet all use-cases for the foreseeable future. when the foreseeable future presents currently unforseeable use-cases a new standard will likely be rapidly developed and deployed. this is a functional model, different than the one that leads to competition amoungst hardware/software developers. Also, MKV is another example of a sustainable standard (container for media files). Googles VP9, and the coming VPx 18 month update cycle, seem to be the best current option for an open video codec standard.

This particular comic is widely cited in about four different SDO's that I participate in 108.162.216.9 08:10, 12 November 2015 (UTC)

This is more applicable to politics. It's so prevalent in the left and I frequently reference it on /r/socialism and stuff. Once in a while there will be a person posting saying that we need to form one major socialist party that appeals to als many tendencies as possible like Marxism, Leninism, Maoism, Trotskyism, with the parties like SAlt, SPUSA, etc. It's like. NO. YOU'LL JUST FURTHER SHATTER THE LEFT. Forget parties. We all have the common goal of class consciousness and worker ownership of the means of production. Let's first work on that and *later* argue about the specifics. Like seriously. For the organizing the left is known for, there seems to be less organizing and more arguing going on... International Space Station (talk) 02:10, 3 August 2016 (UTC)

UTF-8 and UTF-16 can both encode the entire Unicode character set, so I edited the page to say this. (In actual fact, UTF-16 is more commonly thought of as the more limited version, by people who confuse it with UCS-2.) --Sophira (talk) 00:07, 11 December 2016 (UTC)

Tools

It seems you are using noscript, which is stopping our project wonderful ads from working. Explain xkcd uses ads to pay for bandwidth, and we manually approve all our advertisers, and our ads are restricted to unobtrusive images and slow animated GIFs. If you found this site helpful, please consider whitelisting us.