First, I find that people tend not to change avatars all that often. And those who tend to NSFW tend to NSFW.
A distributed system might be cute, but you really couldn't trust it anyhow, and the infrastructure would be much harder.
A 6 level system:
[ ] Show no avatars
[ ] Show only approved, unchanged avatars
[ ] Show only approved avatars
[ ] Hide only surpressed avatars
[ ] Hide only surpressed, unchanged avatars
[ ] Hide no avatars
You could make it simpler and have fewer levels. =)
You'd have a sparse mapping from {account->account}x{No flag, Hide, Show}. If the user never explicitly set an avatar to hide or show, you wouldn't even store it. This keeps storage down to a minimium.
Some users would show all avatars, and hide only ones they disliked. Some would hide all avatars, and show only ones they trusted. And some would hide/show everything, because they didn't care...
As an aside, someone browsing TFP can implement all of this using a web proxy. The date and user id of each avatar is in the avatar URL.
__________________
Last edited by JHVH : 10-29-4004 BC at 09:00 PM. Reason: Time for a rest.
|