Simplicity is the key to Tools for Thought adoption and plugins might complicate things for the majority of users. Let us explore this topic together.
Tools for thought have come a long way in the last few years. Many Tools for Thought are new, in fact, many are still in beta. Since these tools are new and often rough around the edges, they often lack many features which users demand, which is understandable as these applications are in their infancy. Therefore, it has been common thing for the developers of these tools to enable their users to extend their products through the use of plugins.
In these last few years, as the Tools for Thought space has advanced rapidly, many plugins have been developed for these tools. In fact, some apps like Obsidian even have hundreds of plugins available to their users.
The plugins have enabled exciting new possibilities and workflows. While the impact of plugins has been super positive, I sense a slow oncoming transition for users of Tools for Thought. Many users are losing interest in the complexities of dealing with plugins and there is a growing fear of the potential risks they have when it comes to privacy and security, and for this reason, they are looking for Tools for Thought that are more complete and have fewer dependencies on 3rd party plugins.
Before I get into that, let's review what is a plugin and what has happened over the last few years.
The Rise of the Plugin
A plugin is an extension to an existing application that provides additional functionality not included by the company making the tool, but rather by one of the users of that application.
One example is when I started using the Tool for Thought, Roam Research, it had no templating functionality in 2021. Templating feature allows you to reuse common text in your note-taking and is fundamental in dealing with repetitive aspects of note-taking, such as a standardized daily journal or outline for taking notes at a meeting.
Since Roam didn’t have one, I built the popular SmartBlocks templating engine which is still in use today by thousands of Roam users and has even been ported to other Tools for Thought.
This plugin gave Roam Research crucial missing functionality needed by the community of its users, and it was helpful to Roam since they did not need to build the template engine themselves at a time when engineering resources were busy with other important things.
However, in time, Roam added a templating feature to the core product as it became clear that this was a need of many of its users. In fact, many Tools for Thought today ship with templating features. This is good because when it is built into the core product, it often works better than something that can be built by the community. Why is this? Simply put, the tool developer has a better understanding of their architecture and can tightly integrate this functionality in ways that 3rd parties can’t.
Another benefit of when a plugin becomes a core feature in a product, a company will provide training material and support for the feature, which will help a larger number of users access these important features.
However, there are even more important reasons why it's better when popular plugin functionality is built into the core product rather than done through plugins.
Complexity is the problem
While plugins provide significant value, they bring about a number of issues. Let me itemize issues concerns I have seen as expressed by the Tools for Thought community:
- Security & Privacy: Plugins are written by the community and are installed into the Tool for Thought. These plugins contain code written by someone you might trust or someone you don’t know. These plug-ins have complete access to your personal data. Therefore, there's always a risk that somebody could develop misbehaving code, or that their code is based on some other libraries that have been compromised and the plugin author doesn’t even know this. While I have not seen any specific case of the misuse of plug-ins, I think it's only a matter of time before we see some issues in this regard. Many developers write their extensions with JavaScript using third-party libraries from GitHub. Sadly, popular GitHub libraries can have vulnerabilities or have even been compromised. Therefore, it's no wonder that some users have become very cautious about installing third-party plugins that have access to their data, often containing very personal and confidential information.
- Complexity in learning: Tools for Thought by their nature tend to be complex software tools. It takes users more time to learn them and to adapt them to their personal needs. Plugins extend the functionality of the tool but at the same time add to the complexity of the software. The more plugins you have, the complexities can multiply quickly. Plugins assume that the user understands the tool they're using very well, and also read the documentation for the plugin to understand how to use it properly. Sadly, many plugins are not well documented or the documentation assumes a very high level of technical knowledge, that many users don't have. In other words, when the tool itself and the plugin are combined, they require significant learning for the user, which means a significant investment of time (and sweat). Not all users are willing to make the investment and they struggle with using the plugin.
- Complexity in the configuration: plugins also often require configuration to work properly in the user's environment. Plugins can have multiple settings that modify their behaviors. Additionally, plugins may require modification of configuration files like YAML, JavaScript, and CSS. Understandably these kinds of files are usually used by programmers and are intimidating to the rest of us. I always marvel at what people are able to learn, as many have learned to modify these complex files, but still, it's a steep learning curve.
- Plugin not maintained: plugin code needs to be updated over time to continue to be compatible with the Tool for Thought they extend. Many Tools for Thought are still in their infancy and are constantly being changed as the Tool for Thought developer figures out the needs of their customers and continues to change the product. Plugins that live on the periphery of the tool can easily stop working as the core product is changed. Since many plugins are developed by volunteers in the community it can take time for updates that are compatible to be developed, and even in some cases problems not fixed since the developer has lost interest in maintaining the plugin, thus leaving the user with a broken or partially working plugin.
I have to tell you that this assessment comes from personal experience. I have built plugins for many Tools for Thought, for example Roam, Logseq, Craft, Obsidian, and others. I love developing plugins and I love working with users. However, after doing this for a few years I see we need a change and I am not alone.
I see many users are exhausted from dealing with plugins.
The Fall (or timely demise) of the Plugin
There's already a growing trend that Tools for Thought manufacturers are learning from what their users need based on plugins that are developed by the community and they are starting to build that functionality into the core of their products.
One such example is an amazing Tool for Thought called Reflect. Reflect is an application that doesn't have support for plugins and as far as I can tell, and so far they don’t seem needed. The developers of Reflect have done a good job in identifying what are the core TfT features that will cover the overall needs of their users, including advanced functionality that would often require plugins in the past. When such plugin functionality is built natively into the product, these features clearly work much better.
For example, Reflect has support for Readwise, which is a must-have Tool for Thought. Connecting Readwise is just a few simple steps to connect your Readwise account to Reflect, and the syncing now happens automatically in the background. Reflect also has an impressive set of AI features, drawing on GPT-4. There is no setup or configuration for this, it is built into the application and is well documented on their help site and also on YouTube videos.
I highlight Reflect because I believe you get most of your day-to-day Tools for Thought enhanced note-taking functionality, combined with some very powerful tools like Readwise and GPT-4 with no hassle. What is lacking might be well worth it, since the tool is so easy to use and you get up an running with its advanced functionality within a day or two.
I think we will see more and more tools going this route, adding functionality to the core of their product based on what they see from community plugins and making it much easier for end-users to get to these advanced features without all the extra work and learning required by plugins.
Plugins are not Dead, but they are less important
Now, let me clarify, I didn’t say that plugins are dead, far from it. However, the trend will be to be less dependent on plugins in the future and this is a very good thing!
A WIN for the User
I see this as a win for the user. Tools for Thought users are super intelligent and creative people who do not shy away from a challenge. But plugins add a level of complexity that is overwhelming and distract from the objective.
Our objective is to take notes, connect them, learn from them, create, innovate, and most of all to think better. Plugins and customizations while powerful and play an important role for many, can distract us from our priorities and even consume our time and energy.
While there will always be a place for plugins, especially for those user needs that are esoteric or very specific to a problem domain, the time is coming when we will be less dependent on them to do the key things important in our note-taking.
Thank you for reading this article. Please check out more of my work at https://tfthacker.com