rewrite status: August 2019
1. I’m Highly Motivated Right Now
I have spent the last several weeks doing a lot of research and writing, as I have been teaching in my church—and it has been an absolutely infuriating experience. Not the teaching part, but the research part. Over the course of this project, I’ve used a mix of BibLaTeX for a reference library, Bear for my notes, and iA Writer and Ulysses and Byword for the actual drafting of the materials. Bear is a great little notebook, but the fact that there’s just zero integration with my reference management system has been annoying to say the least. iA Writer and Ulysses both do some things well, and miss out on things that are essential to me:
-
iA Writer round-trips external documents without changing the document’s contents at all. Ulysses transforms everything into its own custom syntax; you’re out of luck if you didn’t actually want it to do that. Worse, Ulysses tries to be too smart on its export functionality, which means that under certain circumstances, it removes things you’ve put in on purpose, even though that actually breaks your intended rendering.
-
iA Writer properly syncs with (and every bit of its functionality works identically when you’re using) a normal folder, including regular iCloud Drive folders, Dropbox, etc. Ulysses only gives you most of its functionality if you’re working in its little sandbox.
-
Ulysses has fantastic tools for setting goals and tracking progress. This is especially helpful when building out manuscripts for teaching, where there’s a time limit (which maps nicely to a word count if you’ve spoken enough to know your speaking rate). iA Writer has nothing in this space at all.
-
Ulysses lets you export groups of documents together easily. iA Writer makes you do this manually. But on the flipside: because Ulysses doesn’t play nicely with the local file system, it doesn’t play nicely with other tools, like Marked (which I often use as a live preview of what I’ve written).
-
Byword is arguably the best pure writing experience of the bunch… as long as you’re not working with code snippets at all; if you are, it doesn’t have any real support for you. It also doesn’t have any of the project management tools that iA Writer and especially Ulysses provide: it’s a single-document view of the world. For just getting things done in that document, it’s fantastic. For complicated projects with a lot of moving pieces… not quite so much.
For the writing aspect of rewrite, I have the incredibly audacious goal of getting all of those things right. I want the writing experience to be as fluid and lovely as it is in Byword (in which I drafted this very update!). I want the project management tools to be as rich as they are in Ulysses—goals, exports, you name it. I want the integration with the rest of the operating system and ecosystem to be as solid and correct as it is in iA Writer: if you work on a document in rewrite, only and exactly what you changed in rewrite itself should be changed by doing so.
In sum, working in rewrite should be a best-in-class experience as a writer—even if you’re not doing research! In truth, I’m amazed that none of the existing players in the market have gotten all of these pieces right, because it seems obvious. But of course: it’s also incredibly hard to do all of them. It’s not hard to see why Ulysses makes the choices it does around its sandbox and its text formatting, for example: they’re much easier to get right technically.
In any case… here’s to a high bar.
2. Progress, As It Were
A few other things I’ve been mulling since my last update:
- the writing syntax: Markdown, extended with richer semantics
- how to present the UI… without overwhelming users
Syntax
Research/academic writing syntax for the kind of plain text editing I want to do: I allude to this on rewrite’s “marketing” page, but I think it’s pretty clear that you need a number more options than plain-old Markdown offers—because emphasis, strong emphasis, headings, paragraphs, and lists are necessary but not sufficient. I regularly want to distinguish between emphasis, italicization, and citation, for example: even though those usually end up formatted the same way in a given target format, it’s not a given that they do.
The syntax…
-
…should be able to capture rich enough semantics to represent real-world texts, while still having a lower learning curve than something like LaTeX or AsciiDoc or ReStructured Text.
-
…should be an extension of CommonMark, so that people’s existing writing habits around Markdown don’t require alteration. (See comments above about Ulysses!)
-
…should only be enabled if you want it enabled. By default, you should just get a nice Markdown experience. The only exception to that will be for citation integration, which is, you know… basically core to the whole project in the first place.
UI Complexity
The idea of progressive disclosure of complexity is something I’m mulling on a lot in the user interface design. It’s obviously a factor in the design of the writing syntax, but it’s also something I’m mulling on a bunch in the app design itself.
This thing needs to be accessible to people who aren’t computer nerds. (Academics and journalists are all some kind of nerd, I think: it inheres in being a writer, if you ask me. But that’s not the same as a computer nerd.) If you’re a computer nerd, you can do everything this software will do (albeit with a lot of work) using command line tools. I should know: that’s where I got the idea in the first place! But it has to be easy to just start taking notes, to just start collecting references, to just start writing and using those notes and references, and then to publish your work. The app can’t get in your way at any of those steps. It can’t force you to learn its entire model all up front. It can’t force you into using a Zettelkasten style of notes development (even if it enables it). It has to be the kind of thing you can ramp up with if and as your comfort grows and your needs grow.
Conclusion
Basically, I’ve set myself some almost impossibly high bars. So be it. I’ve said from the outset this thing is going to take me a couple years, but I’m committted. September is the month when I start actually making UI prototypes in XCode. (Thank goodness the macOS and iOS betas are finally settling down!)
Thanks for your interest, and thanks for reading. Next time… hopefully some incredibly early prototype screenshots!