Sunday, October 25, 2009

Tokyo Bay Timelapse

I finally got my shutter release timer from Hong Kong. It works great! Here is the latest attempt:

The original source video (sequenced from the original photos) was stunning, but I find I'm having a lot of trouble getting good quality output from iMovie '09. There are a lot of people complaining about it, so I guess it's iMovie and not just me. In frustration, I bought Final Cut Express 4, but it won't arrive for a few days so I guess we'll see the improvement in the next video.

I've seen a lot of other great time lapse videos on YouTube lately. There are a lot of really talented people out there. It seems to me now that the true secret is to think of it as a photo with some life breathed into it. The best time lapse videos I've seen would be beautiful as still photos. Adding the time lapse component just gives the photo a bit extra. Adding music, pan and zoom adds mood. But it should start with a beautiful and interesting photo.

Saturday, October 17, 2009

Time Lapse

I ran across mockmoon2000's YouTube channel a couple of weeks ago and started what may turn out to be an obsession with shooting time lapse videos.

Below is my latest attempt, shot with an old video camera hooked up to my neighbour Joe's Mac Mini in webcam mode, using open-source software Gawker to create the movie. I edited it using iMovie '09.



The resolution and image quality was not very good, so now I'm waiting for a timer shutter release trigger to be shipped from Hong Kong, which will allow me to use my Canon SLR to create higher-quality, smoother videos. So hopefully in a few weeks I'll post something really nice.

Enjoy. ;-)

Thursday, October 15, 2009

kill -3 to the rescue!

A basic and ancient weapon to keep close at hand when hunting down deadlocks and other weird threading issues in Java applications is the kill -3 command. I don't know of an equivalent on Windows, but if you are running on any flavour of Unix (including Mac OS X) it is available via the command line.

If you've never tried it, basically it gives you a dump of the stack traces of all living threads in the process. Despite the name, when you use the -3 option, it doesn't kill the process. This is handy if you want to take multiple snapshots a few seconds apart to see if anything changes.

Even better, it also shows you what objects have been locked, where, by which threads; and which objects are waiting for those locks. In no time at all you can find the source of the deadlock and do something about it.

I've only used this in development, but there's no reason you couldn't use it in production, provided your stdout and stderr are redirected somewhere you can see. Since it doesn't kill the process, it's entirely plausible you could find a workaround for some problems on the running system.

Monday, September 21, 2009

Extreme GTD Makeover

Most GTDers I know go through periodic changes of their systems, either by moderate incremental tweaks, or by the occasional, revolutionary, "back to the drawing board" re-think of their tools and methods. Personally I have done this with my Outlook-based GTD system 5 or 6 times in the past 3 years.

But my latest re-invention was by far the biggest since I started GTD. This time, I really think I've nailed it. What's more, for the first time, I have switched to paper. And I'm loving it.

Those who know me would never imagine that I would use an analogue tool for anything that has an even half-functional digital equivalent. (I have a accelerometer-based spirit level app on my iPhone for crying out loud - and I've used it!)

But like many others I have discovered some of the magical and practical properties of pen & paper. For example, on paper, if you suddenly notice an association between two things in a page of notes, you can simply draw a line or arrow to link them without having to think about how.

My new system, which I've been using for about a month now, is a return to GTD basics. I call it "almost-pure" because for the first time I am following almost all of the techniques in the book almost exactly, with just a few important modifications. So here it is:

Motivation

There were 3 main problems that drove the design of this system:

  1. The nature of my job has changed, taking me away from my desk for most of the day. I'm in meetings a lot, and needing to return to my desk to check my lists was driving my working hours way up. I needed a portable system, and iPhone apps weren't cutting it.
  2. Over 3 years, my previous GTD system had become quite cumbersome. I realised the overhead of maintaining it was getting in the way of actual work, again affecting my work hours. I needed an extremely lightweight system, that I could get up-to-date really fast.
  3. I found that many Actions were lingering on my lists, becoming less and less relevant as they aged. I needed a way to keep my system fresh and alive, where an important Action is not lost in the noise of numbed-out actions that had lost their meaning.

Ingredients

You will need:

  • 1 Calendar (for this, I still prefer electronic, for the ability to have pop-up reminders)
  • 1 Notebook
  • 2 Pens (different colours for notes, etc.)
  • 1 Highlighter (optional)

In your notebook you will need:

  • 1 Projects List
  • 1 Actions List
  • 1 Someday/Maybe List

Preparation & Set-up

Get a new notebook - fresh and clean. I like to give mine the Swiss Army treatment, by sticking a simple year calendar for this year and next year inside the front cover, and a list of phone numbers of people I call a lot inside the back cover.

Make sure your pens work. Nothing is more frustrating than having a thought/idea and not being able to write it down because of a crappy pen. I actually prefer a cheap, reliable, replaceable (read: losable) standard-issue office supply pens, but if you really love your Mont Blanc, use that.

At the top of page 1 of your notebook, write "Projects". At the top of page 2 or 3, write "Actions". I like to highlight both of these headings, to make them easier to find - more on that later. On the last page of your notebook, make a "Someday/Maybe" page.

Aside from your notebook, I'm going to assume you already have an electronic calendar with pop-up alerts set as default. I'll also assume you have the other standard GTD equipment ready: a physical inbox tray and "pending" tray, a filing cabinet set up as described in the book, a labeller if you're into that, and a clean workspace with as few distractions as possible.

Notable Omissions

There are a few things deliberately missing from my system, which are recommended by the book: First, I don't recommend using a "tickler" file. In 3 years of practising and reading about GTD, I have never once heard of anyone actually using a tickler file successfully. It is just a high-maintenance procrastination system, as far as I can tell. Second, I don't use separate Context-based actions lists. I just have a single, big list for all my actions. Third, I don't use a separate Waiting For list, either. More on this later.

Projects List

The first page in my notebook is my Projects List. I use it exactly as described in GTD - as a "stake in the ground" to make sure I don't forget the slightly bigger picture that my Actions List doesn't quite cover.

I write my Projects with a square box, then a one-line definition of the project outcome. I leave a 2cm margin on the left for the hard deadline of the project if it has one. When a Project is complete, I tick the box, and I also enjoy drawing a line through the text - both because it helps draw the eye to incomplete Projects, and also because it is immensely satisfying (one of the less-obvious benefits of a paper system).

Importantly, I don't do anything special to link Projects to Actions. I'm actually starting to think it's better not to have a strong link between them. There is not always a perfect vertical relationship there, so it's more flexible to not impose one. It turns out that if you have a solid Weekly Review habit, you don't need a linkage anyway.

I try to be very strict with myself to make each and every Project specific and outcome-oriented. Every Project I write down is an answer to the question, "How will I know when this is done?" And sometimes, "Why am I doing this?"

Also, I try to keep my Projects fairly low-level. There is usually no need to write down big projects here, since they are usually tracked by everyone on the team at some higher level. The "Projects List" could be renamed to "Commitments List", since it is really a list of commitments I have made to others, or to myself, to deliver something specific. In other words, it's the productivity equivalent of "look after the pennies and the pounds will look after themselves".

Actions List

The page after my Projects List is my Actions List. Most GTDers would agree that the pure definition of "Next Action" is probably the most important lesson of GTD, and so I try to be as pure as possible here. Next Actions should literally be the answer to the question, "If I decided to work on this right now, what would be the first physical thing I would do?" The best thing about this system, is that it has a built-in way to make certain that I am answering that question properly, which I will explain in the next section.

Like Projects, I write my Actions with a square box, then a 1-line (occasionally 2-line) description of the physical action. I keep it concise, but I also try to write down as much detail as possible, so there's no friction when I try to do the action. For example, if the action relates to an email, I put a reference to the email like this: (e: Duncan 8/13 14:35). I leave a larger, 3cm margin on the left, which I use not only for the hard deadline of the action (right next to the box), but also for the Context if it has one.

The margin is one of the important deviations from "pure" GTD. Even though I might have more than 200 actions on my Actions List at any one time, I don't split them into separate lists by Context. Instead, I just have one big list of actions, but I leave a margin on the left to write a Context if I need one. I find that it's actually easier to scan the margin for any actions I can do in my current context, than to try to find the right context list. As a bonus, I might also find some actions I can also do in my current context that I haven't marked as such. It's also easy to scan for actions that have deadlines drawing near.

When I complete an Action, as with Projects, I tick the box and draw a line through the entire action, including the context and deadline date.

Notes

I use my notebook for brainstorming ideas and meeting notes (always on their own page, and always dated) as well, so my Projects and Actions lists get interleaved with with notes as I go. This is why I highlight the "Projects" and "Actions" headings to make them easy to find quickly. I thought about other fancy schemes, like having Projects and Actions lists at the back of the notebook, with notes in the front; but in the end I just find it simpler and easier to let them mix up together (but never on the same page).

Any notes I have taken are essentially inbox items to be processed. Every morning I process my notes from the meetings of the previous day, extracting Projects and Actions as I go. When I've finished processing a page, I draw a big diagonal line through it, so I don't waste time looking at it again.

Action Lifecycle

Almost all of my Contexts are actually specific people - i.e. the person I need to speak to about something to move a situation forward. I always have too many commitments that I can handle by myself, but fortunately I have a team of people, as well as other colleagues, to whom I can delegate or request actions.

I noticed that many of my actions move through a predictable lifecycle:

  1. First, they are simply actions on my Actions List.
  2. Then, while reviewing my Actions List, I find actions that can be delegated to other people. I write that person's name in the left margin, and that then becomes the Context of that action (i.e. I need to speak to that person about it to explain exactly what I need them to do, and/or how I need them to do it).
  3. Finally, having explained the action to that person, it becomes a Waiting For. I simply write "w/" in front of the person's name (which is already in the margin). Next time I am with that person, if they have had enough time to complete it, I can ask them for the status.

This is why I don't need to have separate actions lists for Contexts, nor a separate Waiting For list. My big, single Actions List serves all three purposes, with a minimum amount of rewriting and maintenance overhead. It's so simple and easy. I love it.

The All-Important "Line"

This trick is probably the most important part of the system - certainly the most important deviation from standard GTD. I got the idea from Mark Forster (somewhere between DIT and Autofocus). It is known as the "Closed List", and it is a stupefyingly simple, yet phenomenally powerful tool for keeping the Projects and Actions lists fresh and alive, keeping the motivation up, and forcing the Next Action decision. I cannot stress enough how important this is.

After setting up this system for the first time, transferring all your Projects and Actions to the notebook, you simply draw a big line underneath your Projects List and Actions List, with the current date at the end. I like to make mine stand out, so I use a felt-tip marker for the job. From that point on, all new Projects and Actions are written below the Line. The lists above each Line are called the "Current Projects" and "Current Actions", and the ones below them are called the "New Projects" and "New Actions".

The idea is, I try to complete all of the Current Actions first, before the New Actions. When all of the Current Actions are complete, I draw a big, satisfying, diagonal line through the whole list, then draw a new Line below the New Actions and date it. At this point, the New list has become the Current list, and I have started a new New list. Same goes for Projects, although it will take longer than Actions to close off each list.

Note that I don't forbid myself from doing Actions below the Line - I just prefer not to, since I am motivated to complete the Current list so I can close off the New list before it gets too big. Strictly speaking, there are only 2 good reasons to do something from below the Line:

  1. it has a hard deadline very soon or today, or
  2. I am currently in the Context (usually, with the person whose name I've written in the margin)

I don't use the Line for my Someday/Maybe list, since it is essentially a random wish-list of things I would like to do, but I don't feel a strong commitment to getting it done. It's a place to go shopping for interesting projects or ideas when I feel the need.

Strange and Wonderful

The Line has a curious influence on my lists. Obviously, it works as a motivational tool - I want to draw that big diagonal line, and I want to close off the New list.

More subtly however, it forces me to re-evaluate the last remaining Actions on the Current list. When I only have a few left, it probably means there is something broken with those few Actions. Given that my notebook has 40 lines per page, if I only have a few Actions left on a page, I must have looked at them and deliberately skipped over them at least 30 times! There are only a few reasons for skipping over an Action so consistently, with simple solutions:

  1. Waiting For: If it is simply waiting for someone/something, follow up with that person for the status. If the only Actions left are all waiting, I will probably just rewrite them on the New list, but this is an extreme measure. If there are a lot of these and they keep resurfacing when I'm trying to close off my list, there may be another type of problem in the delegation area - a people problem.
  2. Low Priority: If I have been skipping over the Action because it is simply not that important, I need to ask myself if I will ever really do it, and/or if there is any commitment to get it done soon. If not, I can either just cross it off (I usually put an "X" in the box to indicate that it was dropped), or I can move it to Someday/Maybe.
  3. Consistently Avoided: If the Action/Project is important, but for some reason I have just been skipping over it again and again, it's very likely that I didn't do the GTD Processing step thoroughly - in other words, this is not really the true Next Action. In this case, I re-evaluate the Action as a possible project, or try to figure out what the real Next Action is. Usually, I find that there is another Next Action before this one, so I write the real one on the New list, and cross off the old one.

This is how Problem #3 above is solved - i.e. Bad Actions are evicted from my list, keeping it fresh and alive.

Weekly Review

Yes, you really, really, really need to do a Weekly Review. Every week. But the good news is that because this system is so lightweight, it now takes me just a couple of hours, where it used to take an entire day. A solid Weekly Review holds the system together - it provides the invisible links between Projects and Actions; it sorts out the good the bad and the ugly when it comes to the quality of my Actions list; and it gives me the freedom to let things get messy during the week, in the name of producing output, because I know that at the end of the week I'm going to clean up and get things back into perfect clean order again.

In short, a good Weekly Review habit replaces the need for a lot of structure in the system. And that reduces overhead.

Priorities and the Issue of Trust

The primary objective of GTD is to get things out of your head. Anything that is stored only in your head attracts stress to it like a magnet. Some people confuse this idea of getting things out of your head with forgetting. The objective is not to forget things. That would be absurd. The objective is to make sure that your head is not the only place important things are stored, so that if you did forget, it wouldn't matter. Knowing that you could forget something and it wouldn't matter demagnetises it, so stress cannot accumulate around it.

But for this to work, you have to trust your system. Sometimes, it seems like adding an important Action to a big list will let it get lost in the noise and forgotten, and this means I can't completely let go of the responsibility of remembering it. To remedy this, I occasionally use a highlighter to highlight the Action after I write it down. This way I know my eye will be immediately drawn to it as I scan my Actions list. This seems to be enough to allow my brain to relax and just trust the system, which is the point. Obviously, I try to use the highlighter as little as possible, otherwise it would stop being effective.

It's important to separate this from the concept of "priority". In GTD, we are encouraged to downplay priority (it is last on the list of factors to consider when deciding what to do at any given moment - Context gets the top spot). Priority is fickle. Priority is dynamic and shifting. Something may be vitally important one minute and just another thing to do the next.

Priority doesn't necessarily mean the sequence of doing things. It means that if you have 10 things to do, and you will only have time to do 7 of them, which 3 will you throw away? Using the Line, the great thing I have come to understand about priority is that I intend to do everything on my lists anyway - so priority is kind of irrelevant. As I scan my lists during the day, I will pick out something to do, which may not be the absolute #1 top priority of the moment every time, but it will generally be near the top. As my list gets crossed off, only the less important things will remain, and I will be in a big hurry to get rid of them so I can get started on my New list. I may decide to drop them, or relegate them to Someday/Maybe, or just get them done and out of the way as fast as I can.

Very often, I notice that I have highlighted something when I wrote it down because I thought it was super important in the moment, but later I realise that it really isn't. That's OK, because at the time, highlighting it allowed my brain to let go and allow me to move on, and that is the primary objective of GTD.

Sunday, July 26, 2009

Birthdays Calendar on iPhone

I finally figured out how to get the "Birthdays" calendar to show up on the iPhone! It's a bit of hack, but at least it's automated. Note: you need to be a MobileMe subscriber for this. I'm sure there's a way without MobileMe, but this is what I used.
  1. Right-click on the "Birthdays" calendar in iCal on your desktop Mac, and select Publish...
  2. Select Publish on: MobileMe and check all the checkboxes. Then click the Publish button.
  3. On the iPhone, go into the Settings app and tap Mail, Contacts, Calendars.
  4. In the Accounts section, tap Add Account... and select Other.
  5. In the Server field, type: homepage.mac.com/username/.calendars/Birthdays.ics
  6. In the Description field, type: Birthdays
  7. Leave Username and Password blank.
  8. Set both Use SSL and Remove Alarms to OFF.
  9. Save and exit the Settings app.
Unfortunately there doesn't seem to be a way to change the colour of the calendar, and on mine that means it doesn't match the green colour of the Birthdays calendar on my desktop.

Wednesday, June 24, 2009

Once-a-Day Email

This is the fourth post in a series on Extreme GTD.

I get around 600 emails a day at work. With a lot of hard work on automatic filters, I can get that down to about 300. I don't subscribe to any Internet mailing lists, so all 300 are real work emails.

The way I have learned to deal with this, without spending my whole day reading and replying to emails, is to process them only once per day. I find that this is easiest to do in the morning. I wake up very early, get to the office before anyone else, and power through the whole lot in one sitting. I also process my in tray and notebook. It takes about 2-3 hours to do it properly.

Then I close my email for the rest of the day.

You would think that this would be a problem, but it's surprising how little difference it makes to my interactions with other people. But it makes a huge difference to me. After my email sprint in the morning,

  • all my inboxes are empty,
  • I am completely up-to-date on everything that's happening,
  • all my next actions lists are updated, and
  • I have scheduled my actions for the day.

It's awesome.

Part of my secret for getting through email quickly is a view I have set up in Outlook* which is very similar to the "conversation view" in Gmail. (Any email application that allows grouping of emails by conversation/thread will work well, especially if it has the ability to show a small preview of the first couple of lines of text.) Since I don't read email during the day, all the conversations that I am CCed on carry on happily collecting into conversation threads.

As I go through my emails in the morning, it's very quick to see which conversation threads will probably not require my attention, and just delete the whole thread in one keystroke. Gone. There are also usually a large number of threads that could be important, but I just expand the thread and scan the preview lines. This is great for picking up when someone suddenly directs the conversation to me - the first line is "Will, Do you..." So this trick helps me whittle down 300 emails to about 100 fairly quickly. But the real beauty of this is that it's amazing how many conversations end by themselves without me needing to get involved.

I think people don't seem to notice that I'm only reading email once a day, because if I reply, it's usually before they arrive in the office in the morning, so no email goes unanswered for more than 24 hours. About 2-3 times per week, someone will ask me, "Did you see my email?" Although I have my Inbox view closed, I still have Outlook open, so I can quickly look if I have to.

My advice: Don't knock it 'til you try it. You might be surprised at how well this works.

* I will post about my Outlook GTD set-up in a later post.

Tuesday, June 23, 2009

Real Contexts

This is the third post in a series on Extreme GTD.

As I've mentioned before, the absolute key to GTD is Processing, which is thought-driven. Everything else, including Contexts, are just tricks. Contexts is a trick specifically designed to avoid thinking, or at least to minimise it.

So it is perfectly possible and acceptable to not use Contexts in your GTD system. In fact, I recommend avoiding Contexts in the beginning. You need to feel their absence in order to understand what they're good for, and how much you can get done without them.

The key to using Contexts effectively again comes back to effective thinking during the Processing step.

The trick I use is to ask myself, "What is stopping me from doing this next action right now?" there are three types of answers to this question:

  1. It's not really the next action. If so, I haven't finished the Processing step. Think of the next action and repeat.
  2. It will take more than 2 minutes, but otherwise I could do it right now. Great. Put it on the actions list with no Context.
  3. I need to be somewhere or with someone to do it, but otherwise I could do it right now. Great. That's the Context. But wait - there's a catch...

When I find an action in the third category, there is still some thinking to do. How will I remember this action when I'm with that person, or in that place? There's no point in adding the action to my Outlook tasks folder if I won't have it with me when I'm next there. There's no point in putting envelopes I have to post in my "Out" tray if I'm not in the habit of checking it before I leave the house. The key is to really think about what is the best way to remind myself of this action when I'm next in that Context.

One example of this that has worked really well for me lately is to use my notebook, which I carry around with me whenever I'm not at my desk. Lately, nearly all my time is in meetings away from my desk, so entering actions in my Outlook was pretty much useless, except for actions that could be done at my desk.

I use my notebook for capturing notes during meetings, and I always start a new page for each meeting, with the title of the meeting at the top, and the date. The difference now is that I start the meeting page before the meeting has happened - as soon as I have a next action that can be done at that meeting. Then, on the day of the meeting, instead of starting a new page, I go to the page I've already created, and there is the list of things I need to bring up.

The same trick works for people instead of meetings. If I need to speak to somebody to get it done, and an email won't do (really think about that choice), I start a new page for that person and write it down there. Then whenever I'm either one-on-one with that person, or happen to be in a meeting with them, I can flick to their page in my notebook and make sure I cover the actions.

The handy thing about the notebook trick is that I can write the results of those actions right there, and I will see those notes when I next do my Processing.

Another important point to note about actions that require a Context is that it's easy to use them as an excuse to not finish thinking during the Processing step. You know you've made this mistake when you see the action on an actions list but when you're there, you find you haven't got a good way to approach the subject. A warning sign is when the person you're talking to doesn't understand what you're asking them. To get around this problem, my trick is to mentally visualise the meeting, and try to think of the first few sentences I will say. That's usually enough to help shake out the real next action.

Monday, June 22, 2009

Missing iPhone API: Alerts

Imagine this: a TV listings app that can make your iPhone alert you with a sound when your favourite show is about to start, even if you don't have the app running. A to-do list app that can give you pop-up alerts when a task is due or needs to be started. A turn-by-turn directions app that can speak directions through the speaker/headphones and display a map image when you get to the right point in your journey.

The Calendar app can already do part of this - ie. it can pop up alerts at a scheduled time and play a chime. This API should be made available to app developers, and extended to include triggers based on location as well as time. And same as the Calendar alerts, they should include a button that takes you back into the app.

For example, OmniFocus for iPhone has an incredible feature called "Nearby", that will search your to-do list for actions you can do near your current location. But it would be really handy if it could proactively tell you, rather than only when you open the app.

It would also be really handy if you could configure the alert to use speech services to speak the text via the headphones if they are plugged in. (This is a general wish for all pop-up alerts, including SMS.) Because if the headphones are plugged in, the phone is usually in your bag/pocket.

Turn-by-turn directions apps would be useful for walking/biking/transit - not just driving. It would be great if they could let you use other maps and still alert you when you need to turn a corner. For this it would be very handy to allow display of images as well, like the new MMS feature in 3.0 does.

Sunday, June 21, 2009

How to Stop MobileMe from Deleting Trash After 30 Days

MobileMe email has the annoying "feature" that unlike Gmail, if you "delete" an email, it only stays in the "Trash" folder for 30 days.

Here is a simple workaround for this problem:
  1. Log into the MobileMe Mail site, and add a folder called "Archive" (or something else if you prefer). Move all your existing deleted emails in your Trash folder into Archive.
  2. If you use MobileMe with Mail.app, right-click your MobileMe Inbox and select Synchronize MobileMe. Your new Archive folder should appear somewhere on the mailboxes pane. Select the Archive folder, and then go up to the Mailboxes menu and select Use this mailbox for > Trash. On my system, it changed the name of the folder to "Deleted Messages" when I did this.
  3. If you use MobileMe on your iPhone, go into the Settings app and then Mail, Contacts, Calendars > MobileMe > Account Info > Advanced > Deleted Mailbox, then select your Archive folder.
This might actually make the new search on server feature useful!

Disclaimer: I just followed the above steps today. In theory it should work, but the above is untested. I will post a follow-up if I have any problems...

Friday, June 12, 2009

If Radiohead Made an iPhone Game

They'd make Eliss. This is really cool. A nice departure from the cartoon-like offerings that usually populate the top-ranking game genre for iPhone, Eliss starts by fooling you into thinking it was made by iPhone newbies who had travelled here on a time machine from 1981.

But secretly, it was made by visionaries of style from 2136.

Addictive.

How to Store Japanese Contacts in iPhone

I live in Japan. I have an iPhone. I speak/read/write Japanese, but my primary language is English. Here's how I store Japanese people in my address book in iPhone.
  • First Name: family name (since this is used first by Japanese)
  • Last Name: personal name
  • Phonetic First Name: family name in kanji
  • Phonetic Last Name: personal name in kanji
With this method, the Japanese name is visible in kanji in the main contacts list, but is listed alphabetically by the romaji version of their name.

GTD Problem: Knowing When Things Will Get Done

This is the second post in a series on Extreme GTD.

Part of GTD's power is having a complete and exhaustive list of everything that you need to do. Even though that list is usually huge, it's still very comforting to know that you aren't forgetting something while you get your stuff done.

However, one big problem I've found is that even if you trust that you will eventually get these tasks done, the reality is that most of the time, it is necessary to tell people (or at least to know) when they will be done.

GTD itself doesn't offer a solution for this. There is the Weekly Review, which in theory should give you the opportunity to figure out what will be done within the next 7 days, but most of the time I find that knowing when I will complete a task is most useful at the moment that I make the commitment to do it.

The solution I have been using for this is to schedule all my actions onto my calendar, effectively blocking out the time I will need to do it. This goes directly against David Allen's advice about treating the calendar as "sacred territory", but I have actually found it to be very useful.

The first and obvious benefit is that I know exactly when I will do the task. It also blocks out the time required to do it, so that other people (or myself!) cannot book meetings during that time, which protects the action.

Another, more subtle, but extremely important benefit is that it forces me to be realistic about how much I can do in a week. In my Weekly Review, after I have collected & processed all my stuff, I go through my actions list and one by one schedule all of my actions into my calendar. I usually leave a couple of hours a day open so that people can schedule some meetings with me, but this will depend on how many actions I have to complete during the week.

If I find that I completely fill up a whole week and still have actions left over, I am forced to make some tough decisions about my commitments. The choices are many: I can leave less time open for meetings, delegate some actions to others, re-negotiate or refuse some actions, or just simply decide that some actions can be left for the following week (a kind of mini-Someday/Maybe).

Re-negotiations can be made on-the-fly as the week goes on. If something unavoidable or urgent comes up, I schedule it as normal in the calendar, and then move the displaced action somewhere else. If there is no free space left in my week, I have the same choices as above.

An even more subtle benefit is that it removes the need to check my actions list during the day. Instead of completing one action, then having to scan through my very large list of actions to try to figure out what to do next, my calendar just tells me what to do. Zero thinking - which is ultimately the whole point of the GTD philosophy. At the end of the day, I am exhausted, but I have crammed all the "Doing" that is possible in a single day.

I actually find this is an important trick to help me to trust my system. The "trusted system" phrase in GTD is really key. If you don't trust your system, you will be reluctant to put your actions into it and truly forget them. For me, knowing that the action is on my calendar, and a little reminder will pop up when it's time to do it, gives me the level of trust I need to move on and think about the next piece of stuff.

One word of warning however: This trick doesn't work very well when I haven't done the Processing step properly - ie. I haven't really boiled down the stuff to the very next physical, visible action. If my calendar pops up and tells me to do something like "approval for software purchase", it trips me up. So far, I've been dealing with this by doing the real processing then, but if I have committed that the task will be done by then to someone then I also have to re-negotiate with that person, which uses up more energy.

I highly recommend this technique to anyone who has to tell people when things will be done. Do not ever tell someone that something will be done by a certain date/time until you have verified on your calendar that it can actually happen. Tell them you'll get back to them with an estimate if you need time to brainstorm/process. Otherwise you will just get stress for yourself and disappointment for the other person.

Extreme GTD

I've been using GTD for almost 3 years now, and although I've been on and off the wagon several times, on each iteration it gets better and more effective. And, just as the book predicts, each time I make an improvement in efficiency and organisation, I get more responsibility and work dumped on me.

Recently, due to some other factors at work, this has been taken to an extreme level. I'm working consistently 14-hour days, plus 8-hour days on Saturdays and Sundays. My calendar is blocked wall-to-wall with meetings from 8:00am to 6:00pm every day, up to a week in advance, and now people are just double-booking to see which meeting I turn up to. I get an average of 600 emails per day, and even after filtering for system-generated alert emails and such, it's still around 300 per day. At any one time I have about 100 active projects, about 4 of which are major strategic initiatives. And that's just my work life.

If this isn't GTD under extreme conditions, I don't know what is...

Recently, I've gone through another iteration of GTD detox, by listening to the audiobook version of the GTD book three times in a row, and I had an epiphany about GTD:

The only fundamental concept in GTD is to do all the thinking up-front.

All the rest of the book is just extra tips and tricks for managing the results of that thinking. You could almost leave all the rest of it out and still be effective if this one, all-encompassing rule is always followed. Of course, the other stuff is useful too, but this epiphany has led me to make some incremental, yet significant adjustments to my GTD system, to help me cope with the extreme conditions I am facing every day.

This is the first post in a series of posts I will be doing about the tricks and "ah-hah!" moments that are helping me survive. Here is a list of the posts so far:

Blogging via Email

 

Before I completely diss posting to blogger via email, I thought I should try it out first...

 

BlogPress Blogger client for iPhone

I found a very positive review of BlogPress, an iPhone app that can post to several blogging services, including Blogger. This post is my first attempt at using it.

So far, it seems a lot like posting via email - in fact the interface mimicks the iPhone email UI in a lot of ways.

One nice feature is the ability to control how images are inlined in your body text. Unfortunately however, there doesn't seem to be any way to add formatting (like bold or italics), or even to add links, except by hand-typing the HTML tags on the iPhone keyboard. :-(

Still, nice to have another option for blogging on the dunny. ;-)

Thursday, June 11, 2009

An iPhone Battery that Doesn't Suck

I just bought the Mophie Juice Pack Air for my iPhone 3G. Very nice. It combines an external battery with a hard case.

They say it roughly doubles the battery life of the iPhone, and makes the iPhone use the external battery's power first, so when it runs out you take it off and your iPhone is still fully charged. Thoughtful.

Obviously, it adds some size and weight to the phone, but only slightly more than most hard cases. It also maintains the look and curves of the iPhone inside, so it just looks like you have a large iPhone.

Another nice feature is the Mac-style battery status meter on the back, with the button and 4 LEDs so you can see how much power the external battery has.

It allows you to sync to iTunes through the case, but I wish its external USB attachment was a standard iPod 30-pin dock connector... Oh well.

Still, a very nice product, and not a bad price considering its competition.

Wednesday, June 10, 2009

The Neat Freak's Guide to Gaining Mastery Over Cables

If you're like me, you've probably got a large collection of cables and cords for connecting gadgets to other gadgets, that have slowly accumulated over the years. You've probably also got them all mixed and tangled up in a couple of boxes somewhere in your house.

I've made several attempts in the past to "organise" my cables into some kind of order, but that can be like trying to herd cats. They are awkwardly shaped, some are soft and pliable while others are stiff and hard to bend, they are all different lengths, they have differently sized plugs at their ends, etc.

Wire ties don't help much, since they only keep one part of the coil under control, while the rest can still get messy. And they do little to stop cables from getting tangled up with each other.

The solution: Cling Wrap. Yes, the stuff you use in the kitchen to wrap food before you put it in the fridge.

Step 1: Fold your cable to the length you want to store, and lay it down on some cling wrap (without tearing off the cling wrap from its roll).

Step 2: Start rolling the cable forward, wrapping it in the cling wrap. Don't worry about squeezing the cable into submission before you start rolling. Once you have got one or two rolls done, the cable is trapped.

Step 3: Squeeze the cable inside the wrap as you roll forward. Try to make it as compact as possible, and the wrap will hold it in that shape. If you've ever seen a spider catching an insect in its web, you will know what I mean. Each roll makes it more impossible for the cable to escape the tight, neat shape you've squeezed it into.

Step 4: Tear off the cling wrap once your cable is tightly wrapped and can't escape its clutches. Tidy up the loose ends, and voilĂ ! It's like shrink-wrapping your cables in a nice, neat tubular shape. If you want to make it easier to identify the cable inside, you can write on the cling wrap with a felt marker.

The beauty of this trick is that the cable is visible, so you know what it is, and the cling wrap can be easily ripped off when you need it. The cling wrap itself is almost worthless, so there's no qualms about wrapping and re-wrapping it again and again if you need to. It's also a lot easier to replenish your supply of cling wrap than those wire tie things.

Step 5: Get some shoe boxes or similarly sized plastic baskets. (Make sure they'll fit on your shelves or wherever you want to store them.) Categorise your cables to your heart's content by putting them in separate, labelled boxes/baskets. This will give you really fast access to cables when you need them, and keep them neat and tidy when you don't.

Extra tip: You can also use this trick to keep cables tidy when they're actually plugged into your gadgets (ie. basically to shorten them).

I hope you enjoy this tip. Post a comment if you do, or if you have another good trick for beating cables into submission.

Saturday, March 28, 2009

Extracting Value from Media

During my holidays I've been contemplating what to do with music, photos, and video footage. It occurred to me that most of what I do with media now is essentially catalogue & archive, and how incredibly pointless that is.

Music needs to be listened to, so for that, I bought an Airport Express (coolest device ever) and now I can really easily make use of my music in my house. I could of course listen to music on my iPhone, but usually I'm listening to podcasts on the commute. Maybe I should mix that up a bit more.
Photos are tricky to get long-lasting value out of, so I think speed is the key. As soon as possible after taking them, get them into iPhoto, delete the crap ones that I don't particularly want to look at again, do the Faces & Places stuff, edit them to make them interesting. Then, I do 3 things:
  1. Put them on a memory card so they can go straight onto my digital picture frame in the living room.
  2. Make albums in iPhoto and publish to Facebook, Flickr and MobileMe. Send an email from the MobileMe one to anyone who might be interested. Again, speed is key.
  3. If it's a really large set of photos, make a book - possibly multiple to send to people as presents. If the event was really not significant enough to spend money on, just make a slideshow video and send that to people instead.
Beyond that I think it's difficult to get more value out of photos. They're always there on the iPhone for casual browsing anyway.

Videos are killers, since they take up lots of space, and are surprisingly uninteresting in the raw footage form. Again, speed is key. I need to get them into iMovie, set myself a time limit, and just crank out an edited video as quickly as possible. I heard somewhere that as a rule of thumb you get about 5 minutes of usable footage from 1 hour of home video. I think with the new image stabilisation in iMovie it's probably more than that now, but still, the point is you don't get much.

So I have to extract something useful from it quickly, make a nice movie, and delete all the (now) useless footage to save space. (Actually I'll keep the footage around for a little while, in case I decide to make some changes - maybe just until next time I need to make a video.) Once I've got a video, upload it to Facebook and MobileMe, and tell people about it. It's also good to keep a copy in the iPhone to watch on the train or show people randomly.

 

Sunday, January 11, 2009

Visually find what's using up space with Grand Perspective

I heard about this great open source app called Grand Perspective (Mac only) for quickly and visually finding what files are using up the most space on your hard drive. It's simple, and does what it says. Here's a screenshot of the scan I just did on my root folder:

At work I've been using more and more into this idea of using visual techniques to analyse complex data, and this is a great example.

The problem with statistics is that unless you are very well versed in the discipline, it is hard to use them correctly, and even harder to explain your findings to others. But with clever visual representations of data, suddenly important patterns just seem to jump out. I think this is because the human brain is basically an incredibly advanced pattern recognition engine.

As I do more and more analysis this way, it seems like using computers to attempt to extract important facts out of data is a stupid waste of time. It's much more efficient and effective to use the computer to do the grunt work of presenting the data visually, and your brain to do the analysis.