It is hard to admit it but; I wish I could accept every suggestion that even has a single vote, but I can't. I wanted to tell you a little story about why this is the case.
Specifically, I would like to talk about one of the most important features of World Anvil, the ability to connect things together in a contextual manner (a connection that the system is aware what the connection is about.)
During the development of our latest, still rather "secret" feature I came across the question "Why can't we have more connections from A to B" multiple times, and with a heavy heart,I had to say that this is not going to be part of this iteration and probably will not be implemented any time soon.
I wanted to explain why I am so apprehensive to add more connections to the system unless it is absolutely necessary and will have a significant impact to the larger part of our user base. The main and massive difference between World Anvil and other similar software is that in World Anvil the connections that you are making are not just references to another article, map, event etc., they are contextual; the system knows what they mean and it can draw directly information from them. This means that each connection (like the species of a character, or the locations owned by an organization) create an intricate and complex web. This interconnected web is the essence of your world and it allows us now and in the future to create some very interesting things (like the family trees, bloodlines, diplomacy webs and so much more to come).
So each time we add a string between two parts we make that web thicker and thicker. This might not be a massive issue for a world with 100, 200 or even 500 articles but, after almost seven years of being around, we have worlds that count articles, maps, markers, events and timelines in the several thousands. This is something I hope and aspire to for each and every of your worlds. I want to see you create beautiful, amazing, imaginary places that we can lose ourselves into them. When a world reaches for this kind of numbers of items, things start to slow down. The search becomes heavier, pages take longer to load and so forth. For me, and my amazing development team this is an uphill battle. We fight everyday and we are making great strides, in fact we are making the website faster and smarter each day in small ways here, there and everywhere. Manu is manning the servers and the backend while the rest of the team, mostly makes his life harder :P (kidding), but the point is that we need to conserve energy and conserve our resources until we know your worlds, and World Anvil can take it.
So, the question now might be ... "why is this my problem?", and it is a fair question. It is our job to make sure your worlds are fast and easy to navigate and have all the features you want to make them even more awesome. It all comes down to a very simple thing.
Each time a page is loaded there is a limit on how much CPU and Memory it can consume. If a page while trying to load consumes more than it can bear or it takes more time than it is allowed to do so, it crashes ... and nobody likes crashes. I certainly don't. So the most complicated/large a world is, the greater the chances of this happening are. To ensure the security of your data, and the stability of the system each "call" (see page load for simplicity's sake) has to be allocated a max number of seconds and a max number of memory it can consume. These are the constrains we have to work with and against.
So to close, first of all thank you for taking the time to read this, and secondly, we are doing our best, and each time we secure a major victory into minimizing the strain to the system we quickly add memory hungry features for you to enjoy.
Please do not think for a moment I do not care, or think of you all the time, I was about to say waking moment, but in truth World Anvil and your success occupies a lot of my sleep as well.
I am always here for you and I want all of you to know that if you ping me at the #development-feedback on Discord I will be there to answer.
Have a wonderful day
Much love
Dimitris
The web of connectivity you describe reminds me of a configuration management database, which tracks servers and systems in an org and how they connect. They're incredibly helpful for tracking what systems go offline if a server does. But if you lose track of the purpose of the DB, you quickly end up with a million connections that don't mean anything and diagrams that require a PhD to decipher. If a tool is made for a specific purpose, sometimes creators and users alike need to step back and remember what that purpose is. Just because it can be used for something else, doesn't mean it should be. Especially if those other purposes bring harm to other goals. Thank you for sharing your insight, it's useful for the rest of us to keep in mind when giving feedback or making requests.
Speculative-Fiction Writing