Short Description
EMP or Extensible monitoring platform is the means by which you can monitor anything your heart desires.
Longer Description
EMP is a program that someone can use to make their own home monitoring system.
Emp gives them the ability to harness services they use already in once central hub. Taking services like
Twitter, Facebook, Google+, their RSS feeds, weather services, stock tickers, their home security center,
their entertainment equipment, and more and turning them into trackable attachments.
By tracking these attachments, or "Plugins", a user can have EMP wait for events and then take actions
on them. For example, if someone tags a picture of you on Facebook, you can have EMP instantly Email you
and also save the image to your Dropbox account for safe keeping.
But the opportunities are endless, or at least bounded only by the imaginations of plugin developers.
Right now we don't have that many plugins, and the ones that are bundled with Emp's core framework are
not that special. Please take a look at the Plugin Tally to see the most
requested ones, and possibly add your own to that list. We are waiting to hear from you!
Plugins
Plugins are attachments and extensions to the core EMP framework. EMP by itself doesn't do anything
but look pretty. Plugins are wrappers that let EMP know how to talk to and monitor services on the web,
at home, and anywhere else. EMP only makes two requirments, anything that happens inside the service
is called an Event, and must be allowed to trigger actions in EMP, and also any function that the
service allows the standard user to do must be opened up as a Command.
Events
Almost every plugin can trigger Events. An event is something that happened inside the plugin that
EMP or its user should know about. This could mean things like, getting a direct message in the Twitter
plugin, or getting an email in the Email plugin, or even seeing a person get closer than 3 ft away using
the KINECT plugin.
Commands
Events are used to alert the user of things happening to the services they care about, but don't let
the user interact with those services. Commands are what allow this. Commands are the actions a user can
take on a plugin or service. Some examples would be sending a tweet on Twitter, sending an Email, saving
some information to a log file, adding a file to Dropbox, etc.
Subscriptions
Subscriptions are what make EMP what it is. In this world of information overflow, Events can happen
all the time, and in a number that is unreasonable to measure or monitor by yourself. So EMP allows you
to subscribe Events from one plugin to the Commands of another. An example of this could be subscribing
your stock ticker plugin's 10 cent drop event to your email plugins "Send Email" command so you will
automatically know when there has been a 10 cent drop in one of your stocks.
This may be a simple example but subscriptions can be then compounded and filtered upon to get even
more complex interactions of events. Another example could be your weather plugin triggering a "Severe
Weather Alert" event and your Calendar triggering a "Meeting at 8am" Event. Your Alarm Clock plugin
could see both of these events and then know to set your alarm for 6am rather than 7am. Or if you really
wanted, it could alert you to the change and ask if you wanted to stay home sick! :)
Interfaces
EMP is headless, it exists in the background watching and helping you with your day. But we need ways
of communicating with it. Well we wanted our communication method to be as generic and universal as EMP's
capabilities, so we gave EMP the most generic and standards compliant interface we could. Which means there
isn't just one, there are tons!
An interface can talk to EMP through a simple protocol so any type of interface will work. We will
bundle a web interface as well as a generic command line interface with the release of version 1.0. We hope
more interfaces will be released soon such as for iOS, Android, XBox 360, and other OS integrations for Linux
and Windows.