Saturday, February 20, 2016

Notifications Reader and Tasker Recipes - Part 1

Having Notifications Reader read out the details of new emails, alerts and messages is great, really great! But after while you'll realize (or someone else may tell you) that having your phone constantly speak to you can become annoying at times. Modifying the Notifications Rules to only speak notifications of specific applications is one way to tune the application.  But many times it's about the context, not the content, and this is where the Tasker integration makes Notifications Reader even more powerful.

The following describes a couple of Tasker Profile recipes I personally use every day.

Shut-up, I'm trying to sleep - tell me about it in the morning

This first profile ensures that my phone won't disturb a good nights sleep.

Nighttime profile is defined using the Tasker Time context - e.g. between 10:30pm till 6:40am

This profile is assigned to perform the following tasks:
  1. Use the Do Not Disturb Tasker Action to set to Alarms only. This will prevent audio output from all apps, not just Notifications Reader
  2. Use the Notifications Reader Plugin Action to Pause Notifications Reader so any new notifications are saved until Notifications Reader is resumed.

The Nighttime profile is then used in conjunction with my second profile - Get up.  For this I use a more complex profile context: Day is Monday to Friday, Time is between 6:00 AM and 7:00 AM and an Event type of Alarm Done. Assuming you are using the Android Clock as your morning wake-up alarm, the profile gets triggered when alarm is dismissed.

This is mapped to a set of tasks to performs the following:
  1. Use the Do Not Disturb Tasker Action to restore the mode to All. i.e. Do no disturb now is disabled.
  2. Set the Notification Volume to Level 2, an appropriate level to hear the device just a few feet from my head - just in case I had manually turned the volume to far up/down the day before.
  3. Say "Good morning" (optional)
  4. Use the Notifications Reader Plugin Action to Resume Notifications Reader. Any notifications that occurred during the sleeping hours are now read out.

How do you use Notifications Reader?  Would love to hear about other recipes in the comments. Coming in Part 2 - setting a driving profile.

Monday, February 1, 2016

Android App Arena 57: Notifications

Old news, but for those that missed it - Notifications Reader was reviewed on Android App Arena #57 back in August.  Having listened to Jason Howell for many years since his first days on Buzz Out Loud, and now over at TWiT it was nice surprise when Notifications Reader was picked for review.

Check out more great Android app reviews over on the Android App Arena channel

Creating and Editing Notification Rules

The documentation for creating and editing Notifications Rules for matching application notifications and defining the test-to-speech output is a little hard to find in the app - so here it is for easier reference:

Notification Rules

Notification Rules are used to define the desired text-to-speech behaviour for system and application notifications.

Several default rules are pre-configured. As new application notifications are discovered, the rules can be modified to change the rule matching criteria and text-to-speech output.

Text-to-speech Patterns

The text-to-speech pattern is read when a system or application notification is displayed. Data items from the notification can be used to construct the speech output using the substitution patterns described below

  • _APPNAME_ - The application name.
  • _TICKER_ - The ticker text displayed across the top of the screen when a notification occurs.
  • _TITLE_ - The title shown on the notification panel.
  • _TEXT_ - The second line of text shown on the notification panel. Only the first line of text is read to prevent excess text-to-speech output. If the full text output is require use _ALLTEXT_ instead.
  • _ALLTEXT - The full text of the second line on the notification panel. Use with caution, some applications include a lot of output in the Text field, for example the entire contents of a email.
  • _SUBTEXT_ - The third line of text shown on the notification panel.
  • _SUMMARY_ - The text at the bottom of the notification panel.
  • _INFO_ - The small text on the bottom right notification panel.

An example notification text-to-speech pattern can be constructed as:

Notification from _APP_NAME_. New message from _TEXT__TITLE_.

Some applications use multi-line notifications to consolidate multiple alerts into a single notification panel. When creating a text-to-speech pattern for a multiline rule the following additional substitutions can be used:

  • _LINES_ - All the individual notification items.
  • _FIRSTLINE_ - Just the first entry in the list of notification items.
  • _LASTLINE_ - Just the last entry in the list of notification items.\<

Notification Matching Patterns

The notification rule used to determine the desired text-to-speech output is selected based on pattern matching against the notification details. The match patterns may can be selected from some common selections like 'Begins with', 'Contains' or on match is the field is blank etc. More complex matching rules can be defined using the 'Match Pattern' section allows for Regular Expression syntax (regex) pattern matching.

  • ID - an application specific Id assigned to the notification. This is usually fixed, but some applications generate a new value for each notification. If you find multiple new rules are generated for the same notification try removing this value from the rule pattern.
  • TAG - an application specific Tag assigned to the notification. This is usually fixed, but some applications generate a new value for each notification. 
  • TICKER - the ticker text displayed for the notification.
  • TITLE - the title text displayed for the notification.
  • TEXT - the second line of text displayed for the notification.
  • SUBTEXT - the third line of text displayed for the notification.
  • SUMMARY - the summary text displayed for the notification.
  • INFO - the info text displayed for the notification.

Adjusting the RULE PRIORITY can be used to ensure more specific rules are matched in priority over generic matching patterns. If multiple rules match the same notification then the rule with the lowest priority value will be used. The default Rule priority for new rules is 100