Correct me if I didn't understand you but, you thought about the how in your potential scaling issue. If this problem occurs in the future, you already know what solution you will apply.
How do you decide when you have to apply the solution? Do you have arbitrary metrics? User feedback? Is it something along the lines of: If you ask yourself if you need this, you don't?
Good question. This is actually more about product evolution than it is about scale. Right now, we've built our product to, more or less, scale to any possible number of users. It leverages shared cached resources a lot. But as we evolve, we're trending more towards personalization. Even just the current user's profile on the home page was a product evolution that could potentially degrade the user experience.
As we add more features like this we trend in the direction where it could make sense to distribute our data. At some point, this will be easier than managing our current solution. That's when this sort of thing will make it into the app.
At least that's how I see it now. Things change all the time. This is something I'll revisit whenever I am inspired to and perhaps a teammate will jump in and have some ideas. I'll add that in a lot of ways, this app is an excuse to concretely think through this problem for some future unrelated endeavor. I'm not very good at learning about things in completely abstract terms. This kind of exercise helps with that.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Correct me if I didn't understand you but, you thought about the how in your potential scaling issue. If this problem occurs in the future, you already know what solution you will apply.
How do you decide when you have to apply the solution? Do you have arbitrary metrics? User feedback? Is it something along the lines of: If you ask yourself if you need this, you don't?
Curious about the process.
Good question. This is actually more about product evolution than it is about scale. Right now, we've built our product to, more or less, scale to any possible number of users. It leverages shared cached resources a lot. But as we evolve, we're trending more towards personalization. Even just the current user's profile on the home page was a product evolution that could potentially degrade the user experience.
As we add more features like this we trend in the direction where it could make sense to distribute our data. At some point, this will be easier than managing our current solution. That's when this sort of thing will make it into the app.
At least that's how I see it now. Things change all the time. This is something I'll revisit whenever I am inspired to and perhaps a teammate will jump in and have some ideas. I'll add that in a lot of ways, this app is an excuse to concretely think through this problem for some future unrelated endeavor. I'm not very good at learning about things in completely abstract terms. This kind of exercise helps with that.