|Wishes warning! This article or section documents one or more OpenMoko Wish List items, the features described here may or may not be implemented in the future.|
The Advanced Notification And Ringtone Manager 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?). It might be closely connected to the Wishlist:Point_of_Interest_Framework
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
- Device currently in use
- Do not disturb
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)
- New email
- Instant Messaging
- Calendar alarm
- Updated RSS feed
- Stock price change
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
Morse code or synthesized speech ringtone
For ringtones, SMS, emails, and calendar alerts, a special ringtone mode could generate beeps according to the Morse code or use speech synthesis. For a know phone number or known email the caller or sender name (and indication mobile, private or work) could be used in as a ringtone. Implementing this will be handy if you cannot see your phone because of the work you are doing and you only want to answer the call or read the message if a certain person is calling because e.g. a lot of effort is involved in making a small pause in your work. As a marine geek feature even a steam whistle could be used in stead of the standard Morse bleeps.
Also individual ringtones per caller/sender and mobile/private/work could be stored in the address book which override any ring tone scheme which has been selected.