Mastodon: Media quota system

Created on 11 Sep 2019  ·  11Comments  ·  Source: tootsuite/mastodon

Pitch

Track media usage by account and limit future uploads once it's crossed.

Motivation

Accountability for disk usage.

All 11 comments

That's actually an interesting approach to the problem.

Users might be tempted to create extra accounts to circumvent the limit though.

But for admins who anticipated the problem (their instance might specialize in media hosting), this would at least allow them to lift up that limitation. Thanks!

Maybe quotas could be initially limited, but as the account ages / is used it gets raised to the _actual_ limit. That'd help work around the extra accounts problem slightly (at least, as applicable to people using it as a file-hosting service).

This might not be a good plan for a base feature, though.

Brilliant thinking @wizzwizz4 ! Definitely a good solution.

It would be a good feature for instance moderators, but I don't think the main problem of disk usage is about user uploaded fancy pictures of the local instance but cached media files from the whole Fediverse.

There are issues like #9567 and #10049 discussing about similar topics.

Fixed quota vs. relative quota (props @wizzwizz4) options seem like a good first step

For example:

  • Fixed quota x could be 100MB
  • Relative quota x could be equal to days since account creation (i.e. account 100 days old then quota is 100MB)

My mental model is how my ISP handles bandwidth throttling (i.e. if my quota is 20GB per day then if I download >20GB per day or >140GB per week or >608GB per month etc. then I get limited until time passes and my usage averages out again putting me back under quota threshold)

Needless to say, if users delete toots with attachments then this data gets reallocated to their quota or, for convenience, there could be a feature to auto-delete toots >x days old which would essentially have same affect

Lovely initial concept framing @gargron!

Hope this is useful

Regards

@ldexterldesign I don't like the "autodelete toots" idea all that much, but I am generally wary of accidental loss of important data. Perhaps it could be a per-toot thing, turned off by default and adjustable after posting.

The monotonously-increasing quota seems like a good idea, though I fear it could just be abused by leaving an account open for a few months before it'll be needed for file storage.

@wizzwizz4

Perhaps it [auto-delete] could be a per-toot thing, turned off by default and adjustable after posting.

Yes, totally

If a user's new post will exceed quota then show a notification which includes info on:

a) what the notification means
b) when and where they'll see the notification
c) why they'll see the notification, and;
d) how they can prevent exceeding quota in future (inc. enabling auto-delete feature)

The monotonously-increasing quota seems like a good idea, though I fear it could just be abused by leaving an account open for a few months before it'll be needed for file storage.

Without subjectively evaluating the agency (e.g. follow/follower ratio, boosts) of accounts I can't think of another objective metric than time (e.g. days registered) to aid an algorithm of this type. I would argue that the act of having a quota, thus managing everyone's expectations (i.e. admin/user), should prevent quota abuse in the first place. File storers gonna store.

foo

Regards

I would like to add that we could display media usage in "blocks" like on the Nintendo 3DS. Let's say we would have a max quota of 5000 blocks and if you want more blocks you just go and pay more or ask the admin to stack up the blocks for everyone. Of course the blocks quota setting for the admin should have a UI rather than letting someone configure it manually in the .env file.

@koyuawsmbrtn What do 5000 blocks mean? Why blocks and not MB?

@koyuawsmbrtn What do 5000 blocks mean? Why blocks and not MB?

5000 blocks equal 5000x128kb=640000kb=around 640MB and I thought using blocks was more accessible to normies.

Hi @koyuawsmbrtn,

Hmm, if I understand correctly then it's gonna get confusing if a block on one instance can mean something different to a block on another instance. It's 2020, I think there's more chance of someone understanding what a megabyte is over an arbitrary block.

Also, it would be a personal turn off for me to see instances monetising disk space ala private torrent trackers but that's a conversation for another day

Regards

Was this page helpful?
0 / 5 - 0 ratings