James Gosling (Chief Technology Officer of Sun's Developer Products group) recently gave a talk that, among other things, illuminated how the development side of the product equation faces many of the same complexity issues that user experience teams must wrangle with.
Gosling is no stranger to complexity, he did the original design of the Java programming language, implemented its original compiler and virtual machine, built Emacs and a suite of other applications including satellite data acquisition systems, a multiprocessor version of Unix, several compilers, and mail systems. Some highlights of his talk:
"For the last few months I've been using a couple of pictures in talks that I give. They're a pretty stark reminder of the reality of Moore's law. In the background of the first is the machine that I wrote software for. The CPU was pretty hot for its day: about 1/4 MHz. This is another picture of me. It's on my Sun employee ID card. I find it amazing that the hot machine on the left, capable of doing all sorts of interesting things with satellite telemetry has less horsepower than the cheap piece of disposable plastic on the right. What will it mean when today’s large hot machine fits into a volume smaller than a grain of rice?"
“J2EE made the hard stuff possible, but the easy stuff hard. Microsoft made the easy stuff easy, but forgot about the hard stuff.” NetBeans is currently combating complexity (making the easy stuff easy) through modularity & abstraction, tools, and standards (homogenous view of a heterogeneous reality). Gosling pointed out that current development tools are gradually moving from “edit, compile, and debug” to “learn, explore, and share”.
“Java doesn’t turn into something without community. Listening is 90% of what it takes to have a developer community.”
“The Peter Principle was first introduced by L. Peter in a humoristic book (of the same title) describing the pitfalls of bureaucratic organization. The original principle states that in a hierarchically structured administration, people tend to be promoted up to their "level of incompetence".”
“Java toaster, a device that dials a toll-free phone number to get the weather forecast and burns the appropriate symbol on a piece of toast.”