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
- 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.
- 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.
- 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.
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.
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.
ReplyDelete