"I'm a genuine old fart," says Tim Bray as he looks back at his three decades in computing. Widely known for his standards work on XML and the Atom syndication format, at an age when many former developers have moved entirely into management, he seems to have found a niche that takes advantage of his experience. As director of Web technologies at Sun Microsystems, his job is to keep current with Web and general programming and to encourage adaptation of new developments within the corporation. At the recent Open Web Vancouver conference, Bray talked to Linux.com about how he fills his role at Sun, and the trends he sees in computing.
"I'm sort of a generalist -- something Sun probably doesn't have enough of," Bray says. "My job is to keep an eye on what developers are thinking and feeling and happy about -- particularly Web developers -- and to try to make sure that Sun knows about these things, and to try to commit Sun to do the right things to excite and attract developers. Then I try to get the word back out to the developers about what Sun is doing."
The job is one for which Bray, with his mixed and lengthy background of programming and entrepreneurship, is well-suited. "I see myself as a proxy for computer programmers, and I think my tastes are reasonably representative of what computer programmers find appealing," he says. "Nobody can bet right all the time, but I have done reasonably well over the years at liking the things that work and disliking the things that didn't work. Having been doing this for 30 years really helps you get a feel for the flavor of something that could be a big deal." As a result, he says, "I have a pretty free mandate. [Sun] pretty much lets me do what I want."
Keeping track and reporting back
So how does a trend-spotter in computing work? To start with, Bray says, "In order to do this job, you've got to be a developer. If you're not, it's not going to work."
Bray does not work on any Sun products, but, with this perspective, he does work on a number of free software projects. His current projects include the Atom Protocol Exerciser (APE), a Ruby program for testing Atom servers, and mod_atom, a server-side implementation of Atom for Apache. Such projects not only keep him in touch with other programmers, but also allow him to experiment with different languages.
For instance, part of Bray's enjoyment of working on APE is that he has had a chance to work with Ruby. "I've become particularly interested in the Ruby community over the past couple of years," he says, "because I think that in terms of software engineering and test-driven development, they've really set some stakes in the ground a little further than the rest of the communities." However, he remains eclectic, doing work in Java, C, and Python too.
In addition, Bray does a lot of talking to programmers. "I do a lot of conferences. Mostly, I give a speech of some sort." However, the conferences he prefers are those where "I get to listen and talk to people in the hallways." Occasionally, too, Sun has him do customer visits, which Bray describes as "the favoritest part of my job. I get to talk to the real people down in the trenches, building real things."
At his computer, Bray not only keeps a blog of his current projects and interests, but also tries "to read all the blogs of people that I think are important leaders. I subscribe to a lot of feeds -- a huge number of feeds. I use a Mac client called NetNewsWire that I'm very, very fond of. It allows me to plough through what most people would consider an insanely huge amount of information in almost no time at all. And recently I've found Twitter to be quite useful. I haven't actually figured out why."
Serving on standards committees is another means that Bray uses to keep abreast of development trends. But, although standards work is the basis for much of his reputation, it is not work for which he has much enthusiasm. "There are people who do standards full-time, and I honor them and respect them, but I've got to say that I don't have the patience for that. Generally speaking, it's not fun. But when you see this huge niche in the ecosystem, and all it needs is a better set of rules for people to start playing, if you know the territory, you feel an obligation to pitch in and help."
Bray does not have any formal metrics for identifying trends, but he has a sense of what is happening, carefully distinguishing between what he likes and what he thinks will be a long-term trend. "I'm not uncritically enthusiastic about anything," he says. "I'm really down on Second Life; it's vastly overrated, and I don't think it has legs. Facebook, I'm sure, does have legs, but I personally don't have much use for it. But I think my tastes are reasonably representative of what computer programmers find appealing."
Once he has observed the trends, the next part of Bray's job is to convince Sun to act on his observations. Unlike the research portion of his job, that part is pure diplomacy.
"You have to know people," he says. "You have to write memos and bother people, you have to buttonhole them in the hallway and go to meetings, and generally be an obnoxious prick. It helps to have been right in a few things early on, and then you're more likely to be listened to. But it's working. Sun is, relatively speaking, an open-minded and fairly transparent company. But it's 35,000 people, you know? With the best will in the world it's really tough to turn that tanker."
For all the difficulties, Bray suggests that he often sees at least incremental improvements in Sun. For instance, after he observed "ferment in the Python world," he says that his advocacy "helped commit Sun to really open up their hardware to the [Python] project. And then we just a couple of weeks ago hired two Python people. We're starting to get our feet wet there."
From his observations, Bray currently sees four main trends. First, "at the top business level, I don't think that most companies have figured how to surf the wave of information. I think they're going to have to change the nature of marketing, and of management, too. You have to expect creativity to happen at the edge of the network, and the conversations to be two-way. I don't think that this [business] culture has really internalized that."
At what Bray calls "the hard geek level," his largest concern is that "computers aren't getting faster any more, they're getting wider" -- that is, their system speeds are not increasing, but, with dual cores and increased multiple threads, they are able to process more information at the same time. "More and more, CPUs are going to be slower but wider," he predicts, "with not such a high cycle rate, but tons of threads." Eventually, programmers will learn to deal with this new reality, but "right now, that's really tough for programmers to deal with."
In addition, as Bray outlined in his talk at the Open Web Vancouver conference, "we're at an inflection point in languages" -- that is, a point where the number of programming languages and their capabilities takes a sudden upward surge.
Speaking particularly about Web development, Bray says, "For a long time, Java was everything, right? Serious programmers used Java, and hackers used Perl. Suddenly, in the last two to three years, people realized that you could do serious large-scale engineering in things like Python and Ruby, that had the flexibility advantage of Perl, but were also clean, object-oriented, well-thought-through, advanced languages. And I just don't see that easing off any time soon. I think that dynamic-type languages like Ruby and Python are going to occupy larger and larger parts of the ecosystem."
Looking further ahead, Bray predicts a move away from Microsoft operating systems. "The fact is that the vast majority of office desktops are using Windows, the third-best platform," he says. "You can argue about the relative merits of modern Linuxes like Ubuntu and the Mac, but they are clearly better than Windows in terms of robustness, cost, performance, and a whole bunch of other things. For the long term, can the mainstream of business continue to ignore the fact that there's a better alternative than what they're running? If that logjam breaks, that's going to be a real change."
Playing a young person's game
Programming is often thought of as a young person's profession, and, pushing 53, Bray is older than many active programmers. He draws comfort from the fact that "I was born in 1955, the same year that Bill Gates and Steve Jobs and Tim Berners-Lee, and Dave Winer, so it was a good year for those who want to persist in this industry."
More seriously but still joking, he attributes his survival in the industry to "Adult Attention Deficit Disorder. I've got the attention span of a mosquito. I get bored with things quickly, and I want to see what comes next."
With this attitude, he says that he has little trouble relating with developers even a third of his age, provided that they are discussing programming. "On the Internet," he concludes wryly, "nobody knows you're a graybeard."