Tried a few book tracking apps. None of them stuck. I don't really need any social features at the moment. Just want something that allows me to
- maintain an overview of the texts I'm engaging with
- gives me a little visual encouragement to return to the reading list
- allows me to keep a record of what I've read over time
- allows me to track some basic reading stats (time spent reading, time spent on a book...)
Sounds like a job that GoodTask can handle...
(Widget view of books in the "reading pile" on the home screen...)
(the Reading kanban board...)
(an individual book reminder)
...with a little assistance from Scriptable for the widget, Shortcuts, and Nomie for logging stats.
I won't go too deeply into the technical aspects/code (though I'd be happy to share if anyone's interested). The widget is adapted from this: https://www.reddit.com/r/Scriptable/comments/j79qiy/time_progress_widget/, and uses variables defined in the notes for each book (reminder). The reading board uses the tags #to_read, #reading and #inprogress; anything tagged with reading or inprogress shows up in the widget, and anything tagged inprogress (meaning "reading right now") shows up in the widget with a highlight colour so it stands out. Why? Because the associated shortcut logs time spent reading, and I have a bad habit of forgetting to stop timers...
So. From the widget, I tap the title of a book to open that book's reminder in GoodTask. From there, tap the "!START!" quick action. That adds the current date and time to the start of the reminder's note, and adds an "inprogress" tag to the end of the note, which automatically moves it into the "inprogress" column. Then I tap the URL panel at the bottom of the reminder to open whichever app I'm using to read that book (why no deep links, Kindle!!?) or skip that step if it's a physical text.
When done, I return to the book's reminder, tap the ellipsis ("...") on the URL panel and select the URL for the "stop reading" shortcut, or just run that same shortcut from anywhere in iOS. That shortcut basically does some time math (difference between the time in the reminder's note and the time at which you stop reading) and logs that info to Nomie via Nomie's API. The shortcut also resets the reminder by removing the start time and returning it to the "reading" pile.
New books are quickly created in GoodTask with a native iOS text replacement that instantly inserts all of the variable placeholders in a reminder's note field. I could probably do that with a GoodTask template— something to experiment with...
I'm also experimenting with start and finish dates. GoodTask can log both, obviously, but I can't access GoodTask start dates outside of GoodTask (as far as I'm aware), so I can't use it any scripts. I've defined a couple of variables for dates in the template, as you'll see, but I'm not using them properly yet— I'm happy to use the first date logged for any book in Nomie as its start date, and that's enough for now.