I have extended my self-management (aka “time management”) system today, on my Mac at work. I now combine OmniFocus for day-to-day management, OmniOutliner for higher-level management, and a small homemade AppleScript script implementing a weekly compass à la Franklin-Covey. I am sharing that weekly compass implementation below, as I have not yet found any software implementing that, except for the software edited by Franklin-Covey, although I am convinced that it is an important self-management concept.
Background and problem
I have been a long time user of the Franklin-Covey (FC) method and tools for self-management, and particularly their Plan Plus software for Palm and Windows. Last year, I switched to David Allen‘s Getting Things Done (GTD) method, and to the OmniFocus software for iPod Touch and Mac.
I find GTD much more efficient for day-to-day management than FC’s daily to-do lists. However, I miss some of FC’s tools for long-term, high-level planning (Allen’s “20,000-to-50,000-feet” perspectives), which essentially happens during weekly reviews in both methods. OmniFocus supports weekly reviews of low-level actions very well, and Allen has recently focused more on those higher-level aspects in GTD in his book “Making it all work,” but FC is still more practical for long-term thinking. What I miss from FC is the integration of the reviews of missions, values, roles (areas of focus) into weekly reviews, and most importantly the weekly compass.
The weekly compass is a list of “big rocks”, i.e. important (but not urgent) actions, listed for each role / area of focus. A compass is defined for each week, during the weekly review. Covey calls those actions “big rocks,” as one cannot put them into his plan if it is already filled with non-important actions (“small rocks”). My personal roles include: Engineer, Friend, Scientist, etc. Stephen Covey recommends also always including a “Sharpening the saw” area, to include basic actions such as working out, etc. The weekly compass helps asking oneself, for each area, “What is the most important thing I can do in this area this week?”
My weekly compass implementation
So I have just bought a license of OmniOutliner, a very versatile outliner, to manage my high-level items (missions, values, etc.). It complements OmniFocus very well, but it alone doesn’t implement the weekly compass. Therefore, I have extended it to implement a compass that offers those features:
- focusing on this week’s compass (i.e. display only this week’s compass in a standalone window);
- creating a skeleton of a compass each week automatically from a list of roles / areas;
- keeping an history of previous weeks’ compasses, to consult during weekly reviews.
My weekly compass outline document has the following structure:
+ Latest compass + Role 1 + Big rock + Big rock + Role 2 + Big rock + Previous compass + Role 1 + Big rock + Role 2 + Big rock + Big rock ... + Roles + Role 1 + Role 2
Each week’s compass is a top-level section. Each section contains a subsection for each role, named after that role. Within each role section, each big rock is a leaf item. The compass sections are ordered in reverse chronological order (most recent first). The last section, named Roles, contains the list of roles, and is used as a template to create each new weekly compass. An initial document should contain only the Roles section, with one item for each role.
To create automatically the compass entry for the current week, I have written a small AppleScript script, using OmniOutliner’s scripting capabilities:
-- Copyright (c) 2009 Romain Lenglet -- -- Permission is hereby granted, free of charge, to any person -- obtaining a copy of this software and associated documentation -- files (the "Software"), to deal in the Software without -- restriction, including without limitation the rights to use, -- copy, modify, merge, publish, distribute, sublicense, and/or sell -- copies of the Software, and to permit persons to whom the -- Software is furnished to do so, subject to the following -- conditions: -- -- The above copyright notice and this permission notice shall be -- included in all copies or substantial portions of the Software. -- -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- OTHER DEALINGS IN THE SOFTWARE. -- tell front document of application "OmniOutliner Professional" -- Calculate the dates for the current week, -- i.e. last Monday and next Sunday: set startDate to current date repeat while weekday of startDate is not Monday set startDate to startDate - 1 * days end repeat set endDate to startDate + 6 * days -- Create a weekly compass section named after those dates, -- and insert it at the top of the document: set weekTitle to (month of startDate as text) & " " & day of startDate & ", " & year of startDate & " - " & (month of endDate as text) & " " & day of endDate & ", " & year of endDate set weekSection to make new row at beginning with properties {topic:weekTitle} -- Copy the list of roles from section Roles into the new compass: set rolesSection to item 1 of (sections whose topic is "Roles") set roles to topic of children of rolesSection repeat with role in roles set roleSection to make new row at end of children of weekSection with properties {topic:role} -- Create an empty big rock item into each role's subsection: set bigRockSection to make new row at end of children of roleSection set note expanded of bigRockSection to true end repeat -- Display only the new compass section in the window: hoist weekSection -- Collapse all except the new compass section: collapseAll set expanded of rolesSection to true set expanded of weekSection to true set expanded of children of weekSection to true set selected of child 1 of child 1 of weekSection to true end tell
This is the first AppleScript I have ever written, and I have been very impressed by the ease of use of AppleScript.
Installation and usage
To install this script, create a new script using MacOS X’ Script Editor, and paste the source code above into it. Save the script into the ~/Library/Scripts/Applications/OmniOutliner Pro folder. If you use the standard (not “Pro”) version of OmniOutliner, you must modify “OmniOutliner Professional” into“OmniOutliner” in the script, and save it into the ~/Library/Scripts/Applications/OmniOutliner folder instead. The script should have a meaningful name, such as Create weekly compass, as this name is displayed in OmniOutliner. Modify the document’s toolbar, by using the View / Customize Toolbar menu and dragging the icon for the Create weekly compass script into the toolbar.
Starting with this outline document:
+ Roles + Engineer + Friend + Sharpen the saw
clicking on the Create weekly compass button, in the toolbar, modifies the document into:
+ July 13, 2009 - July 19, 2009 + Engineer + + Friend + + Sharpen the saw + + Roles + Engineer + Friend + Sharpen the saw
and the document is focused on the new section, with the first big rock selected. It is ready for the weekly review!