Reiterative, endless loops
Posted by Robert Frittmann on 12 June 2009
“The foot bone is connected to the ankle bone, the ankle bone is connected to the leg bone and the leg bone is connected to the knee bone…” as the old children’s song goes, everything is connected, just like it is here in cyberspace. But the world wide web today is a very different landscape than it was twenty years ago. It is no longer just about hyperlinks connecting one website page to another. These days it is also about feeds, those streams of data that we generate over a period of time. A classic web site from the 1980′s may have been a single page, perhaps with a picture or pictures on it. Today’s websites are as different from that 1980′s page as a motion video is different from a photograph. A photo shows a snapshot of life, a freezeframe. Whereas a motion video shows life, action, the progression of time. This is what a feed is in the modern interweb.
One great example of a modern-day feed is the micro blogging phenomenon known as Twitter. You can generate a progressive stream of information by repeatedly answering the question, “What are you doing?” Each time you tweet, you add to your Twitter feed. Each individual tweet may not be as elaborate as that 1980′s single-page website we mentioned earlier, but collectively they add up to give readers an overview of you that is much more detailed than a static web page.
There are many, many sites these days that generate a feed like this. For instance, the blog that you are reading has a feed output. You may not necessarily be reading this post at the site where it is posted, but you’re possibly reading it from the comfort of one of your own web sites, or within a feed reader such as Google Reader, or even on your mobile phone. The point is that you can subscribe to feeds, using RSS (Really Simple Syndication) and then put them wherever you like.
While a lot of today’s web sites generate this type of feed, there are a lot of modern sites that also accept a feed as input into their content. For instance, on Facebook, your Wall is a feed in and of itself, and you can add feeds into it. I have my shared bookmarks from Delicious added to my Facebook Wall automatically, so that my friends on Facebook can see what sites I have been bookmarking.
With all these sources of feeds available on the Internet these days, it is a good thing that there are now also feed aggregators, that merge all of your feeds together into a single stream, such as FriendFeed. The output from a feed aggregator is also a feed.
Status updates are an interesting breed of feed themselves, and deserve a further mention here. With such technologies as oAuth, you can cascade your status messages to other sites. This means that rather than having to update your status on Twitter, Facebook, Brightkite, Bebo, Myspace, and others, you can just update your status once, and it will cascade to all of them. Brilliant!
So, now we have a feed, such as your Twitter status updates, which can be pulled in to an aggregator, such as FriendFeed, and merged with your other feeds, such as your blogs, your Facebook status updates, your bookmarks on Delicious, your latest diggs on Digg, and they all get aggregated together into a single feed, which you can then add to the input side of your services, for instance, adding a FriendFeed to your Facebook Wall.
My concern here is, what happens when you tweet with Twitter? It will update your Facebook status as well, if you have it configured to. The updated status will be added to your Facebook Wall. The feed from the Faceboook Wall will update the FriendFeed, which also had the original update from Twitter, so now you have it twice in the FriendFeed, right? Then if you have your FriendFeed as an update to your Facebook Wall, the FriendFeed itself will update your Facebook Wall with the latest updates, including that you have updated your Facebook Wall, and around and around it goes! Reiterative, endless loops.
I remember creating endless loops in Atari BASIC as a child. It looked something like this…
10 PRINT "This is an endless loop" 20 GOTO 10 RUN
…and when you run the program, it fills the screen continuously with the words “This is an endless loop”, and it just keeps doing it until you interrupt the program. What is stopping this type of endless looping from happening with my feeds and status updates? I haven’t actually had this happen to me yet, but with the number of services that I have been registering on lately, I am worried that it may happen soon.
I will investigate this issue further, and see if it really can happen, find out what would prevent it from happening, and how to avoid it happening to you.




















