FromScratch, the autosaving note taking app I built, just got another update: it now has additional search and replace functionality. It continues to do great in terms of downloads…
FromScratch, a simple but smart note-taking app
The way I kept TODO list no longer worked for me, so I built my own app that did: FromScratch. My ideal workflow is a rectangle I can alt-tab to, read and type in, and alt-tab away from. Anything more is too much.
FromScratch is the app that does this for me. It’s free and open source, and works on Linux, OS X and Windows. You can download it for free from the website FromScratch.rocks.
It does one thing: It gives you quick and easy access to some text. That can be a TODO, or notes, or whatever you like. Anything you type is automatically saved and text editing is made easy by some extra shortcuts for quickly ordering or removing lines and selecting your preferred text size.
It sounds simple, and as a result the app is simple to use. It works with you, not against you.
Out with text editors
Before FromScratch I had a todo.txt file that I always kept open in my text editor, Gedit. Gedit is awesome, because it has a native file browser in its sidebar. This makes the whole time-consuming concept of opening a “project folder” disappear. I recently switched to Atom however, which doesn’t have a native file browser. It has so much more that it’s worth the switch, but it also means I have multiple Atom windows throughout the day as I switch projects.
Keeping Gedit open for just a todo.txt wasn’t working for me. It forced me to remember saving every time I quickly updated it, and Gedit’s shortcuts weren’t as useful as my newly made custom ones in Atom.
If I create something new, it should be both smart and opinionated. I took a step back to assess what I wanted out of my note-taking workflow, and what an app needed to do to accommodate me. Turns out, surprisingly little! It just needs to do the right things. Like being fast and easily accessible, allow easy ordering and it needs to make sure my changes are saved without me having to remember to save.
Also I want it to remember where it was on the screen after I reopen it. It drives me up the wall me when apps don’t even take such a small and simple thing into account. I have no idea why operating systems don’t enforce it either. In any case, FromScratch will always revert back to its last known dimensions and position on the screen.
Now the technical part. FromScratch is built to experiment with Electron and React and as you can see on Github, it is really rather simple. I use Codemirror to do text handling, and based the project off of the Electron-react-boilerplate though my needs were much simpler, so I kept only a small part of it.
Oh, and I’m using the very pretty Fira Code font, as it gives ligatures for arrows and other programmatic symbols.
I got stuck once with a weird React + Electron combination bug that caused all pastes to be double, but @bitterzoet, A.K.A. Mark Mulder, helped me out by switching Electron api’s and the problem disappeared. Thanks Mark! :)
FromScratch 1.0.0 is the MVP that works for me, but I imagine it will expand. One obvious addition is versioning. FromScratch keeps a text file on disk so you can easily symlink it to Dropbox and have that take care of versioning, but given that it’s a single text file, FromScratch could just as easily just keep every version of it in a versioning system.
Another expansion I’d like is a nice way to have multiple lists, so I can split my professional and personal todo, or any split I’d like and still have all the benefits from the app itself.
So that’s FromScratch. I hope you try it out and let me know what you think and if it works for you. Or, if it doesn’t, how it could be improved.
FromScratch 1.3.0 was just released, and it features a couple of nice features: Checkboxes, Updated Fira Code and I fixed a longstanding issue for people using alternate keyboard l…
I recently gave a presentation on cross-platform tips for Electron at the Electron meetup in Amsterdam on May 11th. Update (19 sept 2016) The guys over at Avocode asked me to write…