In line with the current torrent of articles on the H.264 and Theora debate, I feel that is it unfair for the “pragmatists” to talk about Theora as if it is a stupid ideal that is useless to consumers. This article will focus on defining the terms of the debate used and make the case that Theora has a reason, if not a chance.
Before we can even dive into the actual discussion, I seriously need to define what is meant by “idealistic” and “pragmatic”, simply because the current and colloquial usage of the word in this context is actually detrimental to the discussion.
From wikitionary, “idealistic” is defined in terms of idealism, and we can infer that it refers to “having high ideals that are usually unrealisable or at odds with practical life.” Similarly, “pragmatic” is defined as “Practical, concerned with making decisions and actions that are useful in practice, not just theory.” I am now going to argue that the “idealists” have been too concerned with making the case of Theora that we have forgotten that the “pragmatists”, that the “idealists” have been arguing with, are in fact “idealists”.
Basically, I do not see the “idealist” camp and the “pragmatist” camp here. I see the “get it done fast” camp and the “get it done right” camp. It is obvious that the “get it done right” camp can be called idealistic, but so is the “get it done fast” camp. They actually follow the ideal that they want to be the “first to market”, “get the job done and over with” and “provide least hassle to the people”. The problem with getting the names wrong is that the “get it done fast” camp gets to think that they are being in touch with reality, trying to get their work done. This is a not true, and I am going to show how that is the case.
Let us step away from the current debate and look into history (our best textbook). Before Newton’s time, there is no such thing as science. Galileo’s Dialogue is more of a poor man’s guide to engineering than science. In fact, up until thermodynamics, it had always been the engineers that found things out for science to explain. This is a well-understood situation and things proceeded slowly, just like evolution would predict it to be. (slowly, but remember quantum effects — inventions mean progress comes in small leaps).
Then came Newton. Back in a time when people were too busy with Zeno’s paradox and stuff like “What is time?”, “What do you know about time?”, “What do you mean by know?” and the brain-space deadlock, Newton was the practical man in writing that he shall only consider mathematical approach to solving the problems of mechanics and the motion of the stars. This is a huge departure from before in that instead of talking in useless loops, he is able to predict and explain the motion of stuff that was previously held to squabbling.
But notice, he simply used mathematics to do it. I shall not venture to say that the mathematics he used were anyway rigourous, but you get what I mean — it is only talking about the ideal rigid bodies. Surely, you must agree that it belongs in the “get it done right” camp, not the “get it done fast” camp, simply because there is no need for anything to be done fast — engineering was far ahead of science.
Perhaps that is not a good enough example, so let us talk about Sadi Carnot (yes, I’m a physicist). Carnot came right after people formulated the conservation of energy. It was the time when people were furiously trying to improve the steam engine. The Watt engine was already in use for over a century. The engineers were having lots of trouble — steam corrodes the engines they were making, and they never did understand why increasing the compression ratio helped the machine perform better. These were at the back of the minds of the people involved.
Then came Carnot, who used his ideal Carnot engine to show that water was irrelevant in the making of a heat engine (shock and awe) and that compression ratio is much more important than keeping the steam engine well-lubricated. What happened next was monumental — Europe, already powerful from the work of “those ideal scientists (academics)” (I’m including the work of everybody under their influence, ie including people under the influence of Adam Smith and all the workers and employers, as would be seen from a person outside Europe), began to explode in development. It might be inevitable, but the next point will show that the effect of the academics was not trivial.
What point? Transistors. It represented the first thing ever to have been made from scientific knowledge rather than the huge base of engineering knowledge. Given infinite time, someone would probably have stumbled upon the creation of the first transistor, but they would be extremely puzzled, and completely unable to exploit its use.
I suppose this would be a good foundation to say that the “get it done right” camp is credible. I’m not saying that the “get it done fast” camp is completely wrong, but at least acknowledge the reason why the “get it done right” camp is so furious.
In fact, I will now show how the “get it done fast” camp is correct. The story of Unix and Linux itself is an example. Unix had 2 conflicting thoughts. One is “do one thing well”, which is compatible with “get it done right”. However, any reader with the “Unix Haters Handbook” will know that the other Unix power is “get it done 80% now, 100% later” (and usually the latter 20% never appears). Solutions to problems that take too long in gestation never make it past the evolutionary struggle for existence.
However, we must also examine the pitfalls of the “get it done fast” mentality. People with the “get it done fast” mentality have a tendency to rely on intuition, common sense, experience, brute force to find solutions to a problem. Common sense and intuition, however, is what gave Aristotle his “Moving things, when left alone, naturally come to a stop”. This blatant violation of Newton’s First Law is a very simple, everyday life experience that was capable of letting Aristotle-an mechanics find solutions to their problems (by letting them do whatever they please, bounded by evolution).
If the GIF scandal is not a good enough example, let us examine the monstrosity that is Flash itself. Do remember that the H.264 and Theora debate centres itself upon the dethronement of Flash. We chose Flash to be the de-facto standard because it was the earliest solution to the web animation problem. It was clearly in the favour of the “get it done fast” camp.
Or maybe we have to talk about Skype. These
As the genius psychologist who predicted WWII had said, the solutions to these problems are clear and well-known. It is just people that do not want to accept it. On hindsight, it is clear that we would not have had to deal with Flash if we all got a bit of patience and not eagerly jump onto proprietary bandwagons.
So, what do we really have? We have a scale between the “get it done fast” camp and the “get it done right” camp, and since both are ideals, I shall redefine “idealistic” as a person who have extreme views, adherent to the chosen ideal, about any topic at hand. ie anybody at the ends of the scale are “idealistic” because they really and closely believe in the ideal they have chosen, and we know from history that neither ideal is conducive for progress, let alone practical.
Additionally, I shall argue that fence-sitters, those irritating fellows that think that being exactly in the middle will be “pragmatic” is equally ideal because their ideal is “I shall just be in the middle in any debate”. If you project the scale onto a U-shaped parabola (as they usually tend to be), then the bottom is the middle, and it is the extreme lowest point. They are also “idealistic”. These people tend largely to be useless in solving problems (this sentence is pure opinion, no facts backing), but they include many brilliant people who are very good at utilising solutions from both ends (and across many different fields) to any problem.
What, then, is “pragmatic”? Surely, I would suggest that anybody who calls himself pragmatic shall have to reconcile both camps, landing close to the middle, but never exactly in the middle.
For example, Linux is a kernel in the “get it done fast” camp, and has succeeded in migration towards platform independence, something that Linus Torvalds himself admitted that he did not foresee (kudos to his sensible leadership).
Another example would be William Kahan, father of floating-point, who found a sensible-yet-fast solution. (I mean to say that the solution is as clean as it could be, yet can be executed fast, hereby conveying priorities. Also note that his work is so advanced that even James Gosling and Stephen Wolfram would get it wrong in Java and Mathematica.)
So, how does this tie into the H.264 and Theora debate? I will venture to say that the “get it done right” camp is shouting loudly at the “get it done fast” camp that “We should not make the same mistakes again! This if GIF yet again! We just want to have a solution that always work no matter what, so give us Theora! No matter what rubbish-ness it is right now — it is the only competitor right now that has remotely enough momentum to fight H.264, so let it be!” and the other is shouting “Oh come on, you are hindering us again! Quit bothering us you nay-sayers!”
I am on the Theora side right now, simply because we are asking for survival. We are not asking for the exclusion of H.264 (Mozilla, being tri-licensed including GPL, will not be able to include H.264). Hey, we have been listening to you, can’t you listen to us for once?
I mean, this is like cells. Biologically, it took so long for prehistoric micro-life to finally organise itself to make multi-cellular organisms because there was no real standard. No real organism had the correct chemistry make up, and all them had different energy sources. It is until ATP became dominant, and then oxygen became really abundant, did carbon-based life take over. Hence why the cell includes this peculiarity known as mitochondria — our cells simply swallowed the mitochondria instead of producing its own optimised oxygen power chain.
Then, the cells themselves became part of organisms. Notice how close it is to the evolution of computer “life”; compiled programming languages became the power chain of everything else, and operating systems took advantage of the similarity of everything to form multi-tasking computers.
Thus, I beseech the “get it done fast” camp to realise the massive and real utility of the free software movement and allow Theora to become the fundamental baseline of video on the web. We don’t mean to deliberately destroy H.264, it is just a side effect of allowing the other formats to actually have a chance to compete. Net neutrality anyone? Hello, Google?