This is no good. It’s not that I don’t want to write, but just not in the thinking mood. This is getting to be dangerous. I need the consistency of the routine back. But I need to code in the morning. No solution yet.
But, the tradeoff has been valuable in many ways. Progress continues on some really cool features for Standard Notes. It’s not just the features themselves that I'm excited about, but the way the features are built and installed. I risk being publicly committed by mentioning what they are, but, it's the only thing that's been on my mind all day, and thus the only thing my mind is capable of conjuring.
- An all new package manager. Long gone will be the days of visiting a separate dashboard to install extensions. Now you’ll be able to install and browse extensions right from within Standard Notes.
- Local installation of extensions. This one I am super excited for. The current model requires all extensions to be hosted on a remote (or local) server. This does the job, but compromises a little on potential security and availability. With this new system, any extension (editors, themes, etc) can be installed and run totally offline from the safety of your own computer. This means we can begin developing more extensions that deal with extra sensitive data while not having to worry about a hosted delivery model. (Desktop only)
- Two-factor authentication. I am ecstatic about this. It’ll be installable directly from the package manager. (It’s a package itself.)
The part I’m most excited about is that all these new systems are built as extensions themselves, including the package manager and multi-factor authentication. Very little custom logic is being written in the core of Standard Notes. So, whatever we develop, you can develop too. Even things like multi-factor authentication can be written as simple extensions. We’ll most likely ship with Google Authenticator support, but it would be trivial for other developers to build Authy or 1Password two-factor authentication extensions.
This “generic” architecture ensures that the core of our application does not rely on what may be modish at the time. Instead, new additions are built as lego blocks that are easily detachable. If Google Authenticator fades away in five years, we won’t be as impacted as we would be if we tightly entangled Authenticator logic with our own logic.
Really, my core rule for Standard Notes is: You can build any cool feature you want, but it has to be an extension, as not to creepingly bloat the core application. This way, you can always layer down to absolute simplicity, which should be more than enough for many people, myself included.