Outage Notifier

Disclaimer

This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in
Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything
else useful to implementing this project. Everything I have prepared to help you is right here.

This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is
fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the
define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.

Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many
other projects of my own.

Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.

Please do not email me about this project without reading the disclaimer above.

The Problem

You are working away at your computer. Suddenly it stops working. You fiddle about for
ten minutes before deciding the problem is likely your IAP (Internet Access Provider)
cable Internet connection. You
phone your IAP
up and they put you on hold for 30 minutes. You finally get
through and they say, Oh yes, we are doing maintenance on your part
of the city. It will be back up in a couple of hours. Why didn’t they warn
me? I could have been doing something that would have been expensive to interrupt.

The same problem applies to electric power outages or water outages.

Why don’t they send out emails? Email does not work since you may not pick it up
in time. Email does not work during failures. Email has considerable overhead. It is
quite a production to send out thousands of emails.

Your Mission

Your mission, should you choose to accept it is to solve this problem. Technically it
is very simple. It requires a tiny app that takes up less than a
1 sq cm(0.16 sq inch) of screen real
estate. It normally shows optionally nothing at all or a green square with a logo of the
service. This way you might have two copies of the app, for example, one for your
IAP and one for
your electric power service.

The app polls the service with the GPS (Global Positioning System) co-ordinates of the computer. The server sends
back a message, either OK, or giving the details of the current problem. The user can see
the text of the message by clicking the flashing red square. The message might say when
outage will start and stop. For an unscheduled outage it might say what caused it e.g.
Lightning struck our HQ and burned out 10 of our servers. We are
having some flown in by helicopter from Alberta. The server may elect to give
warning of a problem more than two days in the future. The icon would show yellow but not
blink.

The trick is minimal server and client overhead. You might use UDP (User Datagram Protocol). Perhaps you could use push
to cut the traffic to near zero when there are no notifications.
You might use a single copy of the app to field notifications from all the servers.
Even 5 minute response time would be adequate. Once you get this working
reliably, the problem now is to get everyone to use it. You can’t do anything
without the co-operation of some large companies. Try a hard sell on a few guinea pigs,
then hope it will catch on just by emulation. If all goes well, you will have an icon on
your computer from your IAP, electric company, bank, gas company, phone company, water
company, Google and any other website people consider critical. When you show it to a
potential customer, you should pre-configure it with their logo.

This is such a simple app, anyone who needs it, could write it for themselves. Yours
has to be a snap to install. Any server-side software is always a hassle to install, so
you could offer a service running the server side on your servers. They pay by the number
of notifications × number of people. That is the only way I could see you making money
from this. The advantage is they could get notifications out even if their entire computer network were down.

There are dozens of similar programs, called uptime monitors, but they are aimed at privately monitoring the status of a network of computers,
not informing the public.