There are just some categories of software that are so basic, so old, yet continues to be not solved well, it boggles my mind. Two that come to mind are Notes and Email. Let me write about notes first, then email in a separate post.
It seems like everybody is treating notes like a sample app. It has to be there, but they aren’t taking it seriously or giving it much real thought. Apple has gotten closest, but it’s just not good enough.
Here’s what I want from my ideal note-taking app:
- Seamless syncing across all devices – iPhone, iPad, Mac, and web.
- Never lose any content. Ever. I’m serious. DO NOT LOSE MY CONTENT! This seems obvious, but none of the solutions I’ve tried manage to live up to this.
- Ability to make bullets, numbered lists, bold, italic. Don’t need to be able to change font, but it’s okay. Bold and bullets are critical for organizing the content of notes so they’re scannable.
- Paste should always paste with formatting, but WITHOUT font and font size – I always paste first into textmate, then into Notes, but I’d really like to keep bullets and bold and things like that, but why would I ever want to copy the font over? It’s just going to make a mess of my note.
- Make sure you can safely type first thing after opening up the app, or possibly open up and hit Cmd-N, or some other stable command. You have some brilliant insight. You want to write it down before you lose it. Thus it must be so that you can open Notes and very very quickly start typing your thoughts down, without risk of losing them or damaging some other note.
- Make it possibly to organize notes into projects. I like that all my notes live in some big “note soup”, but I also want to be able to pull out certain notes into a project and focus on that. Inside a project I want to be able to manually change their order.
- I like Google’s idea of “starred” conversations in Gmail or documents in Google Docs. I want the same for my notes. Starred notes, easily accessible from the navigation.
- Tags leave me cold. I don’t need them.
- Search. Let me find any note by content, easily.
- Undo history saved and synced for each individual note. So I type something on my Mac, switch to the phone, sync, and then hit undo, it’ll undo the last change I made on the Mac. Or I close the app, come back the next day on my Mac, and it’ll still undo the last change I made.
- When I open an existing note, sync that note first! Don’t just sync all notes in one big job, be intelligent about it.
- Make sync fast and robust. I don’t know if you’d need to keep an index of pending changes for each client on the server, or how you make syncing fast and robust, but whatever needs to be done is what needs to be done. This cannot be skimped on. At all.
- If you start typing in a note, then synced changes come in, try to be intelligent about the merge. And animate the merge, like Fantastical animates its parsing of your natural-language input. If an intelligent merge cannot be done, then leave the conflict in-line in the note, like in source code control, but show it more like Kaleidoscope, not with ugly characters like <<<<< and >>>>>>. Have a real sophisticated merge tool inline that shows when each change was made, from which device, so I have a chance to intelligently merge things. Again, the most important order of business is to NEVER LOSE ANY CONTENT!
- Extra bonus: Team features: The ability to share notes and projects with other people, both in snapshot mode (this version, no future changes), read-only mode, editable mode, and Google Docs-style being able to edit simultaneously.
What comes closest is Apple’s built-in Notes. It’s great, but it has some some critical deficiencies. Most important one is that if I open up Notes on my Mac and immediately start typing, then it’ll start syncing, and then it’ll delete what I just wrote. Why would it do that? It’s idiotic. It means if I have an important thought that I need to write down before it disappears, I’ll often open TextMate and type it in there first, then copy-paste it into Notes. Stupid.
The biggest missing feature is projects. I haven’t seen any notes app that has that, but it would be really really useful.
Simplenote seems like the right idea, but I’ve had problems with the sync, and they’ve messed up my notes. And even though I’m a paying customer, they don’t respond to my repeated support requests. Fuck’em! Also they don’t allow any formatting, and the apps available for the Mac suck.
Google Docs is a great tool as well, but it’s way too big and complex for just notes. We need something leaner, simpler.
Evernote is also a great tool, but their syncing and merging is horrible, I’ve often lost lots of things I’d painstakingly written, their editor sucks, and the app is just too bloated to work well for quick note-taking.
Getting syncing right is of course the biggest hurdle. The great thing about iCloud is that it can sync in the background. With custom-made syncing in an iOS app, we’re going to have to wait until the app is opened to start syncing, and that makes it even more likely that conflicts are introduced. Such is life.
As you can probably gather, this is no small undertaking. But I think the market could be huge. How many people take notes? Everybody! And this tool is great for business, for students, for researchers, for journaling and diaries, everything!
How many would pay for a service that does this? Would people pay $20/year? $10/month? I’d personally easily pay $10/month if it did this, even excluding the team features. I’d easily pay $50/month for my entire company to have access to this tool with the team features included.
I’m posting this because I sincerely want this tool myself. If you know of a tool that fits the bill, I’d love to know about it. But I suspect it doesn’t exist.
So if you want to build it, get in touch, and I’d love to partner on designing and building it. I don’t have the capacity to pursue this full-time, I’m committed to zenbilling and Conscious Startups, but I would absolutely love to be part of creating this. If you think you can do it without me, please do. As long as I get to use the tool, I’d be pretty happy.