Google Gadget GMail Follow Up

Requirements

Compose

  • adds form to with followup checkbox and date/time of follow up (defaulting to x weeks out)
  • on submit creates a google calendar event at that date time
  • stores record of subject line, recipient(s), and calendar event details

View

  • checks Subject and sender against stored reminders and on match deletes the associated calendar event

Settings

  • default x weeks out reminder
  • default to remind or not to remind

Documentation

Outstanding Questions

  • If a google gadget is in an iframe does it have access to the DOM of the gmail page?

Alternative Design

Work Summary

  • Develop greasemonkey script which has a checkbox and text field that when checked fills in the BCC field with a pre formulated string
  • Create followup.jdoe.example.com domain
  • Enable forwarding by MTA of all email destined for followup.jdoe.example.com to sender email address
  • Develop polling script which
    • queries via API and deletes followup emails if a reply exists
    • labels emails that have exceeded the "follow up time window"
  • Establish cronjob to call polling script daily

Overview

Interface

Mark

  • BCC a special email address for emails that require followup (e.g. john.doe+r@example.com)
    • ALTERNATIVE : BCC an email address at a domain which forwards everything to a single address (e.g. anything@followup.jdoe.example.com)
      • Perhaps embed the follow up time window if it's not default in the email address name (e.g. 5+days@followup.jdoe.example.com)
  • Have this email address be delivered to the same mail account as the sender
  • Have the sender's email system filter and store emails containing the "+r" designator in a special "Follow Up" email folder
    • ALTERNATIVE : Have the sender's email system filter and store emails destined for the special domain (e.g. *@followup.jdoe.example.com) in a special "Follow Up" email folder

Poll

  • Create a script which runs via cron and :
    • Connects via IMAP to the sender's email system
    • Reads in all emails in the "Follow Up" folder
      • grabs the following fields :
        • "Subject"
        • "To"
        • "Date"
    • For each "Follow up" mail do a substring search for other mail in the whole IMAP account
      • Which was not sent by the sender
      • For each match, delete the corresponding "Follow Up" email in the "Follow Up" folder
    • For each "Follow up" mail remaining parse the "To" field and look for a non-default "follow up time window" encoded in the address
      • else use a default
    • For each mail if (now() - the "Date" field) > "follow up time window"
      • Take some action like :
        • Email the sender an example reminder email that they can then tweak and forward to the non-responsive recipient
        • Insert a calendar event to follow up on the sent email
        • Update a webpage of outstanding unresponded to emails
        • Flag the followup email with a star or label
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.