

Ask HN: Please review my app: Was it up? - dead simple monitoring - uggedal
http://wasitup.com

======
heyitsnick
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.

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

------
drewp
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.

~~~
uggedal
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.

------
gmac
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.

------
qeorge
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.

~~~
uggedal
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?

~~~
roryokane
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."

------
Sidnicious
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.

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

~~~
notauser
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!

------
andhapp
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.

~~~
uggedal
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.

------
xinsight
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.)

~~~
uggedal
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,

------
colbyolson
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.

~~~
uggedal
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.

------
uggedal
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.

~~~
invisible
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.

~~~
joshuarr
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.

~~~
uggedal
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.

~~~
joshuarr
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.

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

------
ooorrr
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.

~~~
uggedal
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).

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

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

------
huhtenberg
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.

~~~
uggedal
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.

------
ooorrr
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.)

~~~
robotrout
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.

~~~
uggedal
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.

------
icey
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?

~~~
uggedal
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.

~~~
icey
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>")

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

------
moomerman
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

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

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

------
chanux
Good idea. Neat implementation. Kudos!

------
petervandijck
Awesome.

------
niks
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.

~~~
uggedal
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.

~~~
jmonegro
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.

~~~
uggedal
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.

------
access_denied
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).

~~~
uggedal
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).

