Minimum Viable Editor


Atom, a new text editor for programmers, just got made open source today.

It's interesting mostly in that it's based on browser tech. They took Chromium, paired it down to a stand alone app shell, added node.js's libraries for accessing the file system, networking, etc, and then used it to make a text editor.

One thing that's really cool IMO is that given it's based on a browser you have access to ALL FEATURES OF HTML at your disposal. Where as most editors are designed to just display plain text in a single (possibly user selectable) font, a browser can display text in all kinds of fonts and styles, it can display images, it can draw dynamic images using canvas, webgl, svg, .. it can display video and play audio, etc. That's more than any other text editor I know of. So I'm really interested to see if anyone figures out interesting ways to augment a text editor using those features.

On the other hand, downloading it and trying it out made me wonder what's my bare minimum set of features I feel like I need to be productive in an editor. Maybe "productive" is the wrong word. More like "Yea, I'd consider switching". So, here's a random list for me.

I'm sure there's a bunch more idiosyncratic things that would pop up if I actually tried to switch editors but I think that's my MVE. Atom seems to be missing several of those though hopefully they'll get added. I'm a little worried that by design some of those might be hard in Atom. For example tagging in the background, can Atom handle multiple threads reading the same text or is there some other way to handle that? Maybe it happens in a worker? I have no idea.

What's your MVE?

Bitsummit 2014