Chapters 1 & 2 of Stephen Wolfram’s A New Kind of Science have a fascinating proposition - that “simple programs can generate complexity”. He uses several variations of a simple program (a cellular automaton) to illustrate that the generated patterns have no discernible repeated pattern. This suggests that the complexity that we see in, for example, nature may have been generated by simple logic.
Someone wrote to me today saying: “We’ll see if aggregation defeats simplicity”, in reference to FriendFeed and Twitter. For a moment, I wondered which was which.
Twitter is in itself a simple program, yet it generates significant complexity. But consider the number of services and fads that have been emerged around it. Twitter generates a stream of tweets - a simple function - yet it has turned out hard to manage… even for its creators.
On the other hand, consider FriendFeed, which is not as straightforward, and outnumbers Twitter in features. One can argue that an FF universe is somewhat complex, but it provides us tools to deal with that complexity: Filters, Lists, Likes, etc. One could also argue that FriendFeed is a suite of “simple programs”: Direct Messaging, Feed Aggregation, Groups, Lists, Comments.
Given the above example, can we suggest that Simple programs generate complexity _because_ they are simple ? Because they are simple, they cannot provide us the tools to manage complexity, because then they would become complex themselves.
If complex programs help us manage complexity, perhaps it is worth dealing with their complexity the first time round ? Should we be wary of superficial simplicity ?