#3. Software Patents
One of the things proponents of free open-source software like to push is the idea that any regular Tom, Dick, or Harry with an idea can add his knowledge and experience to the programs he uses, send it upstream to the creators and have the fruits of his efforts enjoyed by everyone. But in the real world (America), trying to do this will get your ass sued, because anybody could claim that you're stealing his brilliant ideas, such as clicking things without having to click on them again.
The answer to many of life's problems seems to be "because lawyers love money."
In 1991, the patent office lost its taxpayer funding, at which point its patent criteria changed from "Any new and useful art, machine, manufacture or composition of matter" to "Any idea whatsoever for which applicable patent fees are paid" (as Cracked has covered before).
For example, Sega holds a patent on the concept of "using a floating arrow to direct the player," meaning that any game that wants to point at a door, such as Bioshock, has to pony up money to Sega.
Yet, somehow, they manage to avoid paying royalties to the Rand Estate.
You don't even have to have invented the thing you're suing people for. Companies that buy the assets of bankrupted software companies, known as "patent trolls," make a business out of doing nothing but buying the rights to patents on things similar to something that's being done by a bigger company, then forcing the bigger company to either pay up or remove whatever it is the patent troll claims to have a patent on.
For example, in 2003 Microsoft changed Internet Explorer so that you had to click inside any part of the page using a plug-in (such as Flash) before you could use it. This wasn't because Microsoft wanted to -- it had to do this to sidestep a patent on "not clicking on things before you can use them" that a patent troll called Eolas claimed was being infringed.
Which ironically sounds more like a patent elf.
In 2007, Microsoft restored IE to the way it had worked before -- after paying Eolas several million dollars to "license their technology."
A whole lot of the innovation you're using now -- including the basics of your operating system that were developed, not by Microsoft or Apple but by Xerox -- happened before the era of software patents. Otherwise, those innovations may never have happened at all. Who can afford to pay for every little facet of a system that happens to be similar to what someone else invented?
#2. Y2K-Type Bugs
Hey, remember the "Y2K Bug"? The programmers of the world's software had been using the last 2 digits of 19XX to represent the year, meaning that come 1/1/00, all the computers of the world would instantly go into panic mode if they hadn't upgraded. Society was doomed. People everywhere were partying like everybody had a bomb.
The earliest predictors would attempt to live off the grid by replacing their names with indecipherable symbols.
As it turned out, the computers were much less panicky than the people hiding from them in concrete bunkers were. But bugs like Y2K will never go away -- there's another similar bug we'll have to fix by 2038. Countless little ones will happen between now and then; for instance, on March 1, 2010, a bug in leap day calculation caused all but the newest PlayStation 3 systems to lock users out of playing their own games.
This is why you should never work hard on anything ever.
The problem is that time itself isn't exact. The rate at which the Earth hurtles around the sun isn't constant, which is why we have such weirdness as leap days (which were the cause of the aforementioned Y2K+10 clusterfuck) and leap seconds (when an international group of scientists decides to add or remove a second to an upcoming minute).
And then we have time zones. If you thought time zones were divided up into 24 equal sections with neat vertical lines, you're wrong. Check the time zone settings on your computer clock -- there are 91 time zones on there, because different governments insisting on having their own. In fact, several countries just changed their daylight savings time rules. And yes, your computer needs to know the time and date. Just ask the F-22 fighter pilots who saw their multimillion-dollar flight control systems lock up in midair when the plane crossed the international date line and got confused.
That's all the plane you get for $150 million.
#1. Trying to Make Computers Usable to All Humans Everywhere
Here's what Minesweeper looks like for most of the world:
Flowers. If you're using Windows Vista (or 7) in America, you'll still see mines when you first start Minesweeper. The flowers show up by default only in other countries, because games about not stepping on land mines aren't so fun when you're doing it with one arm, because you lost the other one to a land mine.
This is the kind of thing you have to think about now, as personal computers have gone from a geek tool to an everyday appliance used on every land mass on earth. But you don't want to have to write and sell 800 different versions of your software. You need it to be adaptable to people all over the world, some of whom have disabilities. Doing that successfully is next to impossible.
Land mines: the bane of the software industry. And also people.
For instance, that hypothetical guy with one arm can still use his computer, because there are devices to help him (there's even a gadget that lets you control the mouse cursor using only your eyes), but you have to write your software knowing your user might be using it that way. Now think about how many different scenarios and disabilities you have to account for. Ask the guys who made BioShock 2 -- they found out only after release that the hacking minigame is unplayable if you're colorblind. This isn't some rare condition -- that's one in 10 people. And it never occurred to them.
And then you have the nightmare that is human language.
Anyone else ever notice that the Tower of Babel looks sort of like Minas Tirith?
The text in early computers used American Standard Code for Information Interchange (ASCII), which defined 128 characters it could display, including the 26 letters of the English alphabet.
But when the rest of the world started using computers, they needed to include their umlauts and their Russian backward R's and their yen signs. To fix this, they created Unicode, which increased the range of characters to several million, allowing languages from Chinese to Farsi, and symbols like a hammer and sickle, and an exclamation point dotted with a heart. Fixed, right?
Not quite. To support actually drawing all these things on your screen, you have to build your system to allow for all sorts of other variations -- languages that write text from right to left, or with letters that can have rows and rows of extensions above them. Each new attempt to accommodate everyone adds more complication and more opportunity for something to go wrong.
In conclusion, diversity makes us weak.
We're not saying this will never get fixed. We're just saying that it isn't going to get fixed until all the people of the world start speaking the same language and sharing the same values, and all disabilities are cured.
At which point we will buy the world a Coke.
Stuart P. Bentley is a programmer with binoculars peeping through Microsoft's bedroom window in Redmond, Washington. He has a website at TestTrack4.com
And stop by Linkstorm because it's too cold to go outside.
Do you have an idea in mind that would make a great article? Then sign up for our writers workshop! Know way too much about a random topic? Create a topic page and you could be on the front page of Cracked.com tomorrow!