To be clear on my position – I am a Twitter user and love the kind of communication and connectivity that it enables. I really want Twitter to be successful and stable. But I am also a user who is totally frustrated by the technical and management issues that impact on Twitter’s stability, usability and functionality.
The problems demonstrated by Twitter seem to fall into three distinct areas:
a) people are using the product in ways that were not anticipated by management
b) the platform is unable to scale to the actual number of users and is thus shockingly unstable
c) there appear to be severe architectural issues contributing to the ongoing instability problems
Items (b) and (c) are failures of project management; while (a) seems to be a failure of product planning.
I can see how it all happened. Some experienced start-up guys got together and built something and released it into the wild. It took off in both anticipated and unanticipated ways. But there does not appear to have been an underlying architectural approach that took into account the possibility of success and the need to scale rapidly at both hardware and software levels.
Many have commented on the use of Ruby on Rails and its potential role in these problems. But if you are creating a product that will potentially be used by multiple millions of users around the globe then you need a plan for success.
At least now Twitter is communicating more openly about the nature of the technical problems they are having. Today it is a database crash. Yesterday it was something else. Tomorrow who knows?
There are two things I do know:
1) a lot of people love the way Twitter lets them connect to each other
2) there is a short window for Twitter to fix itself before someone else takes its place
I really hope that the Twitter folk get their acts together, because there are already calls for other products like “FriendFeed to kill Twitter“.
By Carruthers via Aide-mémoire