Monday, July 5, 2010

Theory and practice

The FIFA world cup and schools reopening in India after summer were both partially responsible for my slump in the frequency of my blogs in the last month. Coming out of hibernation of sorts, I felt this time I should touch upon a topic that spans across all my technology domain areas. While I have written earlier about the role of innovation, this time around, I want to focus on a point that addresses whether, in any domain, theory indeed precedes practice. That is, for any technology, whether theoretical foundations are worked upon first before they are put into practice. This is a highly debatable and questionable topic - all the more reason I thought I should share my viewpoint on this.

When Computer Graphics, as an area was still evolving and still in its early days, I happened to read a column titled "Jim Blinn Corner" that used to appear in the IEEE transactions on Computer Graphics and Applications in early 1980s. Jim Blinn was considered a father-figure in the area, having worked on simulations of NASA JPL's Voyager project, as well as the 3-D simulations for the TV series Cosmos by Carl Sagan and for his research into many areas of computer graphics algorithms including shading models.

In one of his articles (dont recall specifically which one), he was discussing the topic of the title of this article. He argued whether theory should be developed first and only then algorithms should be developed. Considering that rasterization and implications of continuous domain into the discrete ones were not fully understood then, his primary goal was to solve the problem at hand. That meant carrying out some or the other simulation successfully. This required him to experiment a lot and developing theory was not necessarily an option for him at the time. His explanation that one should experiment a lot and when one is happy with an algorithm, then use all the governing laws and principles in the area to explain why it should work anyway, had a kind of an impact on me that has also shaped my later years. This is counter to the premise that theory precedes its applications and kind of puts the cart before the horse and argues that even theoretical development of the domain is aided when it is supplemented by practical products in the area.

While Jim Blinn was talking about graphics in that era, when he made the comment, it is clearly a generic comment that applies to all evolving domains that need practical solutions. Let us look at some of them I am working on and see how that can help
  1. Computer vision is much like computer graphics and derives much of its first principles from there, so surely all algorithmic development under image processing and computer graphics can happen first followed by a theoretical explanation of why it should work anyway.
  2. Mobile handsets is another areas. In an era of Apple iPhone, and android phones and many other intuitive designs, it is difficult to evolve the technology first. Solutions are made and then theory is used to explain why it will work anyway.
  3. I talked of harnessing solar energy (and also other renewable energy forms such as wind) in my last article and also addressed why research has not been complete in the area. There is a case for developing products, intuitive or counter-intuitive first, and then use our knowledge of physics and semiconductors to explain why it should work anyway.
While am completely aware of the fact that theoretical physicists frown upon their experimental counterparts and least likely are going to be impressed by the thesis in this article, the idea really is to take the debate beyond the boundaries of theory and experimentation, and take it to a point where it only helps solve a problem. More likely, the concept of innovation always operates in technological domains where groundwork in terms of development of theoretical concepts is always in inphancy and as a rule one needs to look at an approach to develop the domain. Computer graphics is richer because of Jim Blinn's thought process then, and many areas will benefit simiarly if we come out of the traditional thought process.

Technology, by definition, works at applying concepts evolved in science and engineering for day-to-day use in such a way that the human race benefits overall. In such a scenario, for a technology success, solving peoples' problems becomes the stated problem. That problem can be solved either by developing theory first (if we are lucky) or by developing products first and then explaining in theory, why it should work anyway.

In the larger scheme of things, theory and practice are both mere tools and they need to used intelligently and judiciously. It can then be left as a matter of personal opinion whether one approach is right against the other.

1 comment:

  1. itunes and ipod is a classic example that supports both aspects of theory and practice first. It is definitely true that GUI of itunes was driven by theory, however once applied and enjoyed thru' ipod the mind could spot multiple new ways and hence came the evolution of apps store. Looking back apps store was not part of initial itunes. As long as any process breeds innovation which eventually helps the society, that's all what matters.