Evernote, the multi-platform “remember everything” application has taken the world (well, some section of it, anyway) by storm. With it, I can jot a note down at work and have it magically appear when I get home. Between Evernote and Dropbox, cloud computing has never been better.
Still, Evernote is far from perfect. Indeed, it’s so imperfect that most of the time I spend using it is actually spent trying to find work-arounds for its imperfections. (Most of this comes from its revenue model. They want to make a living and I can understand that; but I want to use good software. And I’m not entirely willing to sacrifice that for someone else’s rent.) Honestly, I”m starting to get rather fed up with it and seriously contemplating the notion of just writing my own. I’ll probably not do this, of course. It would be a lot of work and I’m very, very lazy. Still, I’ve been giving the matter a great deal of thought; so for giggles I’ve decided to list out what I would have in my app.
The starting point for my ideas isn’t a note-taking app at all. It’s FriendFeed. FriendFeed is currently the high-water mark for the anti-not-invented-hear syndrome. “Why should we write a bookmark manager? Delicious does that pretty well already. Let’s just import those bookmarks.” and “Why should we host videos? YouTube has that market all sewn up! Let’s just import those videos.” and “Behold the power of XML!”.
So why, I wonder, can’t my note-taking app suck in my Delicious boookmarks? Instead, I have to double-bookmark the links I want to store in my note-taking system: once on Delicious and once on Evernote. That’s crazy.
So, picture a private FriendFeed. At the top and bottom of every page is a big, friendly text-box that accepts Markdown. Throughout the day, various actions I take at random places on the Internet make their way into this private feed, each with an accompanying text-box for scribbling notes.
It can be even better, though. For the well-known services like Delicious, it can be smart. It can have an option, “Only import bookmarks tagged with: foo”. So when I want to actually note a bookmark, I can add that extra tag to it. When I just want to bookmark something without adding it to my notes page, I don’t stick that tag on it. Simple. (Things are obviously less nice for the RSS importing. I’m not sure how to solve that.) Each user can have multiple pages (a “notebook” in Evernote, a “page” in Backpack, etc.) with its own feeds and import rules.
And at the top of every page (or in the sidebar or something; somewhere noticeable): search. Really good search. If I can’t figure out how to do really good search, I’ll hand it off to Google site search or something. Google has pretty much proven to me that you can have all the organization and folders and pages and tags that you want, but search is king. All of that stuff can provide hints to the search engine, but at the end of the day, it’s the search itself that will find what I’m looking for most easily.
Improved search is probably why we’ll want tags for notes and titles and all of that jazz. But none of it is required. Because entering data needs to be as easy as possible. That’s why there is a big text-boxes at the top of the page. Get in, type, get it out. (If there’s a good way to transparently save data in a web-browser so you don’t have to click a “Save” button, that’d be awesome. But I don’t know enough about web programming to know if that’s possible.)
At some point, there will need to be an API. A rich API opens up so many possibilities that not including one would be silly. In the spirit of dog-fooding, I’d propose that the API be used to build the site itself. That way, when it’s finally made available, it’s already tested. And any new feature that gets added to the site will immediately be available to devs using the API. Everyone wins.
Sometimes, you’ll just need to store a file. Evernote’s revenue model pretty much depends on this. But I’m not happy with that, because even when you get a Pro Evernote account, you still have an upper bound. One idea I have is to allow each user to provide S3 credentials. Then, any files they upload get stored to their own S3 account and they can pay for the privilege. There are obvious problems with this approach (like the fact that users would be insane to give out their S3 credentials), but I think it bears more investigation.
So I think those are the major features: Easiest possible UI for entering text, great, prominent search, suck in XML from around the web, great API, and arbitrary (and easy) file uploads. I can think of more (revision tracking would be a huge “nice to have”), but I think these are the ones I would need to call it “killer”.
Easy, right?