I was lucky enough to exchange a few emails recently with Umut Muhaddisoglu from Uptime Robot, I have used Uptime Robot for some time now and have found it an invaluable tool, so I wanted to find out a little bit more about what makes it tick.
Can you tell us a little bit about yourself and your background.
I'm a web developer who used to run a creative agency and a hosting company. ~4 years ago, the hosting brand is acquired by a larger company and, on the web side, wasn't feeling as excited as before for creating stuff for customers.
As a result, I quit all the setup and started working on my own projects. It started with running WebResourcesDepot (http://www.webresourcesdepot.com/) where I regularly share free web design/development stuff that I may need (so, others may need) one day. It grew so much and, within time, I found the time to focus on another project: which is Uptime Robot.
What made you decide to start uptimerobot?
I was a customer of multiple hosting companies, had my own hosting company, managed lots of sites-servers and uptime was always a part of my job.
Having used many uptime monitoring solutions, most of them were built with system admins in mind and almost all of them were extra-complicated and high-priced.
On the contrary, I needed something simple (yet stable) that would alert me when a website does not work or an e-mail server stops responding. That's it.
Also, I had a will to build a large-scale web app that handles lots of transactions which would teach me many new things. Uptime Robot successfully did that perfectly with millions of checks/day and lots of logs to deal with :).
And, with the price, "free" sounded like the lowest it can be :) and we are trying hard to keep it so.
Did you do all the work yourself or did you get a team of people involved?
We have built it with Daniel of SSLmatic (http://www.sslmatic.com) and improving it together.
What language does the site use in the backend?
There is too much stuff going on in the background and it is a combination of some EXEs created with C++ and batch files created with VBscript. MySQL is our choice of storing the data.
What problems did you face making it?
None, we knew what we were doing.
But, within time, as the userbase and number of monitors grew, we needed to read + learn so much in optimizing queries and database to make things as fast as possible. There is still lots to learn there.
And, I feel like, within time, we may move some parts of the engine to Node.js (which is what I'm amazed of these days).
If you could start from scratch, would you do anything differently?
We have a built a beautiful monitoring engine, that's what I still think when I view the code. For the front-end, we had focused on simplicity. But now, I can see that it can still be much more simpler (which is what we'll focus on v2).
Do you have any cool features or plans in the pipeline?
There are many things waiting in our to-be-launched and to-do lists. Web-hook notifications, detailed reporting, response time monitoring are few to come. And, we are also working on v2 which shall make monitoring much more simpler.
What is your development setup like? (do you code on a mac, what programs you use, things like that)
I have always been a Windows person. Although Mac and Linux have many advantages over it, "working with what you feel comfortable at" makes sense.
Using Dreamweaver and Notepad++ as the IDE, Navicat as the database manager and Chrome + Firefox (with Firebug) for debugging the frontend.
Is there anything else you would like to add?
Look forward to hearing the tosbourn.com readers' feedback about Uptime Robot.
#End of Interview
Thank you so much to Umut for taking part in this short interview, if you are looking for excellent uptime monitoring you should definitely give them a try.