jueves, 24 de julio de 2008

Jaron Lanier's wild but suggestive ideas.

If the discussion is about software engineering and changes of paradigm, of course the conversation had to turn to Jaron Lanier sooner or later. In particular, Rosenberg mentions his essay Gordian software, published on the Edge website:
Is the entire edifice of software engineering as we know it today a Potemkin village facade? Do we need to start over from the ground up?

Today, one vocal advocate of this view is Jaron Lanier, the computer scientist whose dreadlocked portrait was briefly imprinted on the popular imagination as the guru of virtual reality during that technology's brief craze in the early 1990s. Lanier says that we have fallen into the trap of thinking of arbitrary inventions in computing as "acts of God".

"When you learn about computer science," Lanier said in a 2003 interview, "you learn about the file as if it were an element of nature, like a photon. That's a dangerous mentality. Even if you really can't do anything about it, and you really can't practically write software without files right now, it's still important not to let your brain be bamboozled. You have to remember what's a human invention and what isn't."

The software field feels so much like the movie Groundhog Day, Lanier says today —"It's always the same ideas, over and over again"— because we believe the existing framework of computing is the only one possible. The "great shame of computer science" is that, even as hardware speeds up, software fails to improve. Yet programmers have grown complacent, accepting the unsatisfactory present as immutable.

(...)

Instead of rigid protocols inherited from the telegraph era, Lanier proposed trying to create programs that relate to other programs, and to us, the way our bodies connect with the world. "The world as our nervous systems know it is not based on single point measurements but on surfaces. Put another way, our environment has not necessarily agreed with our bodies in advance on temporal syntax. Our body is surface that contacts the world on a surface. For instance, our retina sees multiple points of light at once." Why not build software around the same principle of pattern recognition that human beings use to interface with reality? Base it on probability rather than certainty? Have it "try to be an ever better guesser rather than a perfect decoder"?

These ideas have helped the field of robotics make progress in recent times after long years of frustrating failure with the more traditional approach of trying to download perfect models of the world, bit by painful bit, into our machines. "When you de-emphasize protocols and pay attention to patterns on surfaces, you enter into a world of approximation rather than perfection," Lanier wrote. "With protocols you tend to be drawn into all-or-nothing high-wire acts of perfect adherence in at least some aspects of your design. Pattern recognition, in contrast, assumes the constant minor presence of errors and doesn't mind them."

Lanier calls this idea "phenotropic software" (definining it as "the interaction of surfaces"). He readily agrees that his vision of programs that essentially "look at each other" is "very different and radical and strange and high-risk". In phenotropic software, the human interface, the way a program communicates with us, would be the same as the interface the program uses to communicate with other programs -"machine and person access components on the same terms"- and that, he admits, looks inefficient at first. But he maintains that it's a better way to "spend the bounty of Moore's Law," to use th extra speed we get each year from the chips that power computers, than the way we spend it now, on bloated, failure-prone programs.

(Rosenberg: pp. 291-294)


Yes, that's what I thought too. The problem with Lanier's ideas is that they sound great, wild and innovative but... difficult —if not downright impossible— to actually implement in the real world. His appears to be the typical attitude of the researcher always working on the edge or the artist too excited with his own creation to realize that most people care more about functionality than aesthetics, abstract concepts and "potential". Let's face it. Computers are a tool. Yes, they can transform our lives and, to a great extent, have already done so. Still, they are tools, and that's how most people use them. The next time I have to sit down to write some code, if the alternative to paying too much attention to the "file paradigm" is to design some "phenotropic software" that allows for the "interaction of surfaces", I think I will pass. I know. Sorry, I'm boring.

Mind you, this is not to suggest that Lanier's work is useless. I do think it has a place. It's important to have people who always try to push the envelope a but further, people who are crazy enough to dream with new approaches to the way we do things. That's fine. It's only that those wild ideas obviously need to be polished a bit before they can be applied to our daily lives. As for me, I'm just a regular guy, not a visionary.

No hay comentarios: