Braille, and the evolution of software development
Back in 1785, a Frenchman named Valentin Haüy founded the Institute for Blind Youth in Paris. Several years before, he was touched seeing blind children on the streets, cast out by society. They would never be able to receive education, until Haüy came along.
Besides managing the school, he was also a translator for the King of France, Louis XVI. From time to time, he received fancy invitations from the royal family, which had embossed letters on them. It didn't take long before Haüy wondered whether these raised letters could be a way of teaching his pupils to read, via touch.
In 1786, he printed his first book with raised letters: it was readable by touch and by sight, so both blind and seeing people could read it.
It was a revolutionary idea, but with its downsides: the fancy and curly fonts of that time made it very hard for blind people to distinguish between letters; furthermore, it was also rather expensive to print such books.
Fast forward to 1821, when a French army captain came to the Institute for Blind Youth; now called National Institute for the Young Blind, because of the French revolution. This captain gave a lecture about a technique used in the army for nocturnal writing, in other words: blind writing. They used a 12-dot system to pass messages during the night.
In that lecture was a 12-year old boy, named Louis Braille.
You can probably guess what came next: inspired by the army's nocturnal writing style, Louis came up with a 6-dot system to represent the letters of the alphabet.
It turned out these dots were significantly more easy to distinguish by touch than Haüy's embossed letters. It was a system built upon previous iterations of the same idea, but most importantly it was invented by someone who was blind himself, who understood the problem that needed to be solved first hand.
It shouldn't be a surprise: this technique grew rapidly in popularity among the blind.
While Braille was still developing his system, an American named Samuel Howe came to visit France. He was going to start the first school for blind children in the U.S. and wanted to do practical research. He took the original idea of Haüy's embossed letters, and made a new font for it; a font that would be less "artsy" and more "practical" to read. It was called Boston Line Type.
By the time the system was introduced in the U.S., blind U.S. citizens also heard of braille. Upper management resisted though: it was a European invention, for sure Boston Line Type would be the superior system. It was still readable by both blind and seeing people, and was more clear than Haüy's method.
Despite this reasoning, perhaps even a bit of American pride, it was clear that Boston Line Type would never be able to surpass braille.
Still, schools in the U.S. couldn't live with using the European standard. So what did they do instead? Two or three variations of braille were created over a course of 50 years; all based on the same principle, but all different in their implementation.
This went on until 1932, until braille finally became the accepted standard, probably what most blind people wanted all along. A period that took more than a century; it was later poetically called "The war of the Dots".
Let's talk about software development, shall we? There are one or two parallels with the history of braille that I think we can learn valuable lessons from.
First of all: we shouldn't always aim to please everyone. Both Haüy's method and Boston Line Type aimed to write text that was accessible both for blind and seeing people. The end result was something suboptimal for both groups.
Sometimes it's better, also in software development, to focus on that one specific problem, and find the best solution for it, instead of trying to solve everything. It's better to focus on a specific problem, instead of a generalised one.
Second: it took braille more than 100 years to become the standard, even though it was clear from the start that it was a great system. Software development is still in its infancy. I don't think there will still be 200 different frameworks solving the same problem in 50 years.
Maybe there will even be only a handful of languages, one or two per field: web development, mobile apps, desktop apps, machine learning, etc. Each field will evolve towards the best solution, and we might already know that solution today, but aren't ready to accept it yet.
Braille is just one example of how much time it takes to optimise a process or system. Let's not fool ourselves thinking we already know the best solutions for our problems in software development. Let's keep that in mind when were advocating for the next big thing. Let's stay humble and realise we're only playing a small part in history.