Finestre multiple

3

Qualche tempo fa ho avuto una discussione con un compagno di classe sul fatto che la nostra applicazione dovesse utilizzare più JFrames o Windows. Sono un utente Linux e ho detto di sì. È un utente di Windows e ha detto no. Quando si chiedeva in giro nel team, sembrava che tutti gli utenti di Linux volessero più finestre, e gli utenti di Windows sembravano aver paura di ciò. Alla fine abbiamo deciso di utilizzare JDesktopPanes.

Questa discussione mi ha fatto pensare però. Sembra che in linux l'uso di più finestre sia comune, vedere lo screenshot di gimp in basso, mentre in Windows è praticamente sconosciuto. (Tranne che in paint.net, per qualche ragione.)

Ora sono davvero curioso, da dove viene questa differenza? La multi finestra è meglio supportata su linux? O Windows è in grado di ottimizzare una finestra meglio?

Quali sono i vantaggi e gli svantaggi dell'utilizzo di una finestra su più e viceversa, sia in linux che in windows?

(E una piccola domanda, quale tag utilizzerei per Windows come nelle viste, non Windows il sistema operativo?)

    
posta Daniël van den Berg 24.03.2016 - 16:25
fonte

2 risposte

4

Sfondo

Mentre diverse finestre per un'applicazione sono perfettamente possibili in Windows (vedi implementazione di GIMP), non è comunemente usata. Uno dei motivi potrebbe essere legato al background tecnico.

La prima versione decente di Windows era Windows 3.0 . Poiché la sua API Win32 era piuttosto complessa, Microsoft ha spinto la sua libreria MFC sin dall'inizio (1992), per semplificare lo sviluppo di applicazioni . Ciò ha promosso un'interfaccia basata su documenti che è disponibile in due versioni: SDI (interfaccia single docucment) e MDI (interfaccia per documenti multipli ). Dato che Microsoft ha fornito le proprie applicazioni utilizzando questo tipo di interfaccia, molti sviluppatori hanno apprezzato lo stesso approccio.

Poi arriva l'aspetto culturale. L'utente si è abituato alla finestra logica 1 app = 1. Gli oggetti correlati sono stati raggruppati visivamente nella stessa finestra (ad eccezione delle finestre di dialogo modali). Sugli schermi più piccoli, che erano comuni nei PC precedenti, le attività di commutazione consistevano nel ridurre un'app (in un clic) e massimizzare l'altra (sempre con un clic). Le nuove applicazioni che utilizzavano un approccio diverso dovevano affrontare la resistenza dell'utente poiché erano percepite meno native. Quindi gli sviluppatori tendono ad adottare le aspettative della loro base di utenti. E così via ...

Su unix / linux, negli anni 80, le persone che utilizzavano una GUI di solito lavoravano su workstation con schermi molto più grandi e risoluzioni più elevate. Quindi non c'era lo stesso problema di "screen estate". Windowing era basato su X11 e non esisteva alcuna libreria che incoraggiasse l'uso di pardigm 1 app = 1 windows. Più tardi Motivo sviluppato per essere il toolkit widget standard e offerto nessuna possibilità di implementare interfacce MDI . Quindi la vasta base di utenti era abituata a diverse finestre per una sola app (1 finestra = 1 documento o 1 compito). I nuovi utenti l'hanno imparato in quel modo e l'hanno trovato naturale, in modo che le aspettative non siano le stesse di quelle su una base Windows.

Addvantages / disagi

Siamo onesti: il confronto sarà sempre soggettivo. È piuttosto una questione di filosofia:

  • Mantenere tutto in una finestra è un approccio centrato sull'applicazione.

  • Avere più finestre sullo schermo è un approccio centrato su documenti / attività.

  • I browser più diffusi che vengono utilizzati da una vasta base di utenti attraverso SO, tendono a passare a un approccio a schede con una finestra. Ma forniscono anche scorciatoie per creare finestre aggiuntive (possono essere configurate)

  • Gli utenti occasionali tendono a essere persi con troppe finestre.

  • L'ampia base di utenti vuole un'applicazione adatta al look & senti che sono abituati.

Quindi, se possibile, suggerirei di supportare entrambi gli approcci e consentire all'utente di scegliere in una configurazione dialog (sembra anche essere l'approccio dell'ultima versione di GIMP)

È difficile venire con argomenti oggettivi.

    
risposta data 24.03.2016 - 17:04
fonte
1

Storicamente, in Windows, quando dovevi gestire più "finestre" in una volta, hai usato Windows figlio (chiamato MDI, grazie a Christophe per avermi ricordato il termine tecnico). La tecnica è stata ancora utilizzata, ad esempio, in Photoshop 7 (cerca in Google gli screenshot). Molte applicazioni hanno utilizzato questa tecnica in passato (compreso, credo, ciò che è diventato successivamente Microsoft Office), ma la maggior parte l'ha abbandonata.

Il vantaggio dell'approccio in cui una finestra principale contiene finestre secondarie è che la riduzione e lo spostamento vengono gestiti automaticamente dal sistema operativo. Lo svantaggio è che non puoi posizionare le finestre dei tuoi figli quando vuoi, il che è anche limitante nella configurazione a doppio monitor. La limitazione è stata, ad esempio, presa in considerazione in Visual Studio: le versioni più recenti consentono di creare infinite combinazioni di finestre indipendenti l'una dall'altra.

Anche Adobe Photoshop utilizza la stessa tecnica. Sebbene per impostazione predefinita le palette siano visualizzate all'interno della finestra principale, puoi scollegarle e spostarle su un altro monitor.

Adobe Lightroom, d'altra parte, utilizza un approccio diverso. È possibile utilizzare fino a due monitor, uno contenente la finestra principale e l'interfaccia e il secondo contenente la foto a schermo intero. La mancanza di flessibilità (cioè essere in grado di spostare tutto intorno) significa anche una minore complessità per gli utenti. Non c'è molto bisogno di staccare i pannelli, ad eccezione dello scenario in cui si desidera effettivamente visualizzare la visualizzazione a schermo intero.

Quindi, i vantaggi di più finestre sono:

  • Massima flessibilità per l'utente, soprattutto quando si utilizzano più monitor.

Gli svantaggi di più finestre sono:

  • La gestione delle finestre viene eseguita dall'applicazione. Ad esempio, cosa succede quando minimizzi la finestra principale? Le altre finestre dovrebbero essere ridotte al minimo? Rimanere intatto? O forse dipende dalle finestre (ad esempio, riduci le palette, ma tieni tutto il resto)?

  • La gestione di Windows non è un compito facile per gli utenti. Possono essere facilmente persi. Non dovrebbe essere inusuale ricevere una chiamata da un cliente, dicendo che la palette è scomparsa e non c'è modo di visualizzarla più a lungo: dopo l'ispezione, sembra che la tavolozza si trovasse su un secondo monitor che era semplicemente spento. A titolo illustrativo, mia moglie è stata persa in più occasioni dove utilizzava le finestre di Gimp che erano state spostate o nascoste.

Come puoi notare, questo non ha nulla a che fare con i sistemi operativi. Visual Studio è difficilmente ispirato a Linux, così come Photoshop che dovrebbe essere ispirato principalmente a OS X. Il tuo esempio di Windows Paint è imperfetto per due motivi: (1) è un'applicazione elementare che difficilmente può essere paragonata ad applicazioni come Gimp; (2) le nuove versioni come WordPad e Paint sono ispirate dal design Office Ribbon, il che significa che la tavolozza si attacca alla parte superiore della finestra, piuttosto che essere sul lato, o avere una posizione flessibile o essere una finestra separata.

Conclusione:

Si tratta di esperienza utente . Un interaction designer dovrebbe studiare come viene utilizzata l'applicazione e identificare i possibili flussi di lavoro quando l'utente trarrebbe vantaggio da due o più finestre separate. La presenza di un doppio monitor tra gli utenti è un fattore importante (quindi gli IDE e gli editor grafici sono più inclini a utilizzare più finestre, poiché sono spesso utilizzati da persone che possono permettersi due o tre monitor), ma anche un monitor può trarre vantaggio da in termini di organizzazione dello spazio di lavoro.

    
risposta data 24.03.2016 - 17:12
fonte

Leggi altre domande sui tag