rewrite status: September 2019 – it runs!
Hello, good people interested in my research writing software project! When I started in on this update, I was planning to send you a missive in two parts:
- A progress report, a.k.a. screenshots and some assorted commentary!
- An answer to the question: Why native apps?
But then I started working on actually writing this thing, and by the time I came back and rewrote this section the first section was sitting at a pleasant 500-or-so words (now up to about 900!)… and the second was over 1,000 words and climbing fast. So this week, a progress report! Then, sometimes in the next few weeks, the answer to that question (and a few more I stumbled into while drafting this update)!
So: evidence that I have actually started building this thing!

That right there is a picture of my iPad running the latest build of the app! It’s obviously a long, long way from being useful. That’s okay, though. After all, I only just started actually building in the last month! My goal is just to keep making steady progress. I’ve broken things down so that even in little blocks of an hour and a half or two hours, I actually make progress. It feels great! There’s a wonderful virtuous cycle there which makes it easier to keep going now that I’ve started and built up a little sense of momentum. The (tiny) items I’ve checked off my list so far:
- display a book reference
- display a list of book references
- make interacting with the list of book references show the individual book view
A tiny start for a big application… but a start!
(Developers or developer-adjacent folks curious about the more technical aspects of this process should keep an eye on the rewrite dev journal posts on my blog.)
I’ve also been continuing to think about the way I want the pieces of the app to fit together, and what the experience should be like as you use it. There’s nothing exactly in this space, which is freeing in some senses and stressful in others. I can crib good ideas from the various other writing apps, notes apps, reference management apps, and desktop publishing apps… but the whole raison d’etre of rewrite is that no one else has solved the problem of making all those pieces work well together! So: yes, I’m looking at Bear and Ulysses and noting what works well and what doesn’t in the, and of course I’m playing with literally every reference manager that exists (business expenditures? Looking at you, EndNote). But at the end of the day, I just kind of have to figure this out from first principles and good design sensibilities: information hierarchy, clear relationships, and a visual grammar that expresses those clearly to users.
In the nitty-grittiest level of detail, that means that my very next task is designing a viewing and editing mode for references—preferably, somewhat better than just “I don’t hate it.” This is harder than it might sound. For one thing, I need to design a UI that will work well on iPhones, iPads, Macs, and in web browsers. (And that will translate without too much pain to Windows and Android at some point in the future.) For another, it needs to work for all sorts of references: books, magazines, journal articles, blog posts, tweets (yes, tweets!), images, buildings (no, not joking about that), musical recordings, letters (“Personal Correspondence, July 16, 1884”), the list goes on. It needs to correctly handle places of publication and DOIs and URLs and dates (all the programmers reading this just cried out in horror), and names (you have no idea how complicated names really are)… while also being flexible enough to let the user define their own types of data for references .
The other players here mostly shrug at these problems: everything is basically just text. That’s not an exaggeration, and honestly it’s not even a criticism, exactly; that’s a reasonable way of dealing with this complexity. I think I can do better, even if saying so sounds almost boastful. But attempting that ambition means more work for me!
So while I’ll also still be building—because I refuse to let the perfect design be the enemy of the good process of actually getting more of the app built—I’ll be working on learning some design tools to prototype with, too, so that I’m not limited in my designs to either paper and pencil or to what I have learned how to do in the native app development world so far. You might get screenshots of prototypes soon!
Two thoughts in closing:
-
I’m curious: would any of you be interested in being able to see my progress on the tasks as I go? Note that this is at a ridiculously fine-grained level of detail—not so much a roadmap as a detailed task tracker for the development process.
-
I have some related thoughts about whether to simply develop this whole thing in the open, and indeed with a mixed-license open source model. I’ll come back to that in a future update!
Next time, I’ll be back with the promised answer to that question: why native apps?