One thing I love using ThoughtStreams for is thoughts on films and books but that immediately leads to concerns about spoilers.
While someone can always avoid a stream, I'm particularly worried about spoilers appearing on the home page or in other places like search results once we implement more features like that.
One possible solution would be to have a flag on a stream that the author uses to indicate it contains spoilers.
It could be at a card level too, but I wonder if that would be too cumbersome.
If a stream (or card) is flagged as containing spoilers, a reader must opt-in to see it.
That would be fairly easy to implement. From a data model point of view, it's just a relation of stream (or card) and user and a boolean. Or you could even drop the boolean and have the existence of the tuple in the relation be enough.
Perhaps the lead card of the stream would always be shown so the author can explain what the stream is about.
The rest of the cards would effectively act like they were unpublished to people who had not yet opted-in to see the stream.
@jtauber started a new stream about how 'spoilers' warnings could be implemented in thoughtstream. One way to do it, the one he's proposing, is to have a flag on streams or even thoughts themselves that would mark them as spoilers.
In this case, readers would be able to choose whether they want to open it or not. It would be also possible to hide the thought from the front-page.
Another way to do it, and perhaps a more generic one, would be to have a 'sensible content' label that could be shown as a lightbox - not a designer, forgive my lack of good terms - on top of the card with a custom message.
This label could be use to hide cards that the writer considers contain sensible content that could affect others in some way. Opening them or not is up to the reader.
For example, If I have a stream where I review movies as opposed of 1 stream per movie, I could mark a specific card as containing spoilers about a specific movie. In this case, a reader who has already seen that movie could read the card.
A label could be anything, most likely a size-limited field:
"Spoilers about the hobbit" "Spoilers" "Sexual content" ....
These cards should also be hidden from the atom feed.
I'd like to see spoilers implemented as a span-level element: redacting (e.g. blacking out?) individual phrases or sentences, which the reader has the option to reveal.
Often a card (or paragraph in normal prose) has plenty of content that, besides carrying useful info apart from the spoiler, would also give the reader more context for use in deciding whether to reveal the spoiler.
The only risk with allowing span-level spoiler markup is that the writer will be too indiscreet when choosing what sentences they wish to reveal and which to redact.