Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Please review my app: Was it up? - dead simple monitoring (wasitup.com)
46 points by uggedal on Oct 17, 2009 | hide | past | favorite | 71 comments



Love it.

Minor suggestion - in the email, change the text in the email from "To unsubscribe from this service, go to:" to something like "To manage all your monitorings, or unsubscribe, go to:". It isn't clear this link does more, and I wouldn't have thought to click on it as it may unsubscribe me without confirmation (until i read your comment above about a link showing you a full listing).

From that listing page, would be nice to be able to add another service, or at least a link back to the homepage to add another.


Implemented both. Appreciate the suggestions. Gotta love one command deployment with fabric;-)


I don't love it. The users of such a site want to use your UI as rarely as possible, but be full of trust and understanding of what it's going to do for them.

Before I'm going to do anything, you need to tell me about the requests you're going to make (frequency, user-agent, robots, etc like other people have pointed out). Then I want to know about your own server's reliability. There are no clues at all that you'll be around even for a week. One way to improve this would be to offer an optional RSS feed that has a post every day that my site is up. That way I would know your server hasn't stopped completely, but you aren't blasting me with emails. Or just decorate your page in a way that makes me think you have some reason to keep your own system running.

I am using a free competitor (http://www.aboutmyip.com/AboutMyXApp/Watchdog.do) which sends me periodic uptime reports. I don't remember their setup UI being any more difficult than yours. Maybe it was, but I certainly don't remember! That's the nature of this app-- people almost never interact with it. Clearly on aboutmyip, they have several other things going on that could pay the bills.


You are spot on regarding the lack of explanation of how Wasitup goes about monitoring your site and why it won't miss a tragic downtime on your site. I'll probably add info about my polling interval and the distributed nature of the back-end. Currently it's only distributed within the same data center (on separate racks and power mains). I was meaning to make it geographically distributed across different providers (to be better protected against large DDOS attacks against all data centers of a single provider). Sadly I've not had the time to do this yet and decided to just "launch" it anyway as it has been to long in the making already.

I really like the idea of the RSS feed to give some peace of mind to users. Thanks for that! I might implement such functionality soon.


I really like the idea here, but I've encountered a problem using it.

I think all emails from the service must be getting spam-filtered before they reach me. Because (a) I've never had an email with a settings link, like the one discussed on this thread, and (b) I've not been notified when my site has been down (which, recently, it has).

I know I entered the email right: when I enter the same email and URL, I'm told the URL is monitored for that email. And I can see your hits in my Apache logs every 15 minutes.

Obviously, my spam filters are not your fault, but they do create an annoying problem: (b) means the service is useless for me, and (a) means I can't cancel it! So it seems I'm obliged to take 4 pointless web site hits an hour forever (short of blocking you with iptables or some such).

One way round this might be for you to require people to click a link in a confirmation email in order to start monitoring, but obviously that does add a precious click to the sign up process.


The "contains / doesn't contain" feature is a killer, great work. I've been wishing someone would add that for quite a while.

One thing, under the 3rd input the text reads: "We only send email when your site goes down. 2 click unsubscribe."

That last bit doesn't make sense.


The contains/doesn't contain feature was inspired by all the badly implemented sites I've seen which does not care to return proper HTTP status codes. I actually meant to implement regex matching as well, but sadly such a feature would be hard to protect against pathological DOS attacks.

The "2 click unsubscribe" part was meant to convey the ease of deleting the monitoring subscription if you for some reason would find them bothersome. Why did it not make sense to you?


I understood it when I read it, but now that I look at it, I can see why it might be confusing. Someone could think it is saying "To click, unsubscribe" in IM-speak. Maybe it should be "Two-click unsubscribe."


A combination of the sentence fragment, and thinking it might have been IM speak as roryokane suggested. "2-click" instead of "2 click" would do a lot to clear that up.

I definitely didn't pick up what you meant, but now that its been explained it seems obvious. For maximum clarity, I would change it to:

"We only send email when your site goes down. Unsubscribe in 2 clicks."


i actually don't understand this feature and would have liked some explanation. do i provide a regex that should match the http response? or do i provide a header code or tyep?


I'll look into giving some clearer explanation. The feature does a simple non-regex match of the provided string against the returned HTTP body. I don't think I'll be implementing regex matching since such a feature would be hard to protect against pathological DOS attacks (as I mentioned in another thread).


Tiny UI gripe: If I select one of the contains/doesn't contain radio buttons, there's no way to go back to "neither". Nothing selected is also a forbidden state for radio buttons. There needs to be a third choice.


I've actually been looking for something for this for a while. Very cool app!


I have been using Server Density (which is also free for one host - and more comprehensive in what it does) but this is much easier.

Good stuff!


One thing that I spotted. The validation error messages cover the Was it up? logo on the right. Perhaps move the error mesages on the left.


I agree that it's not optimal to cover the logo. The problem with moving the error messages to the left would be the increased total horizontal with of the page. I don't think I'd go wider than 1024px as I'm mainly using a low resolution netbook at home.


I wrote a similar tool for monitoring my own servers. Besides being "up", I find that it's important to track slow responses (>10 secs) and to differentiate between DNS problems and web server problems.

(I also find that it's useful to check for load, disk space, mysqld is responsive, etc. but that's would take away from the elegance and simplicity of this tool.)


I close the socket of the connection after 5 seconds. That should identify problems with slow responses. In the notifications that are sent I differentiate between responses that are not 200 OK or matches your criteria, problems with getting to the server (DNS), and problems with parsing the response. Within these three categories I also give additional info (HTTP status code returned etc). Thanks for the feedback,


One trick we use for our applications is have an url endpoint that checks for db connection, filesystem, etc and formats it in a human readable and machine checkable format (ie. "Load is OK at .4 .4 .4"). Then you can use a similar "request contains" check to make sure everything is up.


Looks great, I love the simplicity. Although you chose an interesting color scheme.

How are you determining when a website is down? What are you using to create the error message on the right? What's your website running, if you dont mind me asking. Python? Ruby?

On a side note, your blog is just as beautiful as your app. Kudos.


Glad you liked both the app and my blog!

A website is down if it does not return a 200 OK HTTP status code and if the response body does not contain the text provided at registration (if such were provided).

The error messages to the right are rendered out in a normal unordered list below each input. On document.ready they are retrieved with JavaScript, hidden, and copied into tool-tips provided by the BeautyTips jQuery plugin (http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html).

The entire service is coded in Python. The website is running Werkzeug (http://werkzeug.pocoo.org) on mod_wsgi inside Apache with Nginx as a proxy and media server in front. Jinja2 (http://jinja.pocoo.org/2/) is used for templating both the web pages and the emails. WTForms is used for form handling and validation (http://wtforms.simplecodes.com/).

All data is stored in Tokyo Cabinet trough the Tokyo Tyrant network interface set up with multi-master replication.

Fabric (http://www.nongnu.org/fab/) is used for deployment and other kinds of distributed automation.


I created this service mainly as an exercise to help me learn more about distributed applications. Behind the simple interface sits a multi-node setup with multi-master replicated Tokyo Tyrant instances for persistence.

I'd appreciate any suggestions or improvements.


For one, you should mention on the front page a) 15 minute poll-times (then also say "with optional upgrades"), and b) multi-node checks to ensure you know when you are really down.


I'm trying it out. I love it so far. Couple ideas for paid features:

- A chart showing uptime vs. downtime. I just like charts. - Ability to display server details like host etc. - Optional notifications via cell phone text - Ability to auto-notify hosting service via email of the downtime.


Glad you're liking it. I have most of these features written down as possible improvements and/or premium features. But it's good to get some validation of my own crazy ideas.


I'm getting a lot of error notices of no response before five seconds, then immediate error resolved. Not sure what this indicates. As I'm just a designer, I don't know if this is a problem or not. I'm at the point where I ignore all the notices. So now if it did really go down I wouldn't believe it.


Thanks for the feedback. I'll probably increase the max timeout.


"with optional upgrades" there is your revenue model :-)


This looks great - perfect for the site that doesn't need 1-minute monitoring. Montastic has been ok for this purpose but I'm happy to try something else.

My feature request - 140-character SMS messages when you're down.


That could be a possible feature for paying customers. I'm not shelling out lots of money for a good international SMS broker before I know that it can break even.

For now you can use your mobile provider's Email-to-SMS gateway (if such are provided).


That's totally reasonable. You might offer two emails for an outage, one to their email and one for SMS.


Sorry, I get what you meant now. My normal email would of course be mangled by the SMS limit. I'll look into it.


Do you uniquely identify your polling agent to the server being polled ? Do you check for robots.txt ?

If you don't, you should in case if people are trying to monitor sites that are not theirs.


I send the following user agent sting: "Mozilla/5.0 (compatible; Wasitup monitoring;http://wasitup.com). Checking the robots.txt file on registration is on my TODO list.


One other suggestion -

One problem with these sorts of services is that when they're working, nothing happens, so if I don't get mails for a week, I don't know if that's because everything's been working or if you've stopped running the service.

There are lots of complex answers, but an easy one is just to have a "last checked" for each URL - it's ok if I have to go on-demand to make sure things are running. (A weekly/monthly update is nice too, just more work.)


Expanding on that idea a little. Store the proof of operation on the clients own server.

Let them enter a url to a script on their own server, that you will POST to, whenever you check their server. The user can log POST's to a text file, DB, etc., so they know that you are actually monitoring them.

When they see that you haven't POSTed to that file for a while, they know you're out of business, and they are unprotected.

On second thought, make it easy on yourself, and use GET. It's not like there's anything confidential about it.


I've been thinking of implementing webhooks as an additional form of notification, but not as a a presence mechanism. I like the idea, but given the simple nature of the service I'd have to give it some thought before implementing something like this.


I'll give the "last checked" idea some thought. I'd need to store some additional data as I'm currently storing only abnormal behavior.

Regarding the weekly/monthly update: this is something I'm averse to. Other services do this and it kind of bugs me each time I get these.


I'm with you. I think the simplest solution is best here. I do expect you'll run into scenarios where last-checked-time will be data you'll want anyway...


Another option might be a weekly uptime report. That way I still know you're in business and I get some useful information.


Sounds like a premium feature to me ;-)


I've been working on something similar to this in my free time; yours is very nice :D

The only thing that I looked for that it doesn't seem that you've got right now is the ability for me to see the sites that I have registered - it'd be nice to be able to enter my email address and have the site tell me that you're monitoring x, y and z for me.

How frequently are you polling?


If you register a site you'll get an email with a link to a settings page which lists all your subscriptions and offer one-click unsubscribe. For now I only allow one site per email though. The plan is to offer several sites per email and lower poll intervals for a small subscription fee in the future if there is any demand.

I poll every 15 minutes. I should probably mention that somewhere for the technically minded.


You may want to change the verbiage of the email - it looked like it was just an unsubscribe link to me. I wouldn't have clicked it at all except for the fact that you just said it would take me to a settings page.

(Right now it just says: "To unsubscribe from this service, go to: <link elided>")


Agree, never would have clicked on it (other than to unsubscribe).


Good idea. I'll be sure to change the wording to something a bit more fitting for the purpose of the settings page.


I would suggest that you don't tie the ability to monitor multiple sites with one email to a subscription fee - since that would be so trivial for people to get around for free.


Hey, we both seem to have the same values in simplicity as I've just launched an alpha of http://nimbu.net/ (dead simple website monitoring) - I like your easy signup process


Very nice, pretty straight forward. The error messages are somewhat oddly placed, but overall good job!


Nice UI. Seems similar to pingdom.com, so you could check them out for feature ideas, etc.


Good idea. Neat implementation. Kudos!


Awesome.


I have a couple of websites but one primary email account. So when I tried to add the second site I got this message: "We only allow one monitoring per email."

Is there a specific reason for that? I'd like for all my sites to come to one email since its the only one I check regularly.

Other than that I really like it. Super simple and easy to use. good stuff.


If you're on gmail, you can place a dot on any part of the username, and it will redirect to your account. For example,

johndoe@gmail.com john.doe@gmail.com j.ohndoe@gmail.ccom

etc. all go to the original johndoe@gmail.com, but pretty much every website will interpret them as different emails.


On gmail you can also use a plus sign after your username: yourname+spamsignup1@gmail.com


This isn't a GMail feature. Most (but not all...) email servers allow this.


Thanks for the feedback. I just pushed a change which ups the limit to 10 monitorings per email address. I'm a bit hesitant to having no limit at all due to the ease of abuse. After all, I do have to pay for the BW out of my own pocket.


Provided that you can guarantee reliability, charge a buck a site (forever, for a year, a month... figure it out). Maybe offer the first few sites for free so people try out the service. I'd pay a buck a site

Check out AreMySitesUp.com (and other competitors) and their pricing, and offer something more competitive price-wise.


I'll see how far the free model takes me. If the monthly server costs starts to take away a considerable chunk of my salary I'll probably consider taking payments from the most active users.

As you've alluded to this marked is swamped with competition. Usability, pricing, and features are the only attack vectors as I see it.


great feature and thanks for adding it so fast.

One little note: there's nothing in the user experience that tells me if you tie all of the monitors to the email address (i.e. is email address a unique key), so after I add the first one, I don't know if I always have to click through to settings to add another, or if I can do it from the home page.


Yep, email address is a unique key, so you can sign up from the home page with the same email address. As you've probably seen the link from the settings page actually takes you to the home page (with your email address as a query parameter which it fills in for you).

I'm not sure how I could make this clearer without cluttering the experience for the first time user. Maye store your email in a cookie and fill it in when you enter the home page?


Maybe change the link that says "go back to home" to say "add another monitor" or "manage your monitors" something similar - since that's really the only action you can do anyway.


sweet.. 10 is a good number. Its also a number you can use to turn this into a business.

If you ever ditch the freemium model, say first 3 sites are free and the rest you charge for.

This will please the common joe schmoes like myself who have a couple of sites but might not want to pay (my uptime isn't super critical...yet). Secondly it'll show other business who have 5+ servers (like we do at work) that you're taking it seriously. And more importantly it'll bring in money for you to cover the costs and maybe turn it a real business.

Pingdom has other features that they charge for so it might be worthwhile looking there...if you ever want to run it as a business. I know on your site it says this was a past time project and maybe you'd prefer to keep it just that...which is totally cool


First of all I don't think this will become a Pingdom clone/killer. Ease of use, simple, and unobtrusive are values that I will continue to value when deciding on where to take the project.

If I do decide to take money for premium features (more monitorings, higher monitoring frequency, history/statistics) I think I will do so with the hope of getting enough subscriptions to cover the server costs. If it provides more revenue than that I could see myself providing SMS notices to non-paying and paying users alike.


Only one email acct? They're free at so many places.

I have several (to go with different identities) that all fwd to one location.

So for this app I would use

* mysite1.com@mymaindomain.com -> to mymaindomain@gmail.com

* mysite2.com@mymaindomain.com -> to mymaindomain@gmail.com

* mymaindomain@mymaindomain.com -> to mymaindomain@gmail.com


myemail+mysite1wasitup@gmail.com works :)


true, but I think you missed the my point. Because the site is so easy to use don't make me do all this work to use something so simple. just enable multiple sites / email and i'll be happy as a user because it solves my need in 2 steps.


+1 for multiple sites per email. Otherwise, looks cool!


I was too lazy, but the idea is cool. If hassle-free this is something I would pay for (1 thing cam to mind: how can I trust your site is always on? explain this to your prospects).


Actually, as of now the site itself (HTTP) is not redundant. It could be by using DNS for failover to a slave host or some kind of heartbeat setup. The data is replicated, so the problem is just sending you to the right host when you type in http://wasitup.com in your browser.

The monitoring backend on the other hand is redundant (or as redundant as I feel is needed for a free service).


Doesn't need to be a site, just a service running on a machine. How can you ensure that machine is always connected to the Interjob? Well,




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: