Ben Crowder / Blog

Blog: #momentum

Since the phone is now the window to the soul, here’s my current home screen:

iphone-home-screen.png

Things of possible interest (or more likely imminent boredom):

  • 30 Seconds is a system shortcut I made that starts a thirty-second timer, which I use for my physical therapy exercises morning and night (I used to use a third-party app until I realized I didn’t need one)
  • Projectile (an app version of my project tracker), Bookshelf (reading tracker), Slash (blog engine), Storybook (writing app), Momentum (time tracker), and Liszt (to-do list) are all PWAs I’ve built
  • While it’s kind of weird (they’re the same exact app), I love that Marvin SxS is on the App Store alongside Marvin; I use the dark-background Marvin for fiction and the white-background Marvin for nonfiction
  • From left, the three bottom apps in the dock are Codex (notes app), Saturn (launcher), and Gate (Drafts clone), which are also PWAs I’ve built, and clearly I have a problem
  • I currently have 136 tabs open in mobile Safari, and clearly I have two problems

Reply via email or office hours

We’re overdue for some kind of general life update, I think. Weeknotes-that-are-not-weeknotes:

  • The health issues I referred to in May are still largely unchanged, though I’ve come to terms with it enough that I should probably stop using it as an excuse for lower productivity. (I do need to rest more than I used to, but I also feel like I’m spending proportionally less time making things than is warranted. I’m now tracking my time using a completely rewritten version of Momentum, so I should hopefully have more actual data to work with soon.)
  • We’ve also had a month of worrisome family medical issues (including two late-night ER visits) that have been weighing me down.
  • On the plus side, I got some lab results that finally motivated me to start exercising more and make real changes to my diet. I’m three weeks in and the lifestyle adjustments seem to be sticking. Fingers crossed.
  • The rising case counts and Delta situation certainly is discouraging. My faith in humanity in the aggregate has eroded significantly over the past year and a half.
  • In spite of a spectacular lack of public results, I’m still writing, slowly. (Much more successful at avoiding it.) In the middle of figuring out a process that consistently gives me a) results that b) don’t make me cringe.
  • I’ve been trying to keep artmaking to the weekends so I have more of a chance at making progress with my writing, but it doesn’t seem to be working as well as I’d hoped.
  • Another thing I’ve been itching to do is get back into making web-based art tools like Cirque (which needs a lot of improvement). Several ideas here I’m excited to work on.

Reply via email or office hours

Momentum intro

Another entry in the neverending series talking about my personal productivity tools.

Momentum is my daily goal app, for keeping a goal chain/streak going. It’s a Python app running Django. The name comes from the momentum that a long streak gives.

Overview

Goals can be either binary flags (whether I did it that day or not) or timed (in which case Momentum keeps track of the time spent). The default mode is focus mode, which shows only the top unfinished goal at a time and looks like this (with dummy data):

momentum-1.png

The thin red line along the top is a progress bar showing how close I am to finishing my Momentum goals for the day. The red boxes show the last few weeks of the streak, the green box at the right is the button for saying I’ve completed that goal for the day, and the blue text under the goal name shows how long the total streak is.

When focus mode is off, it looks like this:

momentum-2.png

You can see a partially completed timed goal along with a binary goal. Momentum also supports ignoring goals for Saturdays and/or Sundays (the gray boxes among the red), which I use for things I don’t usually do on the weekends.

When the timer on a goal is running, the favicon changes and the page looks like this, with the pink box at right showing the elapsed time for the current session:

momentum-3.png

(The idea with the timer is that it may take multiple sessions spread throughout the day to meet the daily goal, by the way — if I wanted to make sure I spend an hour writing each day but don’t usually have time to do it all in one block, for example.)

How I use Momentum

On my laptop, I have Momentum open in Firefox as a pinned tab. On my phone, I have it saved to my homescreen as a PWA.

I use Momentum every day for my morning routine, primarily on my phone. The goals I put into it (as opposed to just adding things to my to-do list in Liszt) are things I want to do each day and, to some degree, are things I might not do if I didn’t have a streak pushing me forward (thus “Momentum”).

The future

I’m happy with the app as it is, but I’ve been thinking about merging it into Liszt, since goals like these are fundamentally to-do items. (Every morning Liszt already automatically adds all the items in my ::streak list to my ::today list, so that I can work off my to-do list without necessarily having to go back to Momentum as much.)

Giving Liszt items the ability to be timed is already in place with belt mode, so I’d just need to add the ability to keep track of both partially finished goals and total streaks. Seems worthwhile.


Reply via email or office hours

Momentum

I’m getting back into blogging about in-progress projects, because otherwise I hardly blog at all. Expect posts soon about the following coding projects, all at varying stages of completion:

  • Vinci (notebook app)
  • Bookshelf (successor to Bookkeeper)
  • Codex (successor to Unbindery)
  • Quill (successor to Codex, sort of)
  • Storybook (writing app)
  • Speed (desktop writing app)
  • Liszt (todo list app)
  • Endless (mindmapping app)
  • Botswana 2 (revamp of Botswana)

Brief sidenote: I switched a while back to Python/Django, and I’m very glad I did. I can often get to a working prototype within only an hour or two. Back in my younger days I wanted to write everything myself from the ground up, but I see now that I was foolish. Life is short. I’d rather focus on the interesting parts — the app itself — and let the framework handle the routine grunt work.

Momentum

Momentum is the app I’d like to introduce today. It’s a web app written in Django, started back in January to help me track my goals.

More specifically, I wanted something that would help me spend more time reading scriptures and writing fiction. I don’t always have a free half-hour, though, so I needed something to track little bits of time throughout the day, and Momentum was born. I’ve been using it pretty much every single day since then.

Here’s what it looks like on my phone (with dummy data):

momentum.png

Some quick notes:

  • It currently supports tracking minutes, times, or words per day.
  • When I reach a particular goal, it disappears from the list for the rest of the day so I can focus on the goals I haven’t yet reached. (This is a change I made last night, actually.)
  • If I don’t make any progress toward a goal at all within a set time period, the goal goes stale and turns red. (There’s a system-wide stale period setting and each goal can also have its own.) I started using this staleness idea in Bookshelf (more on that in a later post) and it’s been motivating enough that I ported it to Momentum.
  • It supports folders. I have Projects and Health folders, where I have specific projects (stories/apps I’m working on), and things like squats and pushups.
  • Right now you have to add/edit goals via the Django admin. It works but isn’t as nice as something in-app. I just need to get around to doing this, since this is the main thing keeping it from being releasable.
  • The code is on GitHub as usual. Again, this is unreleased, in-progress code, YMMV, grain of salt, etc.

Reply via email or office hours