I’ve been mulling over the ideas and suggestions and have distilled it down to these features.
Minerva works with the following types of objects:
* e-mail
* instant messages
* message boards
* RSS articles
* appointments
* to-do items
To avoid re-inventing the wheel, it is preferable that Minerva work with existing apps, such as Mail, iChat, and iCal (just to name the Apple-branded apps we’re all familiar with). For example, appointments are stored in iCal, regardless of how Minerva finds out about them. I don’t know if it is possible for one app to read another’s data easily, as I doubt that Apple built APIs (API = Application Programming Interface, which is a method for one app to “call” another app to get information) into their applications, but it may be possible to use clever work-arounds. For example, Mail stores each received e-mail in a separate file that is accessible in the Finder. Minerva could monitor the mail folders and scan the new messages as they come in.
Minerva’s main job is to construct a daily news list that has prioritized categories. You get to determine what categories you want, what those categories are named, and the rules for determining how items get prioritized. For example, I could use three categories and name them Hot!, Warm, and Cold. You could use five categories and name them TOP Priority!, Do today, On Deck, Long Term Assignments, and Someday. For each type of item (such as a news article, appointment cancelation, or e-mail from a friend) you decide which category they should go into. I want e-mails from my wife and my boss to go into my Hot! folder so they get my attention. But message board posts from the Apple stock quote board I want to put into my Cold folder. Setting your preferences may take awhile, but then again, training a secretary to your preferences always does.
e-Mail Integration
* scan incoming e-mails for:
keywords that indicate an appointment
messages from specific people
specific topics or keywords
commands from you
* when receiving an e-mail about an appointment, Minerva checks to see if this is:
a confirmation of an existing appointment. If so, it updates iCal with that information.
a cancelation of an existing appointment. If so, it updates iCal and puts this item on your daily news list
asking what times you have free. If so, and if you have pre-approved this person to get your schedule, Minerva e-mails back with your available times
a new appointment request. If so, Minerva checks for a conflict. If no conflict, Minerva replies with a confirmation, updates iCal, and adds the item to your daily news list. If there is a conflict, Minerva adds it to your daily news list and if the sender is on your appointment list (another preference item, as you don’t want to be sharing your calendar with random strangers!), then Minerva responds with suggested alternative times.
When receiving an e-mail from someone, Minerva can check to see what action I want taken for that person. Actions could include:
* send an out-of-office response (with options for: every time, once a day, once a week, once per outage)
* send a prepared response
* ignore
* Put on my daily list in *X* category (such as Hot, Warm, Cold)
* run an applescript
Commands. This is an optional feature you can turn on for when you’re away from your computer. When turned on, Minerva scans incoming e-mails for a pre-determined passphrase that indicates an e-mail from you. The mail would also contain an instruction, such as:
Forward e-mails from *person name* to *person name/e-mail address/instant message*
An example of this use is I’m away from home and Minerva gets an IM from my boss. Minerva forwards it to my blackberry and I see that the boss wants to know if I got Pat’s e-mail about the schedule change and needs an immediate response. I query Minerva to send me Pat’s e-mail, which I then read, but I need more info so I reply to Pat with my question. I then remotely instruct Minerva to send me any e-mail Pat sends. I can now get the response and get back to my boss without any serious loss of time.
Instant Message Integration
Minerva scans incoming and outgoing messages for keywords indicating appointments and to-do items. If it finds one, it pops up a dialog asking if it should be added to my calendar or to-do list.
Example conversation:
Chris: We should do lunch soon.
me: Yeah, we should. Tuesday?
Chris: Not good for me, I have a meeting then. Thursday around 12:30ish?
me: Ok. What do you want? Scottish food again?
Chris: Yeah, that works for me.
Minerva pops up a dialog that asks: “Accept an appointment for lunch with Chris on Thursday at 12:30 at McDonalds?”
Message Board Integration
I read a lot of message boards and some threads I follow closely and some I ignore. Minerva will be able to read those boards, scan for new messages and put them in my daily news list according to the priorities I’ve configured. It will also ignore any threads and any posters I’ve indicated that I’m not interested in.
RSS Article Integration
Minerva will scan articles and based on keywords will place the article into my priority categories. I’m envisioning a scoring mechanism whereby I can assign a score value to each keyword and then a threshold value that defines the minimum score needed to put a message in my top priority list. Example: To be in the Hot! category, and article needs a score of 100, but to be in Warm it needs a score of 20. I define the keyword “My Dream App” as being worth 90, but a keyword like “Microsoft” is only worth 10.
Now the cool part.
Minerva is constantly updating my daily list. Not just while I sleep but also during my work day. When it displays an item for me to read, it also includes buttons for me to indicate what should be done with future items like it. For example, if it is an e-mail, then I can indicate if future e-mails with that topic (or from the same person, etc,.) should be a higher or lower priority. With a message board posting I can raise/lower the priority, and even ignore the thread or poster. As time goes on, Minerva “learns” my preferences and can adjust accordingly.
Minerva is also time-sensitive. For example, at 9 PM, Minerva reminds me to plug in my Blackberry and iPod. At five A.M. Minerva uses the text to speech app to convert each category (Ex: Hot, Warm, Cold) into separate MP3 files and then synchs my iPod to put the MP3s on there and synchs my calendar on the Blackberry.
That’s enough text for now.
If I can draft #1 son into doing some photoshop (I’m a writer, not an artist), I’ll post some mockups of the daily news list and some prefs.
— John Bell



























