6200 comments
2357 subscribers
Follow me on Twitter (@sachac)
Subscribe! Feed reader E-mail

Quantified Awesome: Squishing my excuses

I’ve been fiddling with Quantified Awesome, this personal dashboard that I’m building so that I can keep track of what’s going on in my life and use that data to make it even more awesome. For example:

  • Tracking my time helps me make sure work doesn’t tempt me too much, and that I make time for both personal projects as well as connecting with other people. It also helps me improve my time estimates: How much time does it really take to walk to the subway station? How instant are instant noodles?
  • Tracking library books reminds me before they’re overdue, helps me collect my reading history, and gives me a greater appreciation for where my tax dollars go.
  • Tracking my clothes helps me remember to wear different types of clothes more often, makes it easier to donate items I don’t typically wear, and encourages me to try new combinations.
  • Tracking the produce we get from community-supported agriculture helps us avoid waste.
  • Tracking stuff helps me remember where infrequently-accessed items are.

It turns out that other people are interested in this too. 21 people have signed up through my “I’ll e-mail you when I figure out how to get this ready for other people” page, and my mom wants to use it too. That’s awesome!

Now I have to go ahead and actually build it so that other people can use it. That’s scary.

And like the way I deal with other scary, intimidating, procrastination-inducing things, I’m going to list my excuses here, so that I can shine a light on those assumptions and watch them scurry away like the cockroaches they are and, if necessary, squishing them with a well-applied flipflop.

  • Excuse #1: Idiosyncrasy. The way I work might be really weird, and other people may not be able to figure out what to do.
    • What’s the worst-case scenario? “I have no idea how this works!” I end up with lots of crufty special cases because I can’t figure out how to reconcile different ways of working.
    • What’s the best case? I adapt the system to the way other people work, and I get inspired by what they do. I build a lovely, flexible web app and API.
  • Excuse #2: Risk. I’m fine with loading my own data into an experimental system, but if I mess up and delete other people’s data, I’ll feel terrible. Also, they might trigger bugs.
    • What’s the worst-case scenario? Catastrophic data failure, nothing saved.
    • What’s the best case? Regular backups help me recover from any major mishaps, and careful coding avoids more common mistakes.
  • Excuse #3: Support. I’m going to spend more time handling bug reports and feature requests, and less time building little things that might be useful only for me.
    • What’s the worst-case scenario? People get annoyed and frustrated because I’m currently focused on other things, like my work.
    • What’s the best case? I get the system to become mostly usable for people, and I use my discretionary time to build more features. People’s requests inspire me to build more stuff and create more value.
  • Excuse #4: Documentation. I’ll need to write documentation, or at the very least online help. This means confronting the less-than-intuitive parts of the system. ;)
    • What’s the worst-case scenario? I describe what currently exists, get frustrated because I want to improve it, and end up cycling between updating documentation and improving the system.
    • What’s the best case? I describe what currently exists, and end up improving it along the way. I build online help into the system so that it’s easy to change. There’s a blog that helps people learn about updates, too.
  • Excuse #5: Offline access. A web-based time tracker might be of limited use if you don’t have web access often. I’ve been working on an offline HTML5 interface, but it’s still buggy.
    • What’s the worst-case scenario? Early testers try it out, but get frustrated because of the lack of offline access.
    • What’s the best case? I figure out the HTML5 offline thing. Someone else might be interested in building a native app, and we work together on fleshing out an API.
  • Excuse #6: Impatience. If I bring people on too early, they might get annoyed with a buggy system, and lose interest.
    • What’s the worst-case scenario? People give it a cursory try, and give up in annoyance.
    • What’s the best case? Early users are extraordinarily patient. We figure out a minimal viable product for each of them – the simplest thing that could possibly support what they want to do. Over time, things keep getting better and better. Also, I build a decent export interface, so even if people move on to a different system, they’ll still have their data.
  • Excuse #7: Privacy and control. A bug might accidentally expose people’s information, which is not fun. I also don’t want to have to police the system for objectionable content, considering the thumbnail uploads.
    • What’s the worst-case scenario? Someone’s private notes get accidentally published.
    • What’s the best case? People sign on knowing that I might have bugs, and don’t save any super-secret or inappropriate information on the system.

Okay. I think I can deal with that. So, what are the smallest, least-intimidating steps I need to take in order to get closer to opening up?

  • Write a quick test to make sure that people’s data will stay private. We’ll make people’s accounts private by default, although mine will stay mostly-public.
  • Make a list of things that people should be able to do right now. (Not including new functionality!) Gradually write tests to nail down that behaviour.
  • Make a list of things that people may want to do some day. Eventually set up an issue tracker.
  • Enable Devise’s invitable feature so that I can set up accounts for people easily.
  • Doublecheck backups.
  • Bring one person on. Then the next, then the next…

It will still be better than nothing, it will be a good learning experience, and participation is purely voluntary anyway.

One step at a time.

Short URL: http://sachachua.com/blog/p/23098
  • Hendy

    Out of curiosity, what do you use to track your time?
    – Writing it down, entering into QA later?
    – Org-mode clocking (if so, what do you do away from computer?)
    – Mobile app of some sort?

    Just curious. I’d love to track time but always wonder how to deal with the many “out and about” moments.

    Thanks!

  • http://sachachua.com Sacha Chua

    I use a combination of clocking it into Quantified Awesome as I do things, or making a note of it and entering it into Quantified Awesome later. Org-mode also automatically notes the time, so I use that to reconstruct times occasionally. I have to get around to working on the mobile version of Quantified Awesome again!

On This Day...

  • 2013: Imagining the next five years and planning 2013 — One of the assignments in the Rockstar Scribe course I’m taking through Alphachimp University (affiliate link) is to sketch where [...]
  • 2011: Sketches: If you want to make the most of your next conference, you should blog
  • 2010: Weekly review: Weeks ending December 27, 2009 and January 3, 2010 — Busy, busy, busy! From the previous week’s plans for the week ending December 27, 2009: Work Set up Idea Lab needed for January [...]
  • 2010: How I explore my interests — Looking for your passions? You might be starting with the wrong question. Except in rare circumstances, passion doesn’t hit people [...]
  • 2009: Hooray! Tax-free savings account! — To encourage people to save, the Canadian government created a tax-free savings account. You put after-tax dollars into it, and [...]
  • 2009: Ideas for making my work more effective and efficient, creating value, and rocking my work — Change to Ubuntu Set up virtual machine for my Windows partition Use Emacs to handle my mail? Hard to do calendar acceptance Set [...]
  • 2008: Working two jobs — “Next time I do this, I’m going to have to find a day job that isn’t this similar to my [...]
  • 2008: Tagging in Org – plus bonus code for timeclocks and tags! — The section on projects introduced tags as a way to differentiate active and inactive projects. In this section, you’ll learn more [...]
  • 2007: Deja vu — The Internet is still crawling. Takes me back to the days of BBSing, when you could type faster than the modem [...]
  • 2007: Hate is as useful as love — … sometimes even more so. I’m beginning to hate the stress I feel about this thesis. The best way to deal with [...]
  • 2007: Working through the funk — I felt tired this morning. Things weren’t working smoothly. It turns out that the Philippines is probably not part of the [...]
  • 2007: Whatever gets the job done — I should’ve tried dialing into the IBM conference center last night to confirm that our landline could connect to it. Had [...]
  • 2007: It’s nice to be missed! — Bryce Johnson e-mailed me to ask me why I hadn’t signed up for Enterprise Camp. I sent my regrets and explained that [...]
  • 2006: It’s official – I’ll be working on social search! — I’m thrilled to report that a large company has given the go signal for research on social computing. Social search, in [...]
  • 2005: Emacs channel chat logs — Also, if someone can help me set up logging (split into text files by day, please) for irc://irc.freenode.net/#emacs, I volunteer to summarize [...]
  • 2005: Looking for Emacs blogs — I’d love to read more about the wonderful editor/way-of-life that is Emacs. Know of any Emacs-related blogs? (Occasional off-topics are fine.) Please [...]
  • 2005: debian-installer Tagalog translation complete! — ([[OpenSourceInThePhilippines#note4][OpenSourceInThePhilippines:4]]”[[oss]]”[[l10n]]”[[Localization]]) Eric Pareja and other volunteer translators have finished the translating level 1 of the debian-installer into Tagalog. Please check out the [...]
  • 2005: A question of scale — ([[OpenSource#note2][OpenSource:2]]”[[oss]]”[[OpenSourceIssues#note2][OpenSourceIssues:2]]”[[ToBlog#note2][ToBlog:2]]) Open source allows people to work on an individual basis. Developers can jumpstart their projects by using existing code, creating [...]
  • 2005: xtla goodness ([[EmacsTips#note19][EmacsTips:19]]”[[emacs]]) — I used xtla to browse my TLA archives today. xtla’s bookmarks and missing patch summary made merging missing patches much easier. [...]
  • 2005: Planner cited as a reason to defect to Emacs — (PlannerModeMaintenance”[[GoodKarma#note2][GoodKarma:2]]) You point is well taken. I find myself living in an application more and more. At work, it’s my [...]
  • 2005: Ethical issues in open source — ([[OpenSource#note1][OpenSource:1]]”[[oss]]”[[OpenSourceIssues#note1][OpenSourceIssues:1]]”[[ToBlog#note1][ToBlog:1]]) One of my students e-mailed me asking for help finding interesting ethical issues in open source. Here’s the partial list [...]
  • 2004: Cat collar — That hated bell! Although it provided music for her every move, it stopped her from being sneaky – and being sneaky [...]
  • 2004: Counting in Dutch — - een kus, twee kussen - ik kus, jij kust, hij kust, wij kussen, jullie kussen, zij kussen
  • 2004: Factoid surprise — Looks like my bot implants are working. Remember that hack I added to ../emacs/bbdb-config.el to let me hippie-expand factoids? Earlier in #linuxhelp, [...]