it-swarm.it

Qual è un buon modo per visualizzare infiniti commenti nidificati?

C'è un modo per fare infiniti thread di commenti nidificati in un modo che non sembra orribile? Mi rendo conto che si potrebbe semplicemente limitare i livelli di nidificazione, ma forse c'è un modo migliore per indicare che alcuni commenti sono risposte ad altri commenti piuttosto che semplicemente rientrare nei commenti. Dopo un certo livello di annidamento, il rientro non riesce.

Alcune idee con cui giocare: colore, dimensioni, divulgazione progressiva, numeri (1.1, 1.2, 1.2.1, ecc.), Finestre modali, un flusso di risposta ai commenti (come Facebook o Twitter), qualcosa come SeaDragon , eccetera.

Qualcuno ha risolto questo problema? Che cosa hai fatto? Suggerimenti e esempi visivi pronti all'uso sono i benvenuti.

34
Virtuosi Media

Non è così difficile se tratti gli "infiniti commenti nidificati" come un'altra dimensione nel tuo progetto. La maggior parte dei thread di commenti ha solo due dimensioni: il commento (X = 1) e il numero di commenti (Y = N). Ma ora hai commenti nidificati, aggiungendo Z = M al mix.

Dal punto di vista della progettazione dell'interfaccia utente, questo non dovrebbe rappresentare una grande sfida in quanto vi sono molti paradigmi per gestire dimensioni extra, come quelle descritte da Pam, nonché schede, pannelli, ecc. Il problema che incontriamo il mondo reale è che non c'è spazio infinito sullo schermo o infinita ricchezza disponibile. È qui che le cose si complicano: l'utente Web non vuole scorrere verso destra e la maggior parte delle caselle di commento sono soggette alla barra di scorrimento della pagina principale senza essere autosufficienti.

Twitter per iPad

Twitter per iPad recentemente mi ha dato l'ispirazione in questo settore. Lì, la dimensione Z viene presentata in modo interattivo come un riquadro sovrapposto sopra X, Y:

Twitter for iPad

Poiché stai utilizzando un iPad, hai il pieno controllo della possibilità di visualizzare o meno quel riquadro aggiuntivo per la visualizzazione completa o spostarlo. Quindi leggere i tweet (un elenco X, Y bidimensionale) va bene: basta scorrere su e giù. La maggior parte delle app di Twitter inciampano quando si cerca di aggiungere la terza dimensione, che sta ingrandendo un Tweet per vedere il suo contesto.

Ad esempio, un Tweet potrebbe essere una risposta a qualcun altro e in quei casi si desidera vedere la conversazione completa. La maggior parte dei client Twitter basati sul web caricherà una nuova pagina. La maggior parte delle app non lo supporta davvero. Ma Twitter per iPad riporta di nuovo quel riquadro a destra ed evidenzia il Tweet selezionato nel riquadro originale. Ora puoi leggere un elenco a scorrimento verticale di tutto ciò che è nel contesto. A questo punto, Z = 1. Se fai clic su un elemento in questo elenco, un altro riquadro entra da destra e ti trovi in ​​Z = 2.

Questo, in teoria, può continuare per Z = M, anche se non sono sicuro di cosa faccia lo stesso client Twitter (probabilmente si arresta in modo anomalo!). Questo modello sembra comunque invitante.

15
Rahul

Hai ragione, il rientro non riesce dopo un certo numero di livelli, ma puoi sempre cercare una soluzione come fa deviantArt (dopo circa 10 livelli, ti reindirizzano a una pagina diversa con l'intero flusso di risposta).

Preferirei cambiare le dimensioni dei caratteri o i pannelli di raggruppamento, però. Ecco un'immagine di cosa sto parlando. È più semplice e penso che riesca a fare il lavoro. Facebook in realtà fa un mix di entrambi nella pagina dei feed di notizie. L'idea principale è quella di mostrarli chiaramente, e allo stesso tempo mostrare quale sia stato il commento principale che ha dato il via alla catena di risposte. alt text

Ampliare l'argomento dei pannelli (poiché penso che tu abbia ragione riguardo al problema della dimensione del carattere), puoi differenziare i gruppi di commenti con il colore. Ha ancora bisogno di rientrare, ma ha bisogno di molto meno, il che ti dà spazio per molti più livelli di annidamento e lo mantiene ancora chiaro. Tuttavia, potresti voler ripensare quel link che porta a una pagina diversa dopo circa 6 livelli.

alt text

14
Pam Rdz

La UE in me deve chiedere: che tipo di conversazione richiede commenti infinitamente annidati?

Devono davvero essere nidificati all'infinito? Considera la modalità di conversazione di Gmail: raggruppa semplicemente tutte le risposte alla conversazione in ordine cronologico. Sembra funzionare abbastanza bene - non è cambiato da anni. L'unica lamentela che le persone hanno è che alcuni vogliono una "visione non filettata", ma questo è ancora più lontano da ciò che suggerisci.

8
Julian H

Ho affrontato questo problema, non rientrando, in alcune situazioni e usando le frecce per indicare quale commento risponde a quale commento.

Ecco un esempio, da n sistema di discussione open source Sto sviluppando:


Indicating which comment replies to which comment, via arrows


Ecco un link all'esempio sopra, nella vita reale: http://www.debiki.com/-71cs1#post-116979

(Ho anche scritto un articolo di blog su questo: http://www.debiki.com/-01jn7-solving-problem-nested-replies-indentation )

8
KajMagnus

Ho pensato a uno in qualche modo ispirato a MS Outlook 2010: raggruppare le conversazioni:

Mostra solo i commenti "LEAF", ognuno contenente tutti i commenti precedenti in quella linea di conversazione.

Ad esempio, considera la seguente struttura di "vita reale":

Post
 - Comment1
 - Comment2
   - Comment2.1
   - Comment2.2
     - Comment2.2.1

Quello che l'utente vedrebbe è:

Post
  - Comment1
  - Comment2.1
  - Comment2.2.1

Guardando Comment2.2.1, ad esempio, l'utente vedrebbe:

Comment2.2.1 by UserX 

     I agree!

Comment2.2 by UserY

     I think this should be done so and so

Comment2 by UserZ

     This post has a call for action, what do you think?

(Mentre Comment2.1 conterrebbe anche Comment2)

5
Dan Barak

Penso che il suggerimento di @ Dan di mostrare un solo commento e i suoi antenati abbia molto senso. Permette di vedere un messaggio nel contesto della conversazione che lo conduce senza la distrazione di rami irrilevanti.

Inizialmente un post potrebbe essere visualizzato in questo modo:

+-------------------------------+
| The Design of Everyday Things |
| by Don Norman                 |
|                               | 
|                   [3 comments]| 
+-------------------------------+

Facendo clic su [3 commenti] o premendo il tasto freccia giù si aprirà il primo commento sotto il post.

+-------------------------------+
| The Design of Everyday Things |
| by Don Norman                 |
|                               |
|                               | 
+-------------------------------+
|                     1 of 3 [x]| 
|                               |
|< That's a great book!        >|     
|                               |
+-------------------------------+                     

Da questo punto, è possibile scorrere tutti i commenti scritti sul post, utilizzando i pulsanti freccia o i tasti freccia destra e sinistra. (A proposito, ogni volta che dico i tasti freccia, è facile immaginare lo stesso con un touchscreen, inclinazione dell'accelerometro, joystick, trackball, ecc.)

Diciamo che vai a destra per leggere il prossimo commento:

+-------------------------------+
| The Design of Everyday Things |
| by Don Norman                 |
|                               |
|                               | 
+-------------------------------+
|                     2 of 3 [x]| 
|                               |
|  I want to read this one.     |
|< I've read his other two.    >|     
|                               |
|                   [8 comments]|
+-------------------------------+  

A questo punto, sei su un commento che ha otto commenti. Puoi scendere di livello e leggere quei commenti.

+-------------------------------+
| The Design of Everyday Things |
| by Don Norman                 |
|                               |
|                               | 
+-------------------------------+
|                     2 of 3 [x]| 
|                               |
|  I want to read this one.     |
|  I've read his other two.     |     
|                               |
+-------------------------------+  
|                     1 of 8 [x]| 
|                               |
|  I enjoyed this one and       |
|< Emotional Design. I didn't  >|
|  know there was a third.      |
|                               |     
|                   [2 comments]|
+-------------------------------+

E così via. In teoria, sarebbe facile seguire tutti i rami (o solo quelli interessanti) senza esaurire lo spazio, ingrandendo e rimpicciolendo come uno yo-yo, cercando di tenere la conversazione in testa o dimenticando quali rami sono già stati visitati.

Sarebbe anche banale salvare, aggiungere un segnalibro o stampare un commento particolare; il suo contesto verrebbe automaticamente incluso.

5

Ad un certo punto devi limitare gli utenti a un livello di annidamento. Se permetti agli utenti di annidare all'infinito, a un certo punto (di solito circa 3-4 livelli), il contenuto del commento originale non è più pertinente a ciò che accade ai livelli più annidati.

Vale anche la pena notare che se l'annidamento è limitato manualmente a un certo numero di livelli, le persone troveranno comunque modi per annidare artificialmente, come usare @replies e citare le persone più in alto nella catena di conversazione.

1
Jason

Guarda slashdot.org. Anche Reddit.com. Il loro sistema di commenti è abbastanza profondo (una volta rimosso il filtro).

Come? Presumo, sarebbe qualcosa con lo stesso approccio adottato quando si espande un sistema di cartelle in un sistema operativo. Relazioni genitori-> figlio. Non ho incontrato un limite alla profondità della struttura delle cartelle in Windows, ma non è molto complicato quando ci pensi.

Mostra "risposta migliore" (prima, più recente, la migliore, qualunque cosa). Visualizza la risposta all'inizio. Reply to top ha una risposta?

Penso anche che Phonescoop.com (Clicca per esempio con le risposte) abbia un modello interessante: le risposte vengono nascoste dopo un certo punto, ma puoi scavare più a fondo nelle conversazioni e mantenere la gerarchia.

Quando confronti Slashdot con Phonescoop, è più facile perdere di vista la gerarchia su Slashdot, ma devi fare molto di più facendo clic su Phonescoop. Slashdot usa anche sempre meno spazio man mano che diventi più profondo (sono sicuro che ad un certo punto si ferma e tutti si schiacciano insieme o semplicemente si allineano) ..

Alcuni siti non necessitano di nidificazione profonda. Questo sito per esempio. Il layout lo nega. I siti che si basano sul commentare altri commenti lo chiedono. La domanda è: quanta attività prevedi onestamente? E come puoi farlo presentare in modo significativo.

1
WernerCD

Questo è un problema difficile da risolvere, che costituisce anche un puzzle interessante. Se non stai limitando i livelli di annidamento, hai bisogno di qualcosa che esegua il loop senza interrompere l'annidamento. Il posizionamento (rientro) in loop confonderà il contesto della gerarchia.

Ho sperimentato il colore e penso che una soluzione possa essere trovata lì, forse.

È difficile, perché la soluzione di loop non può avere alcuno stato gerarchico, perché quando è in loop si "resetta" e perderai il contesto. Quindi la soluzione dovrà avere uno stato gerarchico temporaneo.

Qualche acquirente?

1
Løvskogen

È un problema NP-difficile.

Puoi risolvere questo problema, ma non puoi mai sapere (o dire) con certezza se è efficace o meno.

0
kmonsoor