Wishlist/ANARM

From Openmoko

Revision as of 00:26, 5 March 2007 by Peepsalot (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

ANARM is an application for handling all event-based audible notifications from an OpenMoko device. Would determine whether or not it is an appropriate time to audibly notify a user of various events, by checking the current notification mode. The overall operation is analagous to a firewall. It would also provide the interface for any application to create notifications through inter-process communication(using dbus?).

Notification Modes

Notifications are allowed or denied(silenced) based on the current Notification Mode, which is set by the user on the fly. A mode consists of an set of "firewall rules". Each rule can either ALLOW or DENY notifications for a single event, or class of events. Each notification mode and its rules are independent from other modes. The current notification mode could be selected manually, or automatically depending on time of day or possibly even the GPS location. Notification modes are like DEFCON levels for an OpenMoko device.

Examples of possible modes:

  • Completely free
  • Hard at work
  • Asleep
  • On-call
  • Device currently in use
  • Do not disturb
  • etc.

Events

An event is anything that could possibly trigger a notification. Each event can be assigned it's own unique sound file. In addition to standard phone events(incoming calls, text messaging), events can come from any number of applications that communicate with Notification Manager. Examples of possible events:

  • Incoming call (could define specific events per caller)
  • SMS
  • New email
  • Instant Messaging
  • Calendar alarm
  • Updated RSS feed
  • Stock price change

Event classes

Event classes can optionally be defined for the purpose of simplify Notification Mode rulesets. Instead of making a separate rule for every event, rules can be defined for an entire class of events. An event can belong to a number of classes, similar to a *nix user belonging to permission groups. Examples of possible event classes:

  • Calls from family
  • Calls from friends
  • Unknown caller
  • New email
  • Vital to survival
  • etc
Personal tools

ANARM is an application for handling all event-based audible notifications from an OpenMoko device. Would determine whether or not it is an appropriate time to audibly notify a user of various events, by checking the current notification mode. The overall operation is analagous to a firewall. It would also provide the interface for any application to create notifications through inter-process communication(using dbus?).

Notification Modes

Notifications are allowed or denied(silenced) based on the current Notification Mode, which is set by the user on the fly. A mode consists of an set of "firewall rules". Each rule can either ALLOW or DENY notifications for a single event, or class of events. Each notification mode and its rules are independent from other modes. The current notification mode could be selected manually, or automatically depending on time of day or possibly even the GPS location. Notification modes are like DEFCON levels for an OpenMoko device.

Examples of possible modes:

  • Completely free
  • Hard at work
  • Asleep
  • On-call
  • Device currently in use
  • Do not disturb
  • etc.

Events

An event is anything that could possibly trigger a notification. Each event can be assigned it's own unique sound file. In addition to standard phone events(incoming calls, text messaging), events can come from any number of applications that communicate with Notification Manager. Examples of possible events:

  • Incoming call (could define specific events per caller)
  • SMS
  • New email
  • Instant Messaging
  • Calendar alarm
  • Updated RSS feed
  • Stock price change

Event classes

Event classes can optionally be defined for the purpose of simplify Notification Mode rulesets. Instead of making a separate rule for every event, rules can be defined for an entire class of events. An event can belong to a number of classes, similar to a *nix user belonging to permission groups. Examples of possible event classes:

  • Calls from family
  • Calls from friends
  • Unknown caller
  • New email
  • Vital to survival
  • etc