Ho bisogno di sviluppare un'interfaccia utente per l'inserimento di qualcosa come "se x o (y e z) quindi fare a, b, ec". I dati da inserire sono già abbastanza complicati, come si fa a racchiuderlo in un'interfaccia utente intuitiva?Come progettare l'interfaccia utente per la creazione di espressioni condizionali?
risposta
Questo è un buon articolo
http://www.lukew.com/ff/entry.asp?1007
ho usato le idee in tale articolo, quando la costruzione di un modulo per l'immissione di tassi Deduzione beneficio. In poche parole, egli raccomanda di costruire la forma come Mad Libs (ricorda quei libri da bambino).
Credo che questa risposta non riguardi affatto la domanda. – atoumey
@atoumy Come questo non si riferisce? È un modo nuovo e diverso di tipo adlib di creare un modulo. Forse non è la migliore risposta qui, ma è un'alternativa e vale la pena dare un'occhiata a chiunque cerchi questa domanda. – Zoidberg
per me (e non ho downvoted perché mentre scrivo questo il punteggio di -1 è sufficiente), la tua risposta non è utile perché non affronta la domanda vera e propria. La domanda riguarda la costruzione di espressioni condizionali piuttosto che compilare un modulo. Questi sono due problemi diversi. Lo stile di progettazione delle "matrici folli" è in gran parte per forme statiche che possono essere trasformate in frasi. –
Sarà sempre una logica binaria come questa (solo Or, And's e Not's)? In tal caso, l'interfaccia utente potrebbe essere un designer logic diagram, simile a quelli utilizzati nella progettazione della logica circuitale.
Ecco un esempio di come ho risolto il problema per un database di bug. Ciò è stato fatto dieci anni fa su una macchina Linux, in modo che il L & F è piuttosto motivo-ish, ma mostra il concetto generale:
alt text http://www1.clearlight.com/~oakley/dbquery.jpg
Funziona più o meno come ci si aspetta. È possibile modificare "ANY of the following" in "TUTTI i seguenti" e le etichette sulle righe successive cambieranno da "or" a "and". Il pulsante "IS" può essere cambiato in "IS NOT" e "Pattern di corrispondenza" e alcune altre scelte.
Fai clic sui pulsanti +/- per aggiungere ulteriori criteri. Puoi creare gruppi logici che ti permettono di fare espressioni come "a o (be c)", eppure continua a leggere come una raccolta di frasi inglesi.
Nel tuo caso, invece di una sezione "Ordina per" potresti avere una sezione "fai queste cose".
Questo sarebbe scomodo da usare se devi creare query molto complesse, ma se hai bisogno di una query complessa probabilmente sei abbastanza intelligente da non aver bisogno di una GUI come questa. Questo è stato progettato più per l'utente occasionale per semplici query ad hoc.
Cambiare definitivamente il modo in cui appare se l'avessi dovuto ripetere, ma i meccanismi di base funzionano piuttosto bene.
Ecco la mia risposta da una domanda simile:Intuitive interface for Composing Boolean Logic?
vorrei spezzare l'interfaccia in due parti: la condizione e il risultato.
Ecco un esempio dell'interfaccia condizionale:
Alcune considerazioni
- L'interfaccia inizia semplice
- Se diventa complicato, è perché l'utente costruito passo dopo passo
- Nessuna modifica o trascinamento/rilascio - solo creazione e cancellazione di rami
- Le condizioni sono un semplice elenco a discesa in questo esempio, ma potrebbero essere più complicate o eventualmente annullate.Fondamentalmente questa interfaccia ti consente di comporre espressioni.
- penso che sia una buona idea per evitare questo tipo di interfaccia, se possibile
- 1. Creazione di base PSD per progettare l'interfaccia utente di app Android per dispositivo mdpi, 320/480px
- 2. espressioni condizionali in comprensioni Python dizionario
- 3. Le espressioni condizionali sono suddivise in pacchetti?
- 4. Come progettare per l'estensione
- 5. Come progettare query per la creazione di colonne dinamiche da file
- 6. Come evitare un "ritorno" implicito nel coffeescript in espressioni condizionali?
- 7. Un programmatore dovrebbe progettare interfacce utente?
- 8. Aggiunta del nome utente per progettare binari 4
- 9. Framework Web Java per progettare facilmente l'interfaccia utente
- 10. Espressioni monadiche in condizionali - Compensa GHC, rifiuto cabal
- 11. Le espressioni condizionali valgono sempre 0 o 1 in C?
- 12. Creazione di matrici di espressioni regolari Javascript
- 13. Come posso progettare un'interfaccia utente simile a "albero genealogico"?
- 14. Come progettare css per stampare un'etichetta
- 15. Utilizzo di PHP espressioni regolari per convalidare il nome utente
- 16. Creazione di espressioni "piatte" anziché "albero" LINQ
- 17. boost :: bind non può funzionare con espressioni condizionali?
- 18. DynamoDBMapper per salvataggi condizionali
- 19. Come progettare il carrello utilizzando la sessione?
- 20. Creazione dell'interfaccia utente per l'applicazione della console
- 21. Come usare condizionali in caso di sostituzione in Notepad ++ tramite espressioni regolari
- 22. Come progettare un'API facilmente estendibile con la semplicità di Enums?
- 23. Come progettare il database per consentire lo schema definito dall'utente
- 24. Progettare un database per rintracciare il proprietario
- 25. come progettare ViewModel
- 26. interfaccia Progettare per un'entità gerarchica
- 27. Come progettare la funzione di probabilità di accettazione per la ricottura simulata con costi distinti multipli?
- 28. Creazione di una vista indice per un utente di dispositivo
- 29. Come progettare applicazioni scalabili?
- 30. Posso progettare l'interfaccia utente in Xamarin.Forms utilizzando XAML
Penso che se ci fosse un modo per fare intuitivamente questo genere di cose visivamente ci sarebbe utilizzando che invece di scrivere codice. – Welbog
Anche se non specificamente per questo caso d'uso, questo saggio potrebbe fornirti preziose informazioni: http://worrydream.com/MagicInk/ – thSoft