Welcome to NoteApps.info! Launched in October 2020, the goal of this site is to objectively break down the features possessed across all major note taking & to-do list apps. We're starting with 10 note taking apps indexed, but hope to double that in the coming months. As an example of what this site can do, here's a feature comparison of Amplenote vs Roam. The links in the header will let you browse note apps by features, or compare them to one another.

Hopefully the other pages do an adequate job (ex 1, ex 2) of explaining why note app users will benefit from better transparency. From what I've seen, there has been a real struggle to keep up with the pace at which note taking apps are launching & evolving. A top-rated Hacker News post from a couple months ago put a point on the dissatisfaction users were experiencing:

Judging by the number of upvotes, there seems to be an awful lot of developers who are sick of too many note apps. From the first paragraph of the linked story,

It’s not because of limited choices. But it’s the other way around. There are so many note-taking apps you could try but end up sticking to none. At least, that’s my story. It’s a perfect example of the paradox of choice.

By in large, humans prefer not to change, but we often will change IF we're confident a large benefit awaits. The pace of note app releases, and the degree to which the apps seem superficially similar, makes it super annoying to judge whether it'll really be worth it to switch. The more evolved one's note taking system, the greater the switching costs to extrapolate it to a new note app.

And yet! Look down the list of 200 features we've identified so far — the perfect note taking app still doesn't exist. Perhaps it never will. But developers are sure to keep trying. It's safe to bet that the success of Roam will inspire legions more note apps over the next couple years, as VCs deem this a "hot space" and money gets poured into whatever companies show mild promise. If you think there's too many note apps now... 👯‍♂️👯‍♂️👯‍♂️

Our long-term purpose is to make sense out of the proliferation of note apps, while staying true to core values of transparency, objectivity, and usefulness.

This site will be driven by the interest of its community -- prospective & current note app users. By voting on which features and apps to add, we can define the superset of what matters to new users. In all likelihood, some app makers will use our feature list to guide their products. Wouldn't that be nice? They get to ✅ more boxes, while you get an app that meets your needs.

linkProject technical discussion

Implementing this site has been my favorite side project of quarantine. While I've built Rails sites professionally for 10+ years, this was the first one I've built from scratch on Rails 6 and React. The teams behind both technologies deserve whatever praise they receive, because it's noticeably faster (=more fun) to create a site like this now than it had been 10 years ago. Some specifics of what made the project so satisfying:

React: Just Works. I still consider myself an intermediate React author at best. I've never sat down to read about React, the learning I've done has come slowly, via osmosis. Even as a relative amateur in the workings of the technology, it is incredibly fast and stable to describe complex visual interactions through React. Having hacked myself into many a corner creating imperative monoliths like the Background Burner editor tool, I especially appreciate the advantages of declarative state in reasoning around what the user will see.

Visual project = automatic motivation. Every day that I worked on this project (26 days in total, per the stats below) brought big, obvious improvements in the site's appearance. It's like raking leaves in the yard: weirdly satisfying just to see things change for the better.

Not worrying about login. Every other site I've built has to worry about user access. Since NoteApps effectively has no login or user system, that saves a huge amount of time and anxiety. All the focus can go toward willpower-generative coding, like building new pages. Remember kids: it's all fun and games until users can log into your site 😉

Here was NoteApps journey into existence through the lens of GitClear:

The first hump around August 31 was setting up all the admin tools necessary to collect the data. Then it was relative calm for a couple weeks while the researcher did his work gathering data on the existing apps. All of the publicly visible pages on NoteApps were built during the last two weeks. About one page per day (there are only four pages on this site 🤫). Again, so much easier than it would have been with imperative Javascript monoliths built around arbitrary conventions.

According to the GitClear stats below, building the entire site has taken around 181 hours thus far, so something on the order of ~20 work days.

That 85 LI/hour in NoteApps compares to 48 LI/hour when working on GitClear itself (my "day job" development project). Pretty sure there is a correlative relationship between how rapidly one can generate concise code in a project and how satisfying the project feels to work on. This is partly what makes open source contributors such 👼 since figuring out where to contribute on a big project like Rails is a daunting prospect. One must derive their satisfaction from higher-minded places, compared to a project like NoteApps, where every hour brings visible progress.

Speaking of Rails, one has to be impressed looking at how they've evolved the framework from Rails 1.x through the current version. Javascript has gotten all the hype for its evolution, but for each step forward that Javascript takes, Rails has made a compatible evolution (remember Rails 1.x, bundled with Prototype lol). This is no small feat. It takes humility and a good nose for which ideas can be incorporated without making the rest of Rails worse.

Rails could've doubled down on Coffeescript or Sprockets. But instead they've ushered in webpacker, in spite of the somewhat awkward existence it takes up alongside Sprockets-based Javascript (which still has its place) in Rails 6.0. Even here, where Rails ain't pretty with two parallel JS pipelines, it's useful. Most importantly, it makes possible the opportunity to write most of my code in Ruby, which is a privilege I don't take for granted having grown up tracking down memory leaks in C++.