By Rex Weston
Rarely does a week go by that I don't stumble across something on someone's Web site that makes me stop and think, "I like that feature, I could use that myself." Maybe it's the site's color scheme, menu system, or page layout. Typically I'll bookmark the page and forget about it.
Recently, while preparing a marketing presentation for Starbucks, I wound up visiting a short Starbucks Web-movie called "The Red Cup." When I clicked on their "Pass it along" link, something grabbed my attention. A new email message popped up in Outlook -- no surprise there -- but this one was pre-composed, with a brief call to action, and the subject line in place. All I had to do was to click open my address book and "pass it along." Nice.
We're all familiar with the HTML "mailto:" tag -- it's the link we click that generates a new mail message, usually addressed to the company who operates the site you are visiting, and usually with an subject line reading "contact me," or "send more information." It's just a simple way for them to let us send email to them. A useful option, but limited.
The goal and the search
Adding a pre-written message to the body of an email via the mailto tag opens up many new possibilities. I was intrigued enough to do more than just add The Red Cup to my favorites. I began researching this application with the specific hope that I could discover a way of implementing the mailto tag such that a click would create a new, fully formatted, HTML message in the site visitor's copy of Outlook. My goal was something that looked like Figure A.
FIGURE A
I wanted to click a link and have a fully-formed HTML message show up. (click for larger image)
Dead end.
While the mailto tag can be implemented to pass text to the body of an email message, it cannot be utilized to apply HTML formatting to the message itself.
If you can't find it, build it
On to Plan B -- bring in the programmers. There were two discreet components required to create the desired functionality -- the browser-side interface and the integration to the email client program.
On the browser side, the optimal solution would have simply worked right out of the box. The end user would see a link, click it, and up would pop the fully formatted, pre-composed, HTML email message. The hope was to accomplish this using JavaScript or something similar. No luck there.
Recognizing the need to have the end-user do a one time install to activate the functionality of the new-style "mailto" link, we settled on the creation of an ActiveX control. Other than the need to install, and ActiveX's dependency on Internet Explorer, this worked out well. There are, of course, security disadvantages to having an ActiveX control install on a user's machine, but to gain this functionality, some trade-off decisions had to be made.