Old blogs

Emergence and Convergence

Design Process - November 8th, 2006 - Written by Peter Harbeson

Emergence is, as I understand it, a process in which simple things combine in complex ways. That’s probably an oversimplification, but it works for me. There’s a good Wikipedia page about emergence, including some fascinating references. If you take a very broad view of software development, I think it could be described as having emergent properties. Maybe it’s a stretch, as the constituent parts of software development are not generally regarded as simple, and there’s a lot of purpose involved. But for the sake of argument, let’s say there are some emergent properties involved in software development as a whole.

Convergence is an “approach toard a definite value” or a common opinion. It can be another way to look at the same processes examined for emergence. For instance, a complex structure emerges from the individual behavior of ants in a colony, and the behavior of ants in a population converges toward a “standard ant”, so to speak. Software development shows convergence, too. Take any popular category of software, from word processors to pocket calculators. Every word processor looks pretty much like every other word processor, and while I have an old HP calculator that uses RPN, nowadays that’s getting to be pretty unusual (especially since I could buy a brand-new calculator for less than the cost of the batteries in my HP). Also I can’t remember the last time I actually used a standalone calculator even though I have some. But I digress.

The point I’m working toward here is that the world of browsers exhibits both emergence and convergence. There’s emergence in the sense that new functionality appears in browsers, and convergence in the sense that all browsers are pretty much the same except for the details. There have been browsers with very different features and properties — does anyone remember “Cyberdog” from Apple, years ago?

I’m not sure whether emergence and convergence are “forces”, exactly, or just descriptions of aggregate activity. They’re easier to talk about as forces, so I will for now. These two forces act in different “directions” on browsers. I find the S60 OSS browser particularly fascinating from this perspective because both of these forces have acted especially strongly on our browser. I think most people agree that we have some features that are pretty new and innovative. From a “world of browsers” perspective, these complexities have very recently emerged. And yet they’ve emerged, in large part, because of convergence! The intent of our browser is to be a desktop browser, not a “handheld browser”. It just happens to be a desktop browser on a very small device.

This is fairly subversive, in some ways. We’re implicitly rejecting the idea of a “mobile web”. “The web is the web,” our design says, “and you shouldn’t have to care whether you’re using a big screen or a little one. We think convergence trumps emergence at this level. But at the level of the device itself, we’re interested in emergence. The basic functional components of an S60 device differ (a little) from the basic components of a computer. Change the components, and the emergent properties change, at least in theory. So what we’re really doing is designing a great desktop browser tailored to a handheld device.

What’s really going on is that we’re putting ideas together in a slightly different way, and seeing what comes out of that. It probably does make us a bit of a “bunch of wackos”, as one commenter put it! I guess that would be more emergent than convergent — it’s also a lot of fun.

About the author Peter Harbeson

  • Number of posts: 89

Comments(2)

  1. me wrote

    Are there any nightly builds of the browser to test out on S60 3rd Ed. devices (like N80, …)?

    Thanks

  2. Ayush wrote

    Yeah gud idea posted by @me

    why dont u start this service like mozilla ???