I do a lot of gardening these days. I am not talking about the physical kind (I am not as cool as Joe Hewitt!), although I do find myself wondering why we have so many lawns instead of veggie gardens.
The type of gardening that I do is splitting up flows as I use online services, mainly because of my heavy use of mobile. I think that many of the services that I use could benefit from thinking about to let users deal with their own gardening.
When I get a thought (a note, or a task to do) I try to capture it immediately. I may be at my computer, but I will definitely have my phone in my pocket. I fire up Asana and tap to add [+].
ASIDE: I have a love / hate relationship with Asana. I love how I have been able to contort it to be a personal database vs. the “team productivity” tool that it has become. I dislike various parts of the experience though. The relevant frustration here is that it doesn’t work well offline. This means that I have to use an alternative workflow when connectivity is poor, which results in me: a) inputting into a local note named “Add To Asana”, and b) when online again move the info into Asana. This is an act of gardening itself!
If I have time I make sure to put in as much information as possible. I fix typos. I make sure the data is in the right project. I tag the content appropriately. I attach images. Chances are though that I don’t have time to flush things out to my liking, and then the name of the game is to get the minimal info into a task. This thought could happen at any time, which may mean using voice input hands free.
Once the core information is captured I send it up as a “task for me”. This is my garden in Asana, the garden of new tasks. The benefit of getting something down on paper, is that my mind is free to move on. It also means that I got the information out of my head into my system without forgetting it.
More applications should not only have a trivially fast way to get input into their system, they should understand the need for partial incomplete information.
At a later time I do the act of gardening. I will go through the weeds that are the new tasks, flush them out and file them. I wish weeds didn’t grow, but rather than ignoring that they do, I have a process to deal with them.
I often hoe the garden on a mobile device, but when at my desktop I can get the power tools out. This is a somewhat obvious but interesting to think through in your applications. How does your mobile application help garden? How can your desktop application (including your website) do even more?
The third stage is often the actual reaping. This is where you do work that uses the data that you input. It could be that the input stage is enough (e.g. you sent the email) but generally there is more work to be done.
One example at the top of my mind these days is my spaced repetition learning system. Here are the stages:
Ah! I should remember this. You are having a conversation where something comes up. You don’t want to wander off to get all of the data into the learning system perfectly, so you through in “remember Bob loves cherry pie” into the garden.
When it is time to garden you go through and create the appropriate questions and answers for the knowledge about Bob.
- “What type of desert does Bob love?”
- “Who loves cherry pie?”
- “What should I bake Bob for his birthday?”
You notice there are multiple questions pointing to this one piece of knowledge. I have found that this drastically improves my ability to learn. More connections for the brain.
I tag this knowledge with $Bob, #pie, #birthday, #food and place it in the “People” knowledge collection. Since I am on my desktop application I grab a photo of Bob and cherry pie to add visual connections to the mix, adding to the neural connections. Who knows, maybe I will dance on my left leg to add some movement connections too!
I have time set aside every day for the actual act of studying my content.
Setting Aside Distinct Times For Stages
I have found it very useful to split up the type of work into separate time periods. I used to set aside time to look through Twitter and various technical content. I would find that I would quickly go down a rabbit hole and the time would get sucked up with whatever that rabbit hole provided.
Now I have time to capture content, which involves me going through Nuzzel, Medium, Twitter, TechMeme, and friends… adding anything interesting to Pocket. At a later time I have time to actually read content. At that point I can pick the content that looks the most important to me, and I end up spending time in better rabbit holes 🙂
Some kudos to Pocket. I love how they execute, and they just updated their application to suggest content, so I have another good source of great information. If I peak at my Pocket queue now I am reminded that there truly isn’t enough time in the day :/
Getting Things Done
Wait a minute, when I look at having my applications consider various stages and context for their user experience the above looks a little like GTD:
- Capture what has our attention
- Clarify what each item means and what to do about it
- Organize the results
- Reflect on them
- Engage with those.
When looking through UX wireframes it is easy to fall into the false mindset that the user is always linearly going through steps in a process flow from start to finish. “Ok, first they will create a new item, then they will fill out all of the information, then they will move it to the next step, etc etc etc”.
In reality the linear flow may be anything but. Information may come in asynchronously, via multiple platforms, from multiple people, and with many constraints (e.g. “the user has something on his mind, has people around her, but wants to get this infomation into the garden for later processing as quickly as possible”).
Another good example of where a “garden” area would help me with Asana is when you have multiple workspaces or organizations. As soon as this decisions is made your ability to quickly input something into the system is compromized. I can’t use the “tasks for me” hack, as I have to first make sure I am in the correct workspace. The net result is that I find myself putting raw info into the wrong workspace all the time.
Does your application support a gardening approach? Are there flows where enabling this will be helpful for your users?