it-swarm.it

Progettazione di un nastro fluido per un'applicazione CRUD

Sto lavorando alla progettazione di una UX in stile Fluent ("Ribbon") per un'applicazione CRUD che funziona su un database.

Ci sono molte informazioni su come progettare un nastro per applicazioni basate su documenti. linee guida Microsoft specificano persino schede e gruppi standard.

Tuttavia, questi gruppi standard non sembrano adattarsi perfettamente a situazioni non documentali. Il comando "Trova", ad esempio, dovrebbe essere all'interno di un gruppo "Modifica":

alt text

Interamente rilevante per la ricerca entro un documento, ma non per la ricerca per un record.

Quali risorse e/o esempi ci sono per usare la barra multifunzione per applicazioni non documentali?

Aggiornato il 27/9: Sì, sono sicuro che una barra multifunzione sia appropriata per l'applicazione che sto sviluppando. Non è incentrato sui documenti, ma non è nemmeno puro CRUD - è un'applicazione complessa con un sacco di comportamento aziendale. Sarà più facile per me organizzare un seminario sull'organizzazione del nastro se posso fornire alcune indicazioni in anticipo, quindi spero in alcune risposte alla mia domanda originale su risorse ed esempi.

14
Bevan

Penso che il miglior esempio che potresti vedere sia MS Access. Tutti i comandi CRUD sono in un gruppo Record e il comando Trova è nel gruppo Trova!

alt text

14
Tania Gobeil

La barra multifunzione è stata progettata per programmi con molti comandi, l'applicazione CRUD tende ad avere solo pochi comandi, quindi forse la barra multifunzione non è l'interfaccia utente corretta per cominciare.

Puoi fare ciò che MS ha fatto quando hanno progettato la barra multifunzione, prendere quante più persone possibile (che conoscono il campo, preferibilmente i clienti), quindi dare un elenco di schede/gruppi e alcuni comandi e lasciare che scelgano il luogo più logico per il comando.

E, soprattutto, non seguire ciecamente le linee guida (ma anche non ignorarle senza una buona ragione) e non confondere le tue preferenze personali con ciò che gli utenti trovano intuitivo.

11
Nir

Sono quasi nella stessa situazione in cui ti trovi con la mia applicazione e sto progettando un'interfaccia "Ribbon". Ho contemplato una situazione in cui raggruppo i comandi nella barra multifunzione in base all'oggetto "business" principale. In altre parole, se la mia app consentisse agli utenti di gestire clienti e fornitori sarebbe logico disporre di un gruppo di nastri dedicato ai clienti, con tutti i comandi che invoceresti comunemente e quindi un altro gruppo di nastri dedicato ai fornitori con i vari comandi che rendono ha senso correre contro quegli oggetti\record?

Mentre lo elaboravo, è diventato evidente (almeno per me) che la gestione dello schermo diventerebbe molto complicata con questo stile se fornissi solo un singolo nastro e probabilmente frustrerebbe gli utenti più che di aiuto.

Circa la migliore interfaccia utente che ho incontrato che affronta almeno tangenzialmente questo problema è l'interfaccia di Outlook 2010. Outlook si basa su un elemento di navigazione separato, ma quando si passa da Messaggi a Contatti, ad esempio, la barra multifunzione cambia per mostrare i comandi supportati per l'interfaccia con cui si sta lavorando in quel momento.

Riportandolo al tuo esempio, sembrerebbe che la ricerca di un particolare record implichi che l'utente conosce il tipo di record che sta cercando. Può essere logico innanzitutto disporre di un sistema di navigazione in modo che l'utente possa navigare verso l'oggetto principale (ad es. Vista Clienti) e quindi presentare un insieme di comandi all'interno della barra multifunzione che riguardano esclusivamente i Clienti. Find potrebbe effettivamente essere nel gruppo "Modifica", ma il suo contesto riguarda solo la vista Clienti. È inoltre possibile che sia presente un altro comando Trova in un gruppo di modifica relativo a qualche altra entità all'interno dell'applicazione.

3
Tim Lentine

Ci ho pensato anche io e l'idea principale che mi è venuta in mente è simile a quella descritta da Tim Lentine: avere una scheda per ciascuno dei miei principali oggetti aziendali. Metterei i comandi più comunemente eseguiti per quell'oggetto nella scheda, ad esempio e l'oggetto "Ordine" potrebbe avere un comando per modificare lo stato (ad es. Annullare, spedire, ecc.), Fatturare, inviare fattura, ecc.

Tuttavia, ho anche pensato a come funziona la barra multifunzione nella Raccolta foto di Windows Live. In un certo senso, sta gestendo un database (di foto e metadati). Di particolare interesse erano le schede Home, Trova e Visualizza. Mi è piaciuta anche l'idea della casella di ricerca/filtro che appare.

photo gallery ribbon

Quindi queste sono le due idee principali sulla barra multifunzione per un'applicazione CRUD su cui ho riflettuto. Tuttavia, non ho ancora deciso nulla.

Lungo le linee della galleria fotografica, potrei fare una scheda per recuperare un particolare elenco di dati ed eliminare, ecc. (Ho pianificato di rendere il pannello principale della mia finestra visualizzare un elenco di oggetti). Potrei averne un altro per filtrare/raggruppare (simile alla scheda 'view' di WLPG). Probabilmente avrei un'altra scheda per i rapporti. Potrei anche usare le schede contestuali per eseguire comandi comuni sull'oggetto selezionato come ho descritto nel primo paragrafo.

2
Benny Jobigan

Non ho una vasta esperienza in un'app CRUD con una barra multifunzione, ma ecco alcune idee ...

Leggi - Avere una o più schede impegnate nei modi standard in cui un utente trova gli oggetti particolari. Ad esempio, se si trattasse di un database del college, una scheda per studenti/docenti, una per le classi e una per gli edifici. Raggruppa gli oggetti nelle schede per livelli più fini come uno per gli studenti e uno per il personale. Se si tratta di una semplice query sul campo, è possibile inserire direttamente il controllo di testo normale o visualizzare la finestra di dialogo di ricerca complessa.

Crea - ha solo una scheda per l'eliminazione o inseriscila nelle schede di lettura. Se si esegue una scheda di creazione separata, associare i gruppi alle schede e aggiungere separatori per creare mini-gruppi.

Aggiornamento - Considererei seriamente le schede contestuali per questo. Un contesto per tipo di oggetto. Se un modulo ha più tipi, dovrai guidare il contesto dal focus della tastiera. Non così divertente. Potresti anche volere queste attività di aggiornamento nei moduli stessi, specialmente se mappano bene le opzioni di 'comando' della finestra di dialogo come applica e così.

Elimina - Sepolto bene nel comando, non sulla barra multifunzione per impostazione predefinita. La distruzione dei dati è qualcosa da scoraggiare. Incoraggia invece l'utente a "archiviare" o "deprecare" o "laureare" i dati in modo che vengano visualizzati solo in query specifiche. E quelle azioni sono generalmente specifiche dell'oggetto in modo da vivere nelle forme o nelle schede contestuali. Lascia che le attività di backup, archiviazione e manutenzione settimanali eseguano l'eliminazione.

0
shemnon