For best results, read from bottom to top, since newer posts build on former posts appearing below.

Monday, July 09, 2007

Never Check Voicemail (a how-to)

Voicemail is an inefficient way to communicate. It's as transactionally disconnected as email, but without the random accessibility of text. Since the fact of not reaching you often catches folks off-guard, and since most people aren't used to delivering all their thoughts at once in a well-ordered stream, you'll likely get more noise than signal in the message. I find too that even the slowest, rambling speakers become speed talkers rivaling any auctioneer when it comes time to leave their phone number. Then there's my habit - forgetting to check voicemail, particularly on my cell phone, sometimes for days at a time.

Fortunately, there's a fantastic, free service that will automatically convert voicemails left on your cell phone service into emails sent to your inbox. This means that you won't need to explicitly call your service to check messages, or even check your phone to see if there are any waiting.

CallWave replaces your voicemail service with an automated system to record the incoming message, transcribe it to text, and send both the text and the original voice (as a sound file attachment) wherever you like. It is easy to set up for forwarding to either SMS or email, and activates instantly. You simply sign up with your phone number and email, enter the code appropriate to your cell service provider to forward unanswered calls to CallWave, and you're done. I've found the text transcription accuracy to be acceptable, although the quality does vary depending on the speaker's clarity. Even so, since you still get the original sound file as an attachment, you can certainly listen to that if you can't decipher the resulting text. CallWave is a remote service - there is nothing to install on your computer or cell phone.

If you often leave voicemail reminders to yourself (better than texting while driving), there's another free service you'll enjoy: Jott. Jott will enable you to send emails to anyone as text (plus attached voice), via dictation from your phone. When you dial into the service, it recognizes you by your caller id and asks who you want to Jott. It matches your voice response to one of the set of named recipients you can manage online. Once you give the recipient's name, you just talk away and Jott will transcribe the dictation and send the message in minutes. As with CallWave, dictation accuracy varies. I'm not sure I would use it to completely replace email or a real call, but I find it indispensable for sending text messages to myself. I "Jott myself" all the time.

Monday, March 19, 2007

Forget about Backups

When I had my thoughts and data spread across several systems, paper and electronic, backups were less important to me. I often had redundant sources from which I could rebuild at least the some of what was at risk. If you've read what I've posted earlier, you know that almost all of my records are now electronic and consolidated into a non-overlapping trusted system. Lack of backup would leave me quite vulnerable, and with my memory no longer playing a large role as a system of record, it cannot work as a reliable backup either.

Some protection is afforded by my use of FolderShare (described earlier). Using that, I've distributed those files I need on multiple machines for quick access. This replication provides a form of backup, but there are some files I don't distribute because they're sensitive (like financial data). Of course, these are perhaps even more important to protect from catastrophic loss.

I've considered a wide range of alternatives, including setting up complicated rsync-ing services to a relative's computer on the other side of the continent, to insure against local catastrophies (I live in earthquake-country). At one point I was fairly good about burning CDs and taking them off site. But in the end, all of my prior clever ideas were too complicated to make backup truly reliable (insofar as it involves my own effort - I'm not looking to add new habits).

About 16 months ago, I discovered what has served since then as the perfect solution.

Mozy is brain-dead simple. Sign up (see below), download and install the client, choose files or folders to backup, and that's it. The service does the rest automatically, collecting files as they change on your machine, compressing and encrypting them, and uploading them to a secure site. You have a reasonable amount of flexibility in choice of files, frequency of backup, and means of encryption. Restoration of lost items is equally simple: Mozy presents a file-system-like view of the files and folders backed up to their servers, which you can restore to your computer with a single click.

The service is available in three forms: one for personal use, limited to 2GB; an offering for $4.95/month that allows unlimited storage; and an enterprise version for more richer business use.

If you're interested in the personal edition (which I use), you might sign up using my referral code: Doing so will give you (and me) an additional 256MB over the 2GB limit.

Mozy operates transparently and without any intervention from me at all. It's allowed me to completely forget about backups - until I need them, and then they're there.

Wednesday, October 04, 2006

GTD Resources

Here is a list of resources I've used in researching productivity gains.



  • - A Firefox extension that integrates the highly effective methodology of "Getting Things Done" into the popular email service Gmail.

Introductions and Summaries
Further Resources

Wednesday, September 20, 2006

Watch your Typing

I really like the autocorrect feature built into so many applications today. In fact, I regret that not all programs include this commodity service. Fortunately, there's a solution.

There are, in fact, many implementations of autocorrect, but I prefer AutoHotKey. By itself, this program does nothing useful. However, it provides scriptable actions associated with keystrokes. What separates it from other programs is that it is useful beyond just assigning single key strokes. Many programs exist that enable you to map things like Alt-Ctrl-Shift-N to "launch Notepad", but AutoHotKey goes several steps beyond.

AutoHotKey watches for key sequences (or in fact, any event sequence, as I'll describe in a later post). When it sees a series of keys to which it's been directed to respond, it'll trigger a sequence, which can be a replacement text. (Or again, as I'll describe later, it can execute a useful subroutine). Of course, you can still use it to map single keystrokes to other ones, but the real power is in replacing text you type with alternative text.

Jim Biancolo cleverly converted a list of most common misspellings from Wikipedia, into a script for use with AutoHotKey. To use it, simply download and install AutoHotKey, then download this file, extract its contents (wikipedia_autocorrect.ahk) into a folder, and place a shortcut to the file in your Startup folder. When it's running, any time you type one of the handled misspellings, anywhere, it'll automatically be replaced with a correction.

There's a clever addition in this file as well: select any text then pressing Windows+H will bring up a dialog where you can add your own trigger to produce the indicated text.

The ahk script is also editable by hand in your favorite plain text editor, so you can add or remove corrections. The syntax is very straightforward: on each line, write ":R:misspelling::correction" as in ":R:anohter::another". (The leading "R" is optional in most instances - it's used to ignore special replacement characters and insert them verbatim). You'll need to tell AutoHotKey to reload the file each time you edit it. You can easily reload by selecting the "Reload This Script" option from the context menu displayed when you right-click on the AutoHotKey icon in the system tray.

Of course, all of this isn't limited to corrections. You can cleverly supply your own abbreviations, too. For example, here are a few that I've added:

Best regards,
::my cell::my cell phone (555-555-1212)

Note that multi-line replacements are enclosed in parentheses. By contrast, parentheses occurring in the single-line example "my cell" will be deposited verbatim. Multi-line replacements can alternatively be expressed in a single line by using the special text "{enter}" wherever you want to insert a press of the enter key.

As I mentioned above, you can easily remap any single key, as well. In fact, this is how the Windows+H functionality was added in the wikipedia_autocorrect.ahk script. I've added a few of my own, including remapping the "forward page" and "backward page" browser keys on my IBM Thinkpad T43p to simple "PgUp" and "PgDn", with this:

Browser_Back::Send {PgUp} ; remap thinkpad button
Browser_Forward::Send {PgDn} ; remap thinkpad button

The help file installed with AutoHotKey documents these techniques and the required syntax
very well. In addition, it suggest several more complicated scripts. I'll describe one such complex script I've created in a later post.

Saturday, September 16, 2006

Synchronizing EverNote Between Multiple Computers

I've adopted EverNote as my primary tool for taking all forms of notes. For it to truly serve as my "single source of truth" requires the one database be available on all machines I use. Earlier, I described FolderShare as a very useful service for transparently keeping folders in sync across multiple computers. It would seem reasonable to simply keep my EverNote database in a folder that was synchronized between machines. However, there's an important flaw in this strategy: EverNote keeps its database open the whole time the program is in use, and FolderShare cannot write to files that are open. When FolderShare finds it cannot write to a file, it creates a copy on the target machine. The multiple copies typically proliferate, and without attention, they'll contain random snippets of the database, with uncoordinated notes. In short, it's a mess. Now, since this only occurs when the database is open, the problems can be avoided if one remembers to close a running instance of EverNote on one computer before starting one on another machine. This sounds easy enough, but I've forgotten to do this enough times, and cleaned up the resulting mess enough times that I sought a better solution.

Fortunately, my frustration was solved with EverNote 1.5 Beta, which introduces database synchronization. This may sound like it would directly solve the problem, but unfortunately there are two impediments: direct synchronization over a network is not yet officially supported; worse, my computers are behind different firewalls where they cannot directly "see" each other. Therefore I must employ a reflector like FolderShare for synchronization.
There is a way, however, to mix the problematic direct synchronization through FolderShare together with the local synchronization that EverNote provides, yielding a much safer, indirect, yet automatic solution. The trick is this: synchronize a "master" database between all computers with FolderShare, but do not ever open that copy on any machine. Instead, use a second set of databases, unique and local to each machine, which are then synchronized to the master by EverNote.

Here's how to set it up:

0. Before you proceed, play it safe. Backup your current My EverNote Files folder.

1. I'll assume you have a folder called "Common" (beneath My Documents) that is synchronized between all machines using FolderShare. (See my earlier post for how to set this up).

2. Each EverNote database actually consists of 4 files, ending in the extensions .enb, .eni, .enl, and .enr. For your existing database containing your preexisting notes you'd like to make portable, rename the files to "Master", preserving the extension of each file.

3. Move the master database files to the "Common" folder. I preserved the surrounding folder structure, so that files are actually stored in Common\My EverNote Files\DataBases.

4. On one of your machines, open EverNote, and use File/New to create a new database, storing it in a location where it will not be synchronized by FolderShare. You can see in the screenshot that I've stored mine beneath "My Documents", and have given it the name "Local".

5. Choose Options from the Tools menu, and select the "Sync" tab.

6. Ensure the "Enable File Synchronization" option is enabled.

7. Hit the "File Sync Setup..." button, and in the resulting dialog ensure "Local Drives (internal and connected by USB or FireWire) is enabled. Ensure too that the drive letter corresponding the location of your Master database is also enabled. Dismiss the dialog with the "OK" button.

8. Hit the "Database Sync Settings..." button, and make sure that both "Enable synchronization of this database" and "Synchronize immediately when a note is saved" are both enabled. Importantly, make sure that "Synchronize automatically every ... minutes" is disabled. Dismiss this dialog with the "OK" button, and dismiss the "Options" dialog with "OK" as well. With these settings, your Local database will synchronize to the common Master only when you demand it (using Tools/Synchronize) or when EverNote is started or exited, or when a note is saved (typically when you defocus a new or edited note). By limiting the frequency of synchronization with the Master, you are leaving the Master free for synchronization by FolderShare, and reducing the potential for "file open" conflicts.

9. Select "File/Synchronization...", which brings up the following dialog:

10. If you see your Master database listed select it and press the "Link & Sync" button. Go to step 17.

11. If your database doesn't appear below the drive, then EverNote is not looking in the proper places, and you'll need to add the location of your Master database to the set of folders EverNote searches. I'll detail that in steps 12-16.

12. Select the drive containing your Master database and press the "New Sync" button to bring up the following "Create new sync peer" dialog.

13. Enter nothing in this dialog, but do press the "Change..." button to bring up the "Synchronization folder" dialog.

14. Enter nothing in this dialog either, but do press the "Add Folder..." button to bring up the "Browse" dialog.

15. Select the folder containing your Master database. Presuming the conditions in step 1, this will likely be "My Documents\Common\My EverNote Files\DataBases". Click "OK" to accept the addition and dismiss the dialog.

16. Dismiss the "Synchronization Folder" dialog with the "OK" button, and the "New Sync" folder with the "OK" button.

17. You may see a "Synchronization progress" dialog appear, displaying results for this first synchronization between Local and Master. When the process is complete, you may dismiss the dialog with the "Close" button.

18. The remaining "Synchronization for" dialog should now show the Master as linked and synchronized, indicated by a distinctive icon. You can dismiss the "Synchronization for" dialog with the "Esc" key.

19. Repeat steps 4 through 19 on your remaining machine(s). It's important that you don't try to shortcut this by copying the Local database to the new machines. I believe that EverNote may use the uniqueness of each newly created database as an identifier of the database during the synchronization with the Master. If you copy the Local database around, then once one of the Local copies synchronizes to Master, other copies will believe they've done so also, and you'll wind up with orphaned notes that exist in only one of the Local databases. Play it safe, and repeat the steps on all machines.

Now, back in step 8, I mentioned that this two-stage synchronization process limits the duration when the Master is needed. When it's not needed, FolderShare can copy it. However, there will still be some instances, like when you create two notes in rapid succession in Local before FolderShare can release the Master, when EverNote will be unable to synchronize Local to Master. Since an attempt to synch will be made again the next time EverNote tries to save the Local database, this is not a problem, although you will see an error indicator in the bottom right of the EverNote window.

It is possible that contention for the Master may arise when EverNote is synchronizing the Local database to it, during which FolderShare attempts to copy a remote Master onto the machine. In this case, FolderShare will deposit the remote file to a copy, named "Master on ". Since EverNote is smart about whether it has synchronized to a Master or not, it is safe to delete these copies. The true Master will collect the updates from the Local database when the contentious EverNote synchronization concludes, and FolderShare will transport it to the remote machine, where it will receive the "lost" notes from that machine's Local database on the next EverNote synchronization.

Wednesday, August 30, 2006

Upgrade your Notepad

I know that Minesweeper is often cited as the greatest time-wasting program installed in Windows, but consider Notepad: I wonder how much time is squandered using this ineffective program. It's meant to be a lightweight app, but it's unfortunately equally light on functionality. A short list of shorcomings: no recently-used file list; the tab key inserts an annoyingly invisible tab character whose width is unadjustable, and cannot be configured to insert spaces; tabbing a selected area doesn't shift the text rightward - the selection is deleted, replaced by a dumb tab; search and replace are cumbersome. Notepad is a seriously deficient program. What a shame that it's the default editor for textual files.

On the other end of the spectrum is emacs, which has origins in Unix yet can be configured to run on Windows. It takes a while to launch and still longer to fully comprehend. A platform unto itself, it is truly powerful, but it feels clunky on Windows. (I haven't used it in years, although, like a massive distant star, it still exerts an invisible gravitational force of attraction on me.)

There is no shortage of alternative editors available, at varying levels of mediocrity and price, but I've long awaited one that satisfies these important criteria:
1. Lightweight, efficient, and quick-launching
2. Richly functional out of the box, and optimally, extensible
3. Clean and intuitive
4. Portable (installation-free)
5. Free

There exists an editor scoring high against all these requirements: PSPad.

PSPad is completely free. It can be installed, or you can simply unpack the .cab file into a folder. Like Foxit (mentioned below), it will pseudo-install itself when first run, enabling the usual shell integrations. (I find this form of late-installation to be tremendously clever and wonder why more programs don't act this way.) Since it stores configurations in a .ini file, you can easily synchronize the entire folder between machines (using FolderShare, for example, described below).

PSPad's features are as rich as any editor I've used. Column selections are possible. Regular expression and incremental search are supported. Syntax highlighting is provided for every language I could think of. Tab handling is fully customizable, including smart tabs. PSPad is fully configurable. Even so, if there's a feature missing, you can add it with WSH scripting.
Oh, and it even comes with a drop-in replacement for notepad.exe, which will launch PSPad even for those programs hard-coded to use notepad.

Tuesday, August 22, 2006

Subject: Hereditary Defect

How unfortunate that when mail systems were being developed, they were modeled after physical business correspondence. I suspect that this is where a serious and persistent fault was introduced. In the age of physical correspondence, and under the assumption that mail and memo volume per user would be small, it was reasonable to assume that all letters would be read as they were received, in their entirety. A common courtesy was to relate the topic of the letter by including a "Subject" line at the top, oten used to route the letter or memo within departments to the correct recipient. Urgent letters, intended to take precedence, could be signaled by a different form of delivery (such as telegram), or colored paper. Given the high cost of duplication and transmission, paper mail was generally targeted with some accuracy to the intended recipients. What has been gorught forward from paper into email is rather antiquated, and doesn't anticipate dozens of communications per day. Moreover, some of the constraints on duplicating mail to a wider audience have been completely relaxed in the electronic world, thanks to distribution lists and the "CC" line, which levy no additional burden on the sender.

Today, for most information workers, email is the primary form of communication: much of the information we collect arrives via email. Within the storm of incoming messages are valuable items which are either reference materials for review and possible archiving, as well as items for action, all comingled with junk. As we attempt to winnow the wheat from the chaff, our first indicator of the "disposition" of the message - reference, actionable, junk - is the subject line. Most users of email have this primary field prominent in the list of all emails. Scanning through the emails, one reads the subject in an attempt to ascertain disposition, but often the content of the message body is required to make an accurate assessment.

Looking at the state of affairs, we're beset by information in historically high volumes, yet employ tools and behaviors instituted when frequency of correspondence was low. It may be possible to stem incoming mail to some degree. There exist tools for managing email more effectively (see below). There is, in addition, a behavioral change that can greatly assist as well. I would like to focus on the unfortunate inheritance from the past: the "Subject" line.

I propose reinterpretation, if not replacement, of the word "Subject" in the message header. Subject implies just "noun", dead and inactive. It relies on the recipient to intuit the untransmitted active verb. When one receives an email with the subject "Project Plan," for instance, one can have no idea based on the subject line alone what to do next. Is this plan distributed for purpose of notification only? Is it for review ? Is a response required? Is this a notice that there is an important change in plan, or that the plan document is going to be late in arriving? One cannot answer these questions without reading the message body, and even therein it's often a chore to interpret one's responsibility.

The simple solution is to treat the subject line, as you're authoring it, as "next action." Replace the sole noun with "verb the noun." How much better it would be to see "Send comments on included project plan by Friday." This transformation is applicable to all messages you send, and is remarkably powerful. In fact, adopting this simple reinterpretation of the subject line in your outgoing messages will have several important beneficial effects:
  1. When received, your email will naturally rise above other emails with more ambiguous subject lines. This gives your mail an automatic priority boost encouraging action. Imagine that others are suffering too from email overload. Clarifying the expected next action for your recipient will increase the chances that it will get handled.
  2. If the email requires a response, then after sending the message, you can easily transform the sent item into an @WaitingFor task for yourself. Since the subject is already expressed as a next action, you won't need to rewrite it. What you're expecting and when you're expecting it should already be clear.
  3. Recipients who adopt GTD, of course, will adore you, since even the most overflowing inbox would be easily transformed into an orderly series of tasks, if only the subject fields were so easily transformed into next actions.
  4. You'll find that once you adopt this, your correspondents will begin to adopt this too. Once they receive several clear examples from you, and once they notice that they act upon these more quickly, you'll see your inbox begin to populate with increasingly clear messages. (In fact, I'll add that a member of our team, James Laura, has taken this a step further and applied the principle to reply emails as well, moving well beyond the prefix of "RE:" to indicating the next next-action.)
I have a sticker on my computer that says "verb the noun". Even with this reminder, it's hard to break the "noun" habit. But I've found the replacement worthwhile.

Monday, August 21, 2006

EverNote 1.5beta is Available

You can download it here: EverNote 1.5beta

While I haven't tested any of the new features in this release (like multiple databases or synchronization), and have until now used only the free version of the former release (which excludes inking), I can report it is stable and hasn't yet corrupted my database.

To install it, you should uninstall your prior version first. Installing EverNote 1.5beta will still "point" to your former database, so the transition should be easy.

I do note several bugfixes in the new release, the most important for me being that character effects like bold, etc., now behave better (they stay off when you turn them off inline).

Pasting text from external sources also appears to work correctly now, without the odd double-spacing produced by EverNote 1.1.

At its base, the upgrade looks good.

When Worlds Collide

I love Firefox, perhaps for the illusion of safety it gives me, allowing me to ignore the vulnerabilities of Internet Explorer (so long as I also ignore the potential vulnerabilities of Firefox). Unfortunately, much of the web was "written for IE," meaning the sites are designed with IE in mind, which has a subtly different behavior than Firefox. Although the cases are rare, I do have a number of sites I frequently visit that behave badly, if they behave at all under Firefox. For those sites, I regret that I must use IE.

If you have Firefox installed as your default browser, then shortcuts to webpages will always launch Firefox, which as we just noted, is not always the best browser for the target site. Switching then involves some tedious activity of copying the URL from Firefox, launching IE, and pasting the URL in there.

Early on, a clever author of Firefox extensions simplified this process to a right-click. While visiting a page in Firefox, his extension enabled you to select "View Page in IE" via the context menu, whereupon a new IE browser was launched and the target page displayed. This was a mighty improvement.

Even better is the IETab extension for Firefox. When installed, it presents a very similar new item on the context (right-click) menu on any web page. Selecting "View Page in IE Tab" apparently converts the present Firefox tab, hosting the web page, into an instance of Internet Explorer. (What really occurs is that the IE control is hosted in the Firefox frame, and asked to load the page a second time.)

If you prefer to view the web page in a separate window, you can instead select "View in External Application".

What's really impressive is that this extension can remember those pages that you'd prefer to view under IE. From the Tools menu, select IE Tab Options. The current URL will appear at the bottom. Pressing "Add" will include it in the permanent list.

You'll also note the "External Application" tab in this dialog, where you can specify the application to launch when the "View in External Application" context-menu item is selected. By default, it's set to IE (iexplore.exe).

Through the use of IE Tab, and by configuring a few choice websites to prefer IE, one can use Firefox for primary websurfing, while still accessing IE-specific websites without disruption.

Thursday, August 17, 2006

Lighten the Load

"Back in the day," when much information was stored in flat text files, information organization and retrieval tools were perhaps not as developed as they are today, but information access sure seemed quicker. The programs in front of the data were lighter. (Remember "cat, more, and grep?") Today, there's typically a large program interposed between user and data. Granted, these programs are often awesome in their functionality, but for simple tasks, I prefer simpler programs. I'm frustrated by the time it takes to launch complex programs when all I want to do is read the contents of a data file.

My biggest complaint perhaps is with the Adobe Acrobat Reader. It's a leviathan, unusually large and slow to awake. Launching it seems to take forever, which I find ironic given that the PDF files I receive are typically meant for my review (reading), not complex manipulation. How hard could displaying the file be?

I've found a way to lighten the load time and my wait: Foxit Reader.

I've uninstalled Adobe's product and use Foxit Reader instead. Right off the bat what's interesting is that there's no need to install Foxit Reader. That's right - no installation, which recalls again for me the "good ol' days" before DLLs, the registry, and installers. Foxit, when first run, will automatically associate with PDF files forever after, so that double-clicking a PDF will launch Foxit.

Foxit is tiny: at 1MB it is nearly just 1% of Acrobat Reader in size. Commensurately, Foxit has a very sprightly launch, fully functional in under a second. Of course, with this comes some limitations, but I haven't yet found them to be inconvenient. For instance, you cannot fill in forms. Of course, in Adobe Reader you can't save the forms you fill in, so I'm certainly not missing anything in this function. Perhaps due to Foxit's tiny size, it is unable to display 3D content in files, but I use Autodesk's superior DWF format for that anyway.

There are many lighter-weight viewers available. Others I've found useful, particularly on my websurfing laptop include viewers for Microsoft Office files, which I often receive as email attachments but do not need to edit. Here's where to get them:

Visio 2003 Viewer
PowerPoint Viewer 2003
Excel Viewer 2003
Word Viewer 2003

As well, I've installed lightweight, fully-functional (as far as I can tell) viewers for multimedia.

Real Alternative, a player capable of playing RealMedia (.rm) files
QuickTime Alternative, to play QuickTime files (.mov, .qt, .3gp and other extensions)

All of these programs are well-behaved, with no annoying popups, or nags. I value the speed these viewers have returned to me. I'd gladly pay for them if only they all weren't so,

Monday, July 24, 2006

Task Reticle

Out of the box, Outlook’s Task View does not promote easy access to information. Sure all of your tasks are there, but that’s actually the problem: by default, there’s little visual prioritization given to the items, and they all therefore appear equally important.

Fortunately, Outlook does enable some reasonably deep customization of the visual aspects of the Task View which can bring into focus what’s important. With a few clicks, you can configure it to surface a more meaningful interface. Here is a layout I find to be particularly effective:

There are three important aspects to this view:
  1. Next actions (tasks) are grouped by context.
  2. Next actions show only the important information (what, when, who, and the associated project).
  3. Color and font choices dynamically highlight next actions based on urgency.
I’ll explain why each is important, and how to accomplish the configuration in Outlook.

Group by Context

Following from the GTD principles, when endeavoring on any next action, context is the first resource (along with energy level, due date, etc.) that must be considered. It is therefore logical to arrange next actions first by this field. Presuming you are using the GTD Plugin for Outlook (described in a prior post), this is easily accomplished. From the list of “Current View” configurations at the far left, select the one titled “Active Tasks by Action (GTD)”. Note that the choice is actually inaccurately labeled – it should have been called “Active Tasks by Context (GTD)”, but some things are beyond our control and we’ll need to adjust to the plugin’s misappropriation of the word “Action”. It is misused consistently, thankfully, throughout the plugin (in the toolbar button, for example).

To get the actual grouping to occur, you may need to adjust the view’s “Group By” setting, to enact it based on Action. You can do this by selecting the menus “View / Arrange By / Current View / Customize Current View”, which will bring up a dialog from which you can press the “Group By…” button (as shown in the bottom-most window below). Pressing the “Group By…” button brings up a “Group By” dialog (showed in the top-most window below), where you’ll select “Frequently-used fields” at the bottom dropdown, then “Action” from the top dropdown. Be sure to also choose “Ascending” if not already selected.

The resulting view will look similar to, but not exactly like the example above. Further customization will be required, as outlined below.

Hone the Displayed Information

In my employment of GTD, I’ve found it very useful to know who is responsible for a next action. Clearly there are many for which I’m directly responsible, so if a name is not listed, I presume I’m the owner. But for many actions, particularly those in the “@Waiting For” context, there is another owner. I record this in two ways: I prepend the next action with the name followed by a colon, and I also record the name as the “subproject”. I chose subproject because it’s already “supported” by the plugin, and since the plugin has really no notion of whether the field should be a topic or a name, it’s complicit with my hijacking of the field.

I also find that when I review my next actions list, I want few fields to be visible. For example, I don’t really care about the full details of the next action (stored in the “Notes” field). I simply care about the what, when, who, and sometimes the project. I can certainly get to the additional details by actually opening a next action, but again, for quick review, I want less detail, not more.

To accomplish this configuration, you must use the “Field Chooser” to modify those columns that are displayed. You can call the Field Chooser by selecting right clicking on any of the existing columns headings in the Task View (say, “Subject”), and choosing the “Field Chooser” from the popup. Ensure the drop down list at the top of the dialog is set to “User-defined fields in folder” to permit GTD-related columns to be manipulated. You can now drag columns to and from this dialog directly into place in the Task View. For example, you can see that I’ve added “Project” and “Subproject”, which I’ve accomplished by dragging them from the Field Chooser into place in the column heading bar in the Task View. From left-to-right across the column heading bar, I use “Complete”, “Priority”, “Subject”, “Due Date”, “Subproject”, and “Project”.

Highlight actions based on urgency

The default configuration of the task view does little to call attention to next actions that require your focus. With the exception of those that are past-due, they’re all displayed in one monotonous style. We can correct this to highlight critical tasks, and de-emphasize others. Illustrated in the screenshot of my Task View configuration, I have made these enhancements:
  1. Tasks due today are shown in a slightly larger, bold, green font
  2. Tasks that recur are shown in an italic font
  3. Tasks that are due “soon” (in the coming week) are shown in a slightly larger, blue font
  4. Tasks that have no due date are shown in a lighter grey
Of course, I’ve preserved the default formatting for other rules, which includes the “normal” black text and red text for overdue items, but now, at a glance, I get a view of which I next actions require my attention today, and which are coming up, while others recede into the background just a bit to not clutter my quick-scanning view.
This is quite simple to set up. First, call up the “Automatic Formatting” dialog by selecting the menus “View / Arrange By / Current View / Customize Current View” and pressing the “Automatic Formatting” button, which brings up this dialog:

Using the “Add” button, add four new formatting rules, which I’ve named “Due Today”, “Recurring”, “Due Soon”, and “Undated”. Although you can enter them all at once, since you must apply some conditional formatting, it may be better to complete them one at a time, as I’ll describe here. Since these four rules actually complement each other, it’s important to insert them in the illustrated order, or the resulting formatting may be incorrect.

  • Due Today
Press the “Add” button, then replace the word “Untitled” in the “Name” field with “Due Today”.

Press the “Font” button, then select “Green” in “Color” under the “Effects” area in the new dialog that comes up. Additionally, select “Bold” from “Font style”, then press “OK” to confirm the change.

Press the “Condition” button, then select the “Advanced” tab. From the “Field” dropdown, select “All Task fields / Due Date”. From the “Condition” dropdown select “today”. Then, press the “Add to List” button. Press “OK” to confirm the change.

  • Recurring
Press the “Add” button, then replace the word “Untitled” in the “Name” field with “Recurring”.

Press the “Font” button, then select “Italic” in “Font style” in the new dialog that comes up, then press “OK” to confirm the change.

Press the “Condition” button, then select the “Advanced” tab. From the “Field” dropdown, select “All Task fields / Recurring”. From the “Condition” dropdown select “equals”, and from the “Value” dropdown select “Yes”. Then, press the “Add to List” button. Press “OK” to confirm the change.

  • Due Soon
Press the “Add” button, then replace the word “Untitled” in the “Name” field with “Due Soon”.

Press the “Font” button, then select “Blue” in “Color” under the “Effects” area in the new dialog that comes up, then press “OK” to confirm the change.

Press the “Condition” button, then select the “Advanced” tab. From the “Field” dropdown, select “All Task fields / Due Date”. From the “Condition” dropdown select “in the next 7 days”. Then, press the “Add to List” button. Press “OK” to confirm the change.

  • Undated
Press the “Add” button, then replace the word “Untitled” in the “Name” field with “Undated”.

Press the “Font” button, then select “Gray” in “Color” under the “Effects” area in the new dialog that comes up, then press “OK” to confirm the change.

Press the “Condition” button, then select the “Advanced” tab. From the “Field” dropdown, select “All Task fields / Due Date”. From the “Condition” dropdown select “does not exist”. Then, press the “Add to List” button. Press “OK” to confirm the change.

When you have completed all these actions, confirm the “Automatic Formatting” dialog by pressing the “OK” button, and confirm the “Customize View” dialog by pressing its “OK” button.

Wednesday, May 24, 2006

Moving your focus from email to next actions

Nearly all time management systems advocate a clear focus on what's important, rather than what appears to be urgent. The technologies we've adopted - most notably email - lower the barriers in reaching out, and in being reached. The hidden trade behind being made accessible is that we're now far more interruptable too. Certainly this was true ever since the advent of the telephone, but there is a greater cost to using the phone that doesn't apply to email: emails can be replicated, CC'ed, forwarded, etc. They seem to almost breed on their own, whereas phone calls or other in-person communications proliferate at a slower pace.

Compounding this is our own natural desire to stay informed, which leads us to "live" in our email inboxes for the most of the day. We further continue our desire for connection to breaking news by enabling new mail alerts and popups and through obsessive blackberry-checking. The trouble is, none of these methods filter or arrange information. All notices, even spam, arrive with precisely the same urgency: Send me your attention and Read Me Now! Is everything that is so urgent also so important? Certainly not. And since your creative contributions are a product of your focus, it follows that when your focus is broken, it should be broken only for something more important than what you're presently working on. This is simply not possible to maintain if email guides your activity.

Let's refocus toward what's important and eliminate interruption.

We can admit that ignoring email entirely isn't reasonable, but we can decide to be deliberate about checking it. If you've read the articles listed below by David Allen, you'll recognize email as just another input to the "process" step. The decision to break from focus, to attend to sweeping inputs and processing them extends beautifully to email. First, turn off those "new mail" alerts, since you (rather than the email program) will be controlling the timing of interruptions. In Outlook, this is simple: uncheck the boxes that say "Play a sound" and "Display a New Mail Desktop Alert" when new items arrive. You can find those checkboxes on a dialog that will be displayed if you navigate to Tools/Options, click "Email Options", then click "Advanced Email Options...". With these two checkboxes disabled, you'll no longer be interrupted when new mail arrives. "But I might miss something important!". Chances are you won't, particularly if you check your email at appropriate intervals, non-compulsively, during the day. What you will miss are all the unimportant emails that are more likely to distract you from what you are working on, which is presumably very important.

Focus on the task list, not the inbox.

Once you're no longer interrupted by incoming emails, and have dedicated time to processing them, the next step is to turn your focus from your inbox to your task list, which will become your source of next actions. After all, if you're looking for what to do next, you'll need a comprehensive view of all that lies ahead, not just those items that are associated with email. It's probably safe to assume that not all of your work comes to you in the form of email. You most likely have items that you have identified independently. Isn't that the basis of creative initiative? Your next actions list becomes your dashboard, displaying all the items that require your energy. I find that Outlook's Tasks view is sufficient for my needs, although there are certainly other programs, or even paper-based systems, that can do the job. One key benefit of using Outlook's task view is that it can manage the items I unput myself, but can also very adeptly manage actions that derive from emails.

To fully facilitate working with emails as tasks, I strongly recommend the Getting Things Done plugin from Netcentrics. This plugin works with Outlook to facilitate processing of email messages under the guidelines David Allen suggests.

The GTD plugin can be downloaded for evaluation before purchase, and will remain functional for 30 days before you need to buy a license. There is no difference between the trial version and the fully licensed version. You'll lose no prior work accomplished during the trial when you enter the license code.

Installing the program is straightforward, but I have seen some users encounter some problems that aren't immediately apparent. If the program has installed correctly, you'll see a new toolbar added to your Outlook window.
And, in addition, you'll see that there are new view configurations available in the task pane.
If you don't see this, then check to see that the plugin isn't disabled by bringing up the Disabled Items dialog from the About/About Microsoft Office Outlook dialog. If it appears in the disabled items list, select it and enable it.
If that doesn't correct the problem, use the installed Admin Tool, from Start/All Programs/Getting Things Done/Admin Tool. Ensure the first box is checked. You may also need to refresh the plugin to get it to re-attach to Outlook.
You'll notice that several new folders have been created in your Inbox. These are meant to store messages that have been associated with next actions. For example, if you delegate a message, an @Waiting For next action will be created in your tasks, and the instigating message will be moved to the @Waiting For folder under the Inbox. There's seldom a reason to use the contents of those folders directly. Their contents are completely managed by the GTD plugin. You might find however, that having these items stored under your Inbox is confusing, or at least adds to the total size of your Inbox, making you approach storage limits sooner. Fortunately, you can tell the plugin to keep these folders elsewhere. From Outlook's Tools menu, select options, then select the Getting Things Done tab. You'll notice the default setting for "GTD Folder" points to your inbox.
You can click the ellipsis (...) button to specify a new location. I found it convenient to direct these special folders to an Archive mailfile that I keep locally.
When you press OK, the GTD plugin will move all the contents to the location you indicate. Note that this means you do not (and should not) ever move the folders manually.

Sunday, May 21, 2006

Making your trusted system portable

For those who opt for a paper-based system, portability is readily achieved. It's fairly easy to bring your notebook with you wherever you go. For those of us who prefer an electronic system, effectiveness is limited by where we can access the information stored within our trusted system. It may be easy to tote your laptop around, but if you have more than one computer, you'll soon pine for the same information available at any keyboard. There are four approaches to solving the problem in the electronic universe:

1. Store everything on a USB stick
I started here. The benefits are that the USB stick is quite easy to move around, but then again, it's also quite easy to lose. Even if I didn't lose it, I was uncomfortable about forgetting it. And, frankly, I found it tedious to have to unplug it and plug it in again as I moved about.

2. Do everything "out there" on the web
There is growing popularity, particularly in the reinvigoration of web-based services, many free, for storing your information out on the web. What's great about this is that you can access your information from any computer, there's little potential for losing the data (unless the company goes out of business), and there's nothing for you to carry around. Sites like Backpack are particularly popular. What I found unattractive about this approach is that it does not permit a seamless integration between those corporate services I use (like email) and my own system. Wanting everything in one place (single source of truth being a key tenent of a trusted system), it appears that until I can put everying "out there", I'm relegated to having everything "right here" on my computers.

3. Store everything in a common location
This is a slight variation on the strategy mentioned above, but focuses on files stored at some location that can be accessed from anywhere. A shared folder, made available to all your computers is the most obvious implementation. What's difficult though, is sharing a drive that can be accessed from outside firewalls. I can share a drive at home, but wouldn't be able to access it from a machine at work, and I'd be similarly restricted in trying to access a folder shared from my work machine while at home. Plus, there's the "airplane problem": if the machine I take on remote trips is not the master machine, then I'll have either no way to get to the real files, or I'd need to copy them to my machine, and be careful about manually synchronizing them. This solution has many problems, and is only marginally better than storing things on the web. I can use the files in conjunction with my local systems, but I'd still need a persistent connection to get at the files.

4. Store everything in a local folder that automatically gets copied to all my machines.
This will permit me to edit files on any computer, even if disconnected, so I wouldn't need access to a network in order to work. Storing files in a folder on my hard drive is pretty natural - all programs I use can save to the hard disk. The trick, then, is to ensure that if I make a change to a local file on one machine it gets copied to all other machines. To effect this, I'll need a program that can reconcile differences in folders, updating copies on other computers as I change a version on any other, deleting other replicated copies if I delete one on a single computer, and of course copying new files around. And, it must be agnostic of firewalls. There are several programs, including GoodSync mentioned below, that can operate behind a firewall where all computers are directly accessible, but as I mentioned before, my work machine and home machine are seldom directly visible to each other. What I need, then, is a service that is visible to all my computers simultaneously, outside all the firewalls, and able to "reflect" changes between machines.

The Solution: FolderShare

FolderShare is the only service I've found that completely satisfies the requirements for total reconciliation of files and folders that are not directly connected. The company that produces it was purchased by Microsoft, and the service is being integrated into Windows Live. (As I write this, FolderShare is still completely free.) FolderShare works by installing a small service on each machine that has content you wish to synchronize. It monitors the folders you specify on each machine, and when a change is noticed on one machine, the service on that one machine alerts the FolderShare server at Microsoft, which then alerts your other machines to make the corresponding change. A nice benefit of the solution is that it encrypts data travelling between machines, adding security when not all machines are protected in the same network. FolderShare is very clever about propagating changes - not all machines need to be powered at the same time for the files to be kept up to date. Suppose, for instance, you have three machines, A, B, and C. Suppose you make a change on A; the changes are immediately propagated to B and C. But what if "C" is off? When it powers on and the service automatically begins as part of startup, it will contact FolderShare and receive the change. But even more interesting is "chained" propagation. Again, suppose I make a change to A, but C is off. The change will be propagated to B. If I turn A off and turn C on, then C will get the update from B! This is precisely the scenario I have in my environment. I use a laptop at work and a different one at home, both of which I turn on and off all the time. I have also a desktop machine at home that I keep on all the time. In my environment, the desktop acts as machine B in my example - I can turn my laptops on and off and they'll automatically synchronize with my desktop if they cannot see each other directly.

Here are instructions for setting up FolderShare:
  1. Begin by creating an account on the central FolderShare site to manage the connections between identical folders on your machines (think of the FolderShare site as a hub and your machines as spokes).
  2. Next, download and install the client software on every machine you wish to keep synchronized.
  3. When you install, you'll be asked to connect to the FolderShare service using the credentials you selected.
  4. You'll also be asked to name your machine, for identification during management activities you'll perform at the FolderShare site.
  5. When the service is running, a FolderShare icon that looks like an "F" will be placed in your system tray.
  6. Before you go further, you'll want to plan what you want to keep synchronized between machines. After some experimentation with different strategies, I chose to create a folder called "Common" in the "My Documents" folder on all my computers. (It's a good idea to create this folder in the right location on all your machines before you proceed. You don't have to, but the directions I give below presume you have.) Since "My Documents" is presented in most File/Save and File/Open dialogs, as well as being readily accessible from the Windows Start menu, this seemed like a very convenient location. It's easy for me to separate those files I want to share across all machines, which I put into "Common", leaving those I'd rather have exist only on one machine in "My Documents" proper. Don't get over-ambitious about what you store in "Common"; you should not store company private information there if it's not allowed off premises; similarly, you should be wary about storing seriously personal information unless you trust all machines to be secure. I'd also recommend against trying to store your Outlook mailbox there, as tempting as it might be to have that available on all machines.
  7. Once you've installed FolderShare's client software everywhere, it's time to tell the central service what to synchronize. All such tasks are done at the FolderShare website from your account. Login to the FolderShare site using your selected credentials. You'll see your own "My FolderShare" page. Press the "Synch My Folders" button.
  8. Although FolderShare suggests several folders that you might wish to synchronize, I prefer to specify just my one special "Common" folder. So, hit "Specify Folders to Sync".
  9. In order to find the folder, FolderShare needs you to select a device where it can be found. I'll start with my machine named "shuttle".
  10. Again, FolderShare presents some default folder choices, but I'll prefer to "Specify a Folder" instead.
  11. By clicking the appropriate links on the page, browse to your "My Documents" folder and enable the radio button that corresponds to your "Common" folder. When you do so, the "Next" button will appear. Click it.
  12. The "Common" folder will now be added, and you'll be asked to associated this file with another device. In my case, I chose to next associate this with my laptop named "wafer".
  13. If you want the folder to appear in the same location on the second machine, you can choose the "My Documents\Common" that FolderShare suggests.
  14. Repeat this step for any remaining machines. In my case, I have only one machine left called "work". If you don't want this folder copied to all machines, you can click "Finish" when you're done.
  15. Finally, you must provide a name for this set of associations between folders and machines. I chose "Common" to match the name of the folders. Click "Complete Setup and Start Synching" when you're all through.
FolderShare has two other interesting features that I'll mention without elaboration:
  1. Your libraries are private by default, but you can make them public, meaning anyone can sync to them. If you enable this option, but restrict the synchronization to only "publish" your changes to other clients without receiving theirs, then you can update your friends' computers with your files without manually copying them or sending those files via email. I use this to "send" pictures to my parents, for example. My parents subscribe to a folder I've made available to them, but I don't allow them to make changes to my copy. When I add pictures of my son to the folder, they automatically get copied to his grandparents' machine.
  2. From the FolderShare site, you can browse for files anywhere on any of the machines where you have the client running, regardless of whether the file was shared or part of a library. This is particularly useful for when you need to access a file that is not in your "Common" synchronized directory - like a file at work that you might have forgotten to bring home.

In particular reference to some of the earlier entries in this blog, I should mention that I share my RoboForm logins and my EverNote files using FolderShare. This way, logins I create on one machine are available on any other, and, with EverNote being synchronized, I have my notes available wherever I have access to any of my machines. Keeping RoboForm in sync requires that you move your "My RoboForm Files" folder from "My Documents" where it is stored by default into "My Documents\Common". You'll also need to use RoboForm's Options dialog to tell RoboForm where to find the new location.Synchronizing EverNote files is slightly more involved. You'll want to move only your Database files into the Common location, leaving the XML backups where they are. Move the entire Databases folder to Common, ensuring it contains four EverNote files with the extensions ".enb", ".eni", ".enl" and ".enr". As a further restriction, since EverNote keeps the database files open as long as it is running, you must be certain to run EverNote on only one machine at a time. If you do not, FolderShare will not know which copy of the EverNote files is the real one, and will likely copy the wrong one, leading to lost work. Religiously following the rule of one EverNote instance on one machine at a time will steer you clear of disappointment (although there are always backups, in My Documents\My Evernote Files\Backups by default, in case you really blow it).

Tuesday, May 02, 2006

I Forgot My Passwords


I've accumulated quite a few logins and password for websites. Given the different restrictions that websites have, these credentials quickly became a jangled mess. I found it increasingly difficult to recall the often peculiar username and password that I had used for any given site. To ease the burden of memorization at one point, I wrote them all down. No matter how safe I could make my these notes, I still felt uncomfortable about security, and was aggravated each time I needed to log in somewhere since I was constantly referring back to that list, sometimes to find that I didn't have a login yet, or simply forgot to record it. I also tried to simplify the passwords I used, employing my "good, strong one" for sensitive stuff, and another one for sites I didn't care so much about. This too seemed like a bad idea, since guessing one of my passwords would let someone access all the sites that used it. There are other tricks for remembering or creating passwords, but I began to feel agitated that I had to create and remember so many passwords at all.

Then I discovered RoboForm.

Combining three important features together, RoboForm is a powerful time-saving tool. First, it will store all your personal information that you might use to "register" for sites, or fill out address information, or, in fact anything else that you might enter often enter into a form. Second, it stores all your logins and passwords for all your websites (it'll even help you generate passwords). Lastly, it can associate specific things to fill (like credentials) with specific URLs. Taken together, I can log into any site by just selecting the appropriate bookmark within RoboForm - it does all the rest automatically. RoboForm secures all this using just one master password.

RoboForm runs as a small program in the tray (down by the clock), and also installs a new toolbar into Internet Explorer and Firefox.

When you visit a new site, one to which you've never registered, RoboForm can fill the fields for you by using an "identity" you've established. Within an identity, you can store as much or as little information as you like. You can go for the simple name and email address, or you can store complete information including addresses, phone numbers and credit cards. When you come upon a web page with a form that requests any of this information, you can have RoboForm fill it in for you intelligently.

Many sites today enable you to select your own password. Since RoboForm will remember these, there's no reason to choose similar passwords for multple sites, or even a password that you'd naturally remember. In fact, RoboForm has a little utility built into it that will generate strong random passwords for you.

When RoboForm sees you enter your site credentials for the first time, it will offer to memorize them.

Each set of site credentials is stored on a "passcard", which you may directly edit if you ever change your password, for example. These passcards are normal files, stored in a normal directory.

All passcards are all encrypted by a master password. This will be the only password you'll ever have to remember, so you can (and should!) make this one very difficult for someone else to guess. This master password must be entered occasionally to enable RoboForm. You can choose how often RoboForm will ask you for the master password.

All of the passcards are arranged in a drop-down menu available from the tray icon, or from menu in the browser. They work just like smart bookmarks: selecting one takes you to the right site and logs you right in.

RoboForm will also suggest an appropriate passcard for a site you may already be visiting.

RoboForm also allows you to store "SafeNotes", which are like secure Post-Its, encrypted using the same master password as your identity and passcards. I find them useful for storing sensitive facts not associated with me in particular or with any one website.

There are many password managers available out there. Many do not have direct browser integration, or require more than one click to select and login to a site, or restrict what you store to username and password (I have some sites that also require a third or differently named item like "account number"). From those that I've tested, RoboForm has the best integration into browsing and most flexible, intelligent support for the types of forms I encounter.

RoboForm can be installed, and/or it can also operate portably from a USB stick. PassToGo (RoboForm portable) is fully compatible with the desktop version or can be used alone. Supposing you stored your passwords on a USB stick with PassToGo, then when you insert the stick, the program will launch and you'll have access to your cards, securely, on any machine until you remove the stick.

As an alternative to storing your RoboForm data on a portable device, you can also use the free companion program GoodSync to synchronize your data (identities, passcards, safenotes) between machines.

For me, RoboForm accomplishes this:
1. Removes the need to remember all but one password.
2. Enables me to choose very secure, different passwords for sites.
3. Replaces bookmarks with much more intelligent auto-login passcards.
4. Makes rotating passwords for security far less inconvenient.
5. Stores other information that I frequently enter into web forms, like my address.