Idea: NoMoreRegrettedEmails - an email plugin to help prevent mistakes and improve diplomacy
The idea is to create Microsoft Outlook plugin and/or Gmail lab that helps prevents all main type of regretted "mistakes" people make when sending e-mails. Such mistakes include: (1) accidentally using reply all or replying to a whole mailing list, (2) using regretful tone or language and (3) forgetting to add an attachment. When the user hits sends, the plugin would quickly run some basic "checks", and if likely mistakes are found will prompt the user with an "are you sure" warning messages before the message is sent. Many of us have witnessed or heard nightmare stories about nasty reply all messages that cause huge damage, so over the course of a career this plugin may just save a person his job and/or reputation.
The inspiration for this idea was quite random, I thought of this while in a car with my dad driving to Yosemite National Park. In fact I am actually *fairly* diplomatic with e-mails - or try to be - but I have had an old boss who was the complete opposite of diplomatic! Many e-mails he sent could have cost him his job if seen by the wrong person and I'm amazed they didn't. Ironically however, the same boss gave me advice about being diplomatic in e-mails, and some simple tips such as never use CAPITALIZED WORDS because it always looks AGGRESSIVE. If you want emphasis making those words bold is much safer. While on a road trip with my dad I thought - well wait - how easy it is to run a check for capital letters before your e-mail is sent. In fact, I decided many of the common mistakes people make are quite easy to detect.
Another great piece of advice I've had with e-mails is that if you ever write an angry e-mail DO NOT sent it the same day. Sleep on it and re-read it tomorrow. Chances are you'll have calmed down and realized what a bad idea it was.... and even if you do decide to send it you'll almost certainly change the wording to be less aggressive.
How it works
This plugin would probably be more than just a macro - it would have to change MS Outlook (or other client) in such a way that it intercepts when the user clicks "Send". More specifically I think you would need to create a MS Outlook "Add-in" and intercept the programs "ItemSend" event. Before sending the message, the plugin would first check the message contents and header and check for the following mistakes prior to sending:
- The accidental "reply all" - this could work on two levels: (1) the plugin detects and warns whenever the user clicks reply all, or (2) whenever there are multiple recipients it could print the warning: "There are X recipients, are you sure this e-mail will be received well by ALL of them?".
- Reply to mailing list - when you e-mail or reply to a mailing list e-mail addresses (eg: firstname.lastname@example.org) your message could easily been sent to hundreds of people so you should always be extra diplomatic. In some cases a web address might tell you who's on the list, but usually you'll have no idea. The bigger issue with mailing lists, however, is that when you see a e-mail ending in a person's name (eg: "Susan is out sick all this week, from Bob") you might easily forget to check the e-mail address and assume that only the sender (Bob) will see your reply. Instead, when you hit "reply" to Bob you can bet your almost all your co-workers (including Susan) will either see your message or hear about it from someone else. In most cases, mailing list usually contain the word "list", "group" or "info", or some other variation, before the @ sign and thus this plugin can detect these "likely mailing list addresses". When you hit reply then send to such a message, it will prompt you with message: "The e-mail address 'email@example.com' may be a mailing list with many recipients, are you sure you want to send?". At the bottom of this message it will also provide two checkboxes: "this is not a mailing list" and "don't show this warning again for 'firstname.lastname@example.org'". If the user ticks either of these options it will store this in a list and prompt the user to add this e-mail addresses to his trusted list / address book for easy future recognition.
- Swear words and potentially negative words - in moments of complacency and/or anger it's very easy to write the odd swear word (eg: bugger, tits, f***, a***, bas***d, etc) - words which are rude and/or offensive - and/or "potentially negative word" (eg: distasteful, worst, terrible, appalling, pitiful, fire) - words which may (in context) seem aggressive or demeaning. At the simplest level, this plugin can easy check for such words by running the e-mail text against a dictionary of all such words. If these words are found, this plugin will prompt: "X swear word and X potentially aggressive words have been found in your message, are you sure you want to send?". Under that should be two options: (1) "highlight these words for me to check" and (2) a checkbox saying "never show this warning for this recipient (he can handle it)". The latter options is useful because close guy friends are often very comfortable swearing around each other and joking around like this - but definitely they should be advised against using such language in front of their boss!
- Capitalizing words - capitalizing words can look AGGRESSIVE, so this would prompt a warning, and a suggestion to use another means to emphasize words. The warning would simply read: "You have used X capitalized dictionary words". And provide the options: (1) "highlight these words for me to check" and (2) don't show this warning again (it may look AGGRESSIVE but I know what I'm doing. Notice only dictionary recognized words will be checked as acronyms such as IBM are supposed to be capitalized.
- Aggressive/active voice - while swear words are easy to detect (by checking against a list), finding sentences which are offensive, condescending and/or insulting is much harder. For example: "We will tear your division apart if you don't get your act together" doesn't contain any offensive single words, but the tone and use of active voice makes it sound quite violent. The same thing in a more passive voice is slightly better: Your division will get torn by us if you don't get your act together, however to make it diplomatically correct it warrants further rearrangement and use of "polite/diplomatic words" (the opposite of aggressive words) like "please" so it doesn't sound like a direct threat. "In light of recent events, it is my hope you can get your affairs in order or I fear management will be forced to take action against your division". In some cases perhaps the more threatening voice is needed, but typically employees responds better to the more polite approach. Sadly such sentencing restructure would be a bit complex, but nevertheless a good algorithm might pick of some of these aggressive sentences and point them out the user prior to sending.
- Missing attachment - forgetting to attach a file to an email has nothing to do with diplomacy and, unlike the mistakes above (especially 1-3), is unlikely to cost a person their job. It is however, very common and very annoying, and very easy to detect so it makes sense to include this as a check. When people make an attachment they will often (although not always) use the word "attached", "attachment", "attach" or "file" in the message body (eg: "For your reading I have attached", "see the first attachment" or "I forgot to attach the file"). If one of these words appears in the message body or header, but the sender has not made any file attachments the plugin will show the prompt: "You have used the word 'attached', did you mean to attach a file?".
- NoReplyAll Outlook Add-in - this add-in is somewhat different to my suggestion but very clever - what it does is allow the sender of a message to prohibit the receiver from clicking "reply all" or "forward" on the e-mail he sends. Apparently this functionality is already part of Outlook, but this add-in exposes it and detects missing attachments and subject lines upon sending (read more).
- MAPILab Toolbox is a Outlook Add-in that comes with "Attachments Forget", "Batched Mail" and several other features, although none of them relate to diplomacy. MAPILab can be free for 30 days, but after than it sends annoying messages and wants you to pay $24 for a single licence.
- If you know any other systems please e-mail me!
Since I couldn't find anything quite like this, I decided to try and code a solution in Visual Basic. The code is working, and checks for most, but not all of the conditions above, including a list of nasty words. Currently you have to install it yourself, but it would be kind of nice if I could somehow turn it into an executable that people could just download and install - so if anyone knows how I can make this extra step please fire me an e-mail! :)
It's pretty quick and messy, but you can see what I've done and install it here:
I haven't search around too much on the web, ....
- Coding in MS Outlook:
- MSDN - How Do I: Create an Outlook Add-in? - a nice video showing how to make a right click add-in using the free "Outlook 2007 Templates for Visual Studio 2005".
- AddInExpress.com - HowTo: Handle the Outlook ItemSend event - explains how you can attach something to the send button, but uses the "Add-In Express for Office and .net" package which is hundreds of dollars.
- microeye.com - Programming Microsoft Outlook with Visual Studio .NET - a list of articles about programming in .NET with particular referencing to MS Outlook.
- How how to automatically bcc in Outlook 2010 - a great little article by Jack Busch and using code from Micheal Kizer which shows how you can use the "Developer" ribbon in Outlook to change the behavior of the "Send" button using "_MailItem properties" without needing to install (expensive) Visual Studio .NET.
- Gmail labs - Although MS Office is a good target, if I figure out how to write gmail labs I thought this might be fun too!