I’m not sure what to attribute motivation to sometimes. Typically, there are two categories of things I do:
- Imperative things are things that are pressing, often involve strong obligations to others, usually have some sort of deadline, and the consequences for not doing them are stark.
- Percolating things are things that sit at the back of my mind and surface at unexpected moments. These things may involve obligation to others or promises I’ve made to myself (consciously or not). They may be constant for a season or surface intermittently. At some point, motivation strikes and I will quickly finish something. These things are equal parts frustration and satisfying. Frustrating in that they can go so long without getting done, but satisfying to the extreme when they are finished.
This week I finished one of those percolating things. I submitted a new version of Mind Vault to Apple’s App Store. Mind Vault is an app that helps you memorize passages of text. I created it 8 years ago over a 6 month period while commuting by ferry from Bainbridge Island to downtown Seattle. Despite never earning much, the app had served as a career booster for me as it spoke to my diverse skill-set as a designer who loves to build things. I had stopped dedicating time to the app a few years ago due to family, work, other responsibilities. As time passed and the features and expectations of iOS apps moved relentlessly forward, I meant to dive back in and get Mind Vault moving again. The design grew more dated every year.
I wanted it to continue improving. There were impediments of time, underlying technology shifts, the widespread adoption of Swift at the expense of Objective-C, and inertia. If I’m honest with myself though, the biggest roadblock was the roadmap I carried around in my head. There are some bigger things I want to do with Mind Vault and every time I would jump in I would try to start one of those bigger things, only to become demotivated as the scope of what needed to be done became apparent. My git repository is littered with abandoned feature branches. Coding is like a Russian Nesting Doll, there’s always another layer underneath. In order to do my big thing I need to prepare things at a lower level, or fix something I had previously gotten away with on the sly. This layer of work to even get started on the real work was overwhelming.
So when motivation arrived this week for Mind Vault updates, I decided to try a different approach. I’m going to bite off things a small piece at a time. There’s a lot of catch up and clean up to do so I’m going to start with that. Old stupid crashing bugs on the iPad? I’ve fixed the ones I could find. Deprecated APIs? I’m going to slowly update my code, removing cruft or small features along the way. Hard to find resources in Objective-C? I’m going to set up a bridging header file and task myself to writing some Swift. Desperately needed design updates? I’ll take it a view at a time, focusing on leveraging native technologies.
As I move through this process I’m going to try some smaller, more frequent releases. I will become more familiar with the product again and larger features will become more doable. In the meantime there will be a new version of the Mind Vault app in the store soon. It will be small, but it will be a start.