Humane Gmail Autosave

Author: Vito Miliano <vito_humanegmailautosave@hirevito.com>
Version: 0.1b
Copyright: Copyright © 2005 Vito Miliano
Update:Updated for the April changes to Gmail

In addition, a user should never have to explicitly save or store work. The system should treat all produced or acquired data as sacred and make sure that it does not get lost, without user intervention.

—Jef Raskin, The Humane Interface

Overview

It seems a little silly that Gmail will save all of your email forever, except for the one that you're in the middle of writing when your browser crashes, which is arguably the most important one to you right then.

Humane Gmail Autosave is a Greasemonkey user script that automatically saves any emails in progress every 10 seconds to your Drafts folder. It automatically saves the draft when you go to any other pane in GMail, rather than prompting you with a confirmation dialog. It removes the crufty and extraneous "Save Draft" button.

Saving every ten seconds means you'll never lose more than seven words (at 90wpm) should your browser crash.

Issues

  1. If you're writing email and you open it in a new window, make changes and then close the window before it has time to autosave, you'll lose those seven words. I'm working on it.
  2. The April 1 changes to Gmail did indeed cause the original script to break, as Mihai Parparita of persistent.info predicted. The current Humane Gmail Autosave script fixes this. I'm working on a new version that won't die when Gmail updates, but I'll try to be quicker about updating this original one in the meantime.

That's all I know about. Please let me know if you find any other bugs.

Background

I have issues with the state of online writing. The browser is fallible. Content creation is still not as easy as it could be. Wikis require you to title your work before writing a single sentence. Blogs place more emphasis on the final presentation than the initial input.

I began development of a "humane" textarea a few weeks ago, designed to replace any blog or wiki textarea. It looks like a normal textarea, except there's no input field to title the page, reset button to start over or submit button to save the content.

Instead, to start writing something, you simply start writing something. A temporary filename is automatically generated for you. The content is saved every ten seconds. New versions are archived after thirty seconds of inactivity or if the textarea loses focus. To start writing something new, you simply select all the text and delete it, and start writing over again. You can properly tag and title your work later, or not at all and just rely on search. There's nothing in the way of just writing something down. The technology is transparent.

Showing this off in a practical fashion is difficult, however. The implementation is specific to the server software being used, particularly so when you include a visual editor for text markup or a live preview pane. A friend of a friend suggested I reimplement just the autosave in something else, such as webmail: this script is the result.

It was a bit of a bear to assemble; Gmail is crazy obfuscated. Thanks go out to the Venkman and DOM Inspector developers for these great tools. Greasemonkey itself was also a big help, allowing me to overload functions and throw a few dozen alerts around.