The making of Mr Uptime
This blog entry will let you in behind the scenes of how Mr Uptime was created, from idea to development, and how the idea was realized from start to finish in less than 200 man hours.
As with many ideas, the idea of Mr Uptime was born out of a problem.
The problem in this case was that we all too often clicked on an interesting link only to end up on a website that wasn’t responding or was having some other kind of issue, making it unusable. These pages of course seemed interesting, otherwise we wouldn’t have clicked on the link in the first place. Unfortunately, just like most internet users, we here at Pingdom have very little patience. When faced with a non-working website we simply move on and leave it behind, forgotten and probably never visited again.
We realized that a great solution to this problem would be to have the web browser (in this case Firefox) have a function that could monitor any non-working website for us in the background and let us know when it was working again. This would give us a chance to revisit websites we probably would have missed otherwise.
Design and functionality
We had stumbled upon a really great idea that could (at least in a small way) revolutionize web surfing in the sense that website failures would no longer be such a problem. This was an application we wanted ourselves, and a Firefox extension was the perfect way to do it.
Initial design goals:
- It should just take one click to add a site for monitoring.
- No manual! It should be self explanatory and extremely easy to use.
- No maintenance. Just add a site for monitoring and never worry about it again.
- It should have a toolbar that is only shown when it’s needed. Don’t take up extra space in the browser window (i.e. not yet another toolbar cluttering the Firefox interface).
- It should use a minimal amount of resources on the computer it’s running on. (No resource hog, thank you very much.)
- Very light-weight monitoring of the web pages added by the user.
With these requirements in mind we started to design the application and within a couple of days we had a full product specification ready for development.
Above: One of the Mr Uptime design meetings.
We decided to build Mr Uptime in three iterations before releasing it to the public. One alpha version, one beta version and then the finished product.
All we had to do now was to find a good Firefox plugin/extension developer.
Many of the people involved with Pingdom have a past in the web hosting industry, so we know a lot of very talented network technicians and developers thanks to this.
This is why we contacted Jimmy Mäkelä, an old colleague and friend, about developing Mr Uptime. He loved the idea and jumped on the project right away. With Jimmy on board, we started to turn Mr Uptime from blueprint to actual software.
The development of Mr Uptime went smoothly, but by the end of the third iteration (that was planned to be the last one before going public), we decided to add a couple of more features. This made us go through another round of iterations to get to the finished product.
Finally we had a product that we all felt was ready for a wide audience. It had already received two big thumbs up from our test group. The version that ended up being released on August 10, 2007, was Mr Uptime 0.9.1.
For those of you interested in time budgets, Jimmie had initially estimated that he would need about 80 hours of development time. He made it in 75, even though we added a third iteration. In our eyes that’s pretty impressive.
Mr Uptime from problem, to idea, to end product
The finished version of Mr Uptime has the following features:
- Monitor status changes for websites – Be notified when the server status code changes from an error to OK (HTTP status code 200).
- Monitor keywords – Set (or select on the page) a keyword that the website should or should not contain to be considered ok.
- Time to watch – Set how long you want to keep checking a website. After this time it will be removed from the watchlist (that is what we call the list of monitored websites) even if it hasn’t become available.
- Notifications – Choose to open the website in a new tab or a new window when it becomes available. You can also get an alert dialog box to notify you when a website is working again.
- “Invisible” – The toolbar is only visible when an error is encountered or when you choose to open it yourself. Other than that you won’t even notice that Mr Uptime is there.
We are happy to say that we were able to realize all our initial design goals.
- The idea = 1 second
- Design and specification = 120 man hours.
- Software development = 75 man hours.
- Total = 195 hours and 1 second.
The future of Mr Uptime – v1.0 and beyond
Mr Uptime was released as version 0.9.1 but we have plans for version 1.0 and beyond. There are several cool features we want to add that we are certain all Mr Uptime users will love.
Here is a small taste of some things to come:
- The ability to check from a central location, lessening the load on monitored sites even more.
- See the HTTP status of the websites you have currently visiting (i.e. not monitoring, just status information), including explanations of what the status messages really mean.
- Make the websites in the watchlist clickable for an easy revisit even if they aren’t working yet. (Thanks to Ben for this tip. Although we already thought of it, it’s nice to get the idea confirmed as useful by hearing it from someone else as well.)
- Mr Uptime will be translated into more languages (current languages are English, Swedish and Serbian).
We would like to thank the thousands of users who have already downloaded Mr Uptime. This is a clear sign that we weren’t the only web surfers who saw website failures as a problem that needed to be solved.
Finally, we would also like to thank all the media that has written about Mr Uptime so far. To name just a few, Mr Uptime has been featured on Mashable, Lifehacker, Webware (CNET), Download.com (CNET), Firefox Facts, Web Pro News, and many more.