Una modalità lenta più morbida: slow bumps?

Mi piace molto l’intento alla base della modalità lenta, ma non affronta davvero il principale motore delle polemiche sul nostro Discourse:

  • Qualcuno arriva “in calore” — spesso un nuovo utente, spesso proveniente da un’altra comunità — ed elenca una serie di lamentele
  • Molti membri esistenti rispondono per parlare a/verso l’autore del post iniziale, con motivazioni diverse (ma la sindrome “Penso che qualcuno abbia torto su Internet” [xkcd: Duty Calls] è in cima alla lista)
  • L’autore del post iniziale vuole rispondere a/tutti
  • Anche nelle discussioni migliori, le cose precipitano rapidamente.

La modalità lenta non aiuta in questo caso, perché si tratta di un problema molti-a-uno. Spesso finisce solo per alienare ulteriormente il nuovo membro, dato che è lui a subire le conseguenze della limitazione: molti possono rispondere mentre il suo timer di raffreddamento scorre, e poi ha diritto a un solo messaggio per replicare.

Uno strumento che vorrei avere a disposizione per situazioni del genere sarebbe rallentare il riporto in alto degli argomenti. Le liste predefinite (sia “Ultime” che “Top”) danno priorità a questi argomenti “caldi”. Mi piacerebbe poter limitare i riporti a una volta ogni 12 ore o qualcosa del genere. In questo modo non si tratta di una completa rimozione dalle liste, ma di una significativa riduzione dell’enfasi che potrebbe aiutare a limitare il numero di nuovi partecipanti alla discussione (a meno che non cerchino attivamente l’argomento, il che va benissimo).

16 Mi Piace

Un utente motivato potrebbe scrivere una singola risposta e, allo stesso tempo, disturbare molti altri utenti, giusto? …Questo sarebbe comunque possibile in modalità lenta.

Ma sono d’accordo sul fatto che una riduzione dei bump sarebbe utile anche in modalità lenta. :slight_smile:

2 Mi Piace

Assolutamente sì, ma questi post-monstre che rispondono a molti messaggi rendono l’argomento ancora più difficile da gestire. Le scissioni diventano impossibili e tendono a mettere l’autore ancora di più sulla difensiva (o quantomeno a dare l’apparenza di aggravio, semplicemente a causa del grande muro di testo).

5 Mi Piace

Questo è in realtà un altro effetto collaterale non intenzionale della modalità lenta che abbiamo osservato su Julia discourse, un’istanza ospitata a pagamento piuttosto attiva: la modalità lenta viene attivata e alcune persone iniziano a modificare i propri post invece di scriverne di nuovi. Problema simile quando si imposta qualcuno che sta creando problemi a TL0: non possono creare nuovi post, ma possono ancora modificare quelli vecchi, quindi lo faranno, il che è particolarmente negativo se hanno scritto contenuti infiammatori a cui le persone hanno risposto e che poi modificano, facendo sembrare la risposta fuori luogo.

Ma sì, secondariamente, concordo pienamente con il suggerimento di @mbauman: la possibilità di impedire che un argomento caldo venga sollevato così spesso sarebbe molto utile per calmare gli animi.

3 Mi Piace

Oltre a evitare che l’argomento di tendenza venga spostato in alto, potrebbe essere una buona idea ritardare le notifiche. In questo modo si risolve il problema in cui qualcuno risponde o menziona più utenti.

4 Mi Piace

Un trucco che puoi usare oggi è rendere non elencati argomenti come questo. Abbiamo intenzione di aggiungere timer che possano rimetterli in lista, ma puoi farlo anche manualmente.

La funzione “Seppellisci argomento” è stata menzionata in passato ed è qualcosa che abbiamo preso in considerazione.

5 Mi Piace

Non capisco bene cosa stai proponendo. Puoi mostrarmi un mockup dell’interfaccia utente di come funzionerebbe, cosa vedrebbe l’utente, cosa vedrebbe il membro dello staff?

Ecco perché la modifica è limitata per impostazione predefinita in Modalità Lenta. Puoi disattivare i limiti di modifica se ti fidi della tua community a non farlo.

E considera ciò che ha detto @sam. Rendi l’argomento non elencato. Per favore, utilizza pienamente gli strumenti esistenti nel tuo kit prima di proporne altri.

L’idea di base è piuttosto semplice: la chiamerei qualcosa come “Limita Bump Argomenti…” nel menu degli argomenti dell’amministratore (probabilmente posizionata accanto all’elemento “:anchor: Reimposta Data Bump”). Aprirebbe una finestra modale che ti chiederebbe di inserire il periodo di tempo. Il testo sarebbe qualcosa del tipo: “Limita la frequenza con cui questo argomento appare in cima alle viste più recenti e ad altre categorie a non più di una volta ogni X ore”, con un valore predefinito di circa 8 ore.

Non ho una forte preferenza su come verrebbe implementato; potrebbe essere stateful (tenere traccia dell’ultimo post che ha aggiornato l’ora dell’argomento e aggiornarla solo se l’ora di un nuovo post è più di X ore nel futuro) o stateless (impostare sempre l’ora di aggiornamento dell’argomento al piano inferiore multiplo di X ore dall’epoca Unix o dal primo post). O qualcos’altro, quello che sia.

Per quanto riguarda ciò che viene visualizzato all’utente, non sono sicuro al 100% che debba essere comunicato loro, ma potrebbe apparire come un elemento di post “non elencato”, affermando semplicemente: “questo argomento apparirà in cima alle liste degli argomenti solo una volta ogni X ore”.


Per quanto riguarda altri strumenti, a volte utilizziamo la non elencazione dei thread, ma questo riguarda principalmente i nuovi utenti combattivi, spesso il tipo di persona che potrebbe offendersi molto per qualsiasi accenno di censura. E io davvero non voglio censurare/nascondere/eliminare cose. L’intero punto è un intervento più morbido che si spera sia meno probabile che causi ulteriore aggravamento di per sé, ma che speriamo aiuti a mantenere la temperatura un po’ più bassa.

Questo è in parte ispirato al modo in cui Hacker News penalizza gli argomenti con molti più commenti che voti positivi.

2 Mi Piace

Cosa ne pensate @sam @eviltrout? Potremmo avere un numero intero qui che rappresenta il tempo, dove 0 significa “non consentire mai il ripristino” e 1-6000 potrebbe significare “consenti 1 ripristino ogni {x} minuti” o qualcosa del genere.

1 Mi Piace

È un’idea interessante, qualcosa come il debouncing per i bump.

Sembra uno strumento potente, ma capisco che possa essere utile. Non credo sia una cosa facile da aggiungere, probabilmente richiederebbe uno sforzo di livello medio.

1 Mi Piace

Penso che possa essere utile in alcuni scenari per evitare che un argomento si surriscaldi troppo in primo luogo, se viene intercettato precocemente dalla moderazione. Specialmente in istanze con molti utenti.

Se l’argomento è già acceso e la discussione si auto-sostiene, la modalità lenta probabilmente farà un lavoro migliore poiché le notifiche che gli utenti ricevono dalle interazioni nell’argomento lo manterranno (probabilmente) in corso.

Stavo controllando il codice sorgente e, a parte la modifica dei modelli, la modifica di bypass_bump? sarebbe sufficiente per impedirne il bump?

Forse aggiungere un campo in Topic, qualcosa come min_seconds_between_bumps ad esempio e un’altra condizione in bypass_bump?:

def bypass_bump?
  !@post_successfully_saved ||
    @topic_changes.errored? ||
    @opts[:bypass_bump] == true ||
    @post.whisper? ||
    only_hidden_tags_changed? ||
    @topic.min_seconds_between_bumps == 0 ||
    (@topic.min_seconds_between_bumps > 0 &&
      (Time.now - @topic.bumped_at) / 60 < @topic.min_seconds_between_bumps)
end

Non sono sicuro che il valore 0 indichi che l’argomento non debba essere bumpato affatto. Può confondere alcuni utenti. Se fatto in questo modo, penso che sarebbe una migliore UX se la webapp non espone direttamente lo zero all’utente.

3 Mi Piace

Se interpreto correttamente, la decisione se fare un bump avverrà al momento in cui viene pubblicato un reply ma se non vengono pubblicati ulteriori reply dopo il periodo di no-bump, l’argomento non verrà mai più bumpato.

Sarebbe questo il comportamento desiderato o l’argomento dovrebbe sempre fare un bump alla fine del periodo di no-bump se è stato pubblicato un reply durante il periodo? Se dovrebbe sempre fare un bump, dovrebbe fare un bump a “ora” o all’ora dell’ultimo reply?

2 Mi Piace

Sì, in questo approccio la decisione avverrebbe al momento della pubblicazione della risposta e senza risposte successive l’argomento non verrebbe mai più effettuato il bump. Se ho capito bene, dato che non sono assolutamente un esperto del codice sorgente di Discourse, questo sarebbe il modo più semplice per implementarlo.

L’altro comportamento possibile, il bump dopo il periodo di raffreddamento, richiederebbe probabilmente più lavoro come ha detto @eviltrout, poiché richiederebbe all’applicazione di memorizzare il prossimo bump previsto e di avere una sorta di pianificatore o processo sidekiq per eseguire periodicamente i bump in sospeso.

Entrambi gli approcci sono validi e se mai venissero implementati non so quale verrebbe scelto.

Personalmente, non mi dispiace se un argomento problematico non viene mai più effettuato il bump se non ci sono risposte successive. Ma questa è solo la mia opinione.

2 Mi Piace

Il mio pensiero è che la logica più semplice sia questa:

  • L’argomento ha un’impostazione, “può essere aggiornato solo una volta ogni {x} minuti” dove il numero di minuti è un’impostazione regolabile, che va da zero (l’impostazione predefinita, può essere aggiornato tante volte quante sono le risposte) a circa 10.000 (può essere aggiornato solo una volta alla settimana). Supponiamo che qualcuno abbia inserito 60 minuti, l’argomento può essere aggiornato solo una volta ogni 60 minuti al massimo.

  • quando viene pubblicata una risposta, controlla la data dell’ultimo aggiornamento:

    • se l’ultimo aggiornamento è stato più di 60 minuti fa, consenti l’aggiornamento dell’argomento da parte di questa nuova risposta.

    • se l’ultimo aggiornamento è stato meno di 60 minuti fa, non aggiornare l’argomento durante la pubblicazione di questa nuova risposta.

Sì, questo sembra semplice e fattibile… aggiungiamolo alla prossima release @sam @eviltrout?

6 Mi Piace

Potrebbe essere utile anche -1 (non si può incrementare indefinitamente)? Penso di essere più propenso al no, sarebbe difficile trovare tali argomenti in seguito (senza lavoro extra) e se un amministratore vuole davvero che un argomento non venga mai più incrementato, probabilmente ha più senso chiuderlo.

In realtà penso che il tempo massimo impostato dovrebbe essere un’impostazione configurabile nella pagina di amministrazione. Qualcosa come max_slowbump_time o qualcosa di simile.

Inoltre, visto che ci siamo. Sarebbe possibile applicare i slow bump anche a livello di categoria?

Una funzionalità del genere è mai stata implementata? Abbiamo un altro thread simile che ha spinto @mbauman a richiederla originariamente e se questa funzionalità esiste ora, sarebbe fantastico poterla utilizzare.