Do not give users too much freedom - it will hurt everyone

tl;
dr
In hindsight, it all seems quite obvious: allowing users to do whatever they want with your platform (or parts of it) is not a good idea. Still, in the heat of the moment, you might forget this, and the idea of giving users as much value as possible, as soon as possible, completely takes over.
Ohrid, Macedonia
2023

This happened to us at Hygraph when we released Components - a feature that lets you create reusable content templates. The feature is great, and users loved it, but, at times, a bit too much. The problem was that we've only noticed that the feature usage is kind of getting out of control, after our users started running into issues following this scenario:

  • users push the system to its natural limit in the areas of performance and UI,
  • the platform gets slow and bugs start popping up,
  • we run from one burning building to another with a fire extinguisher and eventually calm things down,
  • users find new limits to push (sometimes the same ones), and everything starts all over again.

One of the main and funniest issues is that we had almost no limits on the components usage because we've made a decision to cut them out of the initial scope to ship faster (or so we tell ourselves). Right now, of course, the effort to introduce the limits has tripled: not only do we need to put those limits in place, but we also need to

  • make sure that they correspond to the current non-app-breaking usage (good thing we have almost all the needed data 🫠),
  • allow the existing users to keep what they have but receive a custom limit,
  • communicate the change and deal with the response,
  • make sure we have a tool that increases the limit if needed on a per-customer basis.

The thing that sucks the most is that you really cannot blame anyone but yourself. It is precisely my job to hunt for edge cases and guide users along the happy path of maximum value and zero bugs. Limits seem to be a great way to do that and, perhaps, to also encourage subscription plan upgrades. Is there a better way? I'll share my best guess here when we ship the next Components.