views:

155

answers:

6

I would like to have a central place for every type of notification. I'm talking anything and everything. Here are a few example events:

  • Receive a new email
  • Unable to ping a server
  • New Instant Message received
  • Appointments (eg 3pm Dentist appointment)
  • Webcam detects motion at front door
  • Temperature outside is below freezing
  • Allergy level is high today (take my allergy meds)
  • The garage door was opened (via x10)

Then, I want to have a series of devices that respond to certain events. Here are a few examples:

  • A systray icon that will show a balloon for 10 seconds.
  • An email address to send a message
  • An IM account (Skype, AIM, GTalk, etc) to send a message (to phone or computer)

Of course, the application would be configurable so only certain events go to certain devices. It'd be even cooler to have a search engine connected as a device so I could mine the data later.

I'm picturing this as an application that sits on a server somewhere on the internet. It would probably run as a service to the OS. Maybe also have a PHP/MySQL interface to do configuration, test, and send basic events.

This seems so simple. Has something like this been created? I feel like I have so many non-integrated notifications that I lose track. The most difficult is point is appointments. I could probably sync with a Google Calendar.

A: 

Yes: twitter.

Aaron Digulla
except when it gets hacked...
Jason S
Twitter is getting better every day and it will take him a year or two to get to the point where twitter is right now.
Aaron Digulla
Twitter sounds like it would be more of a device than a replacement for this system. How would you configure the notification system? I don't want a tweet to my phone every time I have a new email, but maybe if I can't ping my webserver..it'd be worth the interruption.
User1
Format the messages accordingly with a severeness and a type. Then spread twitter listeners to all your devices.
Aaron Digulla
A: 

How about a solution which displays a baloon for every event added to the windows event log?

Aviad P.
A: 

This stuff already exists in various forms.

Microsoft had their own prototype. I participated in writing a prototype at IBM that was integrated into the IDE and could even be taught to avoid bothering you while you were debugging :) In Mac OS X, you can route most notifications through Growl, etc.

Uri
Interesting. Which IDE? Eclipse? I would like something that could work when I'm on the road too. For example, send me an SMS if an important customer emails me.
User1
+1  A: 

One possible solution is to have everything filter back to your e-mail (or, as Aaron suggested, Twitter - e-mail support tends to be more common, however). In this case, Google Calendar can send you reminders to your appointments (which seemed to be the biggest point of concern for you).

Update: I noticed you said "receiving an e-mail" as one of the things you wanted to be notified about. However, at some point, you have to check SOMETHING. Why not make it e-mail and have everything else filter back to that. If you use an online mail service like Gmail, you can access it from everywhere, too.

JasCav
Hmm. Email would be a good "search engine" for this project. I don't have a data plan on my phone, and SMS costs $.15 each on my plan. I wouldn't want SMS for every single event. The message priority seems to be the key feature missing from existing systems.
User1
+1  A: 

yes, as stated, there are a lot of things which handle a lot of things - but nothing handles everything.

The task that you have set yourself may be too daunting. Have you tried brainstorming a list of "everything"?

  • file or directory created, modified, deleted on disk
  • website up or down
  • X10 interface to house
  • get fancy and have a BlueTooth dongle recognize an incoming call to your 'phone
  • webpag content changes
  • etc, etc, "everything" is a big remit.

But you do help answer when you say

"I'm picturing this as an application that sits on a server somewhere " and "the application would be configurable so only certain events go to certain devices".

1) list "everything" 2) determine how it will all indicate itself to the server app (some may be "push", like twitter, RSS< etc, some may be "pull", like polling Google calendar, scraping websites, etc) 3) code a matrix of input events to output devices 4) inform appropriate output devices

I agree that PHP / MySql is a good way to do it, and, yes, you need a configuration screen.

On the face of it, it seems relatively simple, but read Dreaming Ine Code to see how Mitch Kapor blew millions on Chandler, trying only a subset of "everything".

You might want to consider a project on SourceForge, to allow others to add more "everything"s - just remember to make your design modular and create a generic API for plugins from the start,

Mawg
Good practical wisdom on this answer.
User1
+1  A: 

Most if not all of the features you are asking for are supported in an open source application called Growl. It's available for Windows and OSX. Many applications already have Growl support, and there is lot's of documentation and sample code to build your own:

OSX: http://growl.info/

Google 'growl windows' for the URL to the windows version - stackoverflow doesn't trust me ;-(

drush