Necesito desarrollar una interfaz de usuario para ingresar algo como "si x o (y y z) luego haga a, b, y c". Los datos que se ingresan ya son bastante complicados, ¿cómo se puede resumir en una interfaz de usuario intuitiva?¿Cómo diseñar la interfaz de usuario para construir expresiones condicionales?
Respuesta
Este es un buen artículo
http://www.lukew.com/ff/entry.asp?1007
que utiliza las ideas en ese artículo cuando se construye un formulario para entrar en las tasas de deducción de beneficios. A falta de eso, recomienda que construya la forma como Mad Libs (recuerde esos libros cuando era niño).
Creo que esta respuesta no se relaciona con la pregunta en absoluto. – atoumey
@atoumy ¿Cómo no se relaciona esto? Es una forma nueva y diferente de crear un formulario tipo adlib. Tal vez no sea la MEJOR respuesta aquí, pero es una alternativa y vale la pena mirar por cualquiera que busque esta pregunta. – Zoidberg
para mí (y no he votado negativamente porque cuando escribo esto el puntaje de -1 es suficiente), su respuesta no es útil porque no aborda la pregunta real. La pregunta es sobre la construcción de expresiones condicionales en lugar de completar un formulario. Esos son dos problemas diferentes. El estilo de diseño de formas "locas" es principalmente para las formas estáticas que se pueden trabajar en oraciones. –
¿Siempre habrá lógica binaria como esta (solo Or's, And's, y Not's)? Si es así, podría hacer que la interfaz de usuario sea un diseñador logic diagram, similar a los que se usan en el diseño de la lógica de circuito.
Aquí hay un ejemplo de cómo resolví el problema para una base de datos de errores. Esto se hizo hace una década en una máquina Linux, por lo que la L & F es más bien motivo-ish, pero muestra el concepto general:
alt text http://www1.clearlight.com/~oakley/dbquery.jpg
Funciona más o menos como se esperaba. Puede cambiar "CUALQUIERA de las siguientes" para "TODAS las siguientes" y las etiquetas de las líneas siguientes cambiarán de "o" a "y". El botón "IS" se puede cambiar a "IS NOT" así como también a "Matches pattern" y algunas otras opciones.
Haga clic en los botones +/- para agregar criterios adicionales. Puede crear grupos lógicos que le permitan hacer expresiones como "a o (byc)", y aún así parece ser una colección de oraciones en inglés.
En su caso, en lugar de una sección de "Ordenar por", es posible que tenga una sección de "hacer estas cosas".
Esto sería engorroso de usar si tiene que crear consultas muy complejas, pero si necesita una consulta compleja, es probable que sea lo suficientemente inteligente como para no necesitar una GUI como esta. Esto fue diseñado más para el usuario ocasional para consultas ad hoc simples.
Definitivamente cambiaría la forma en que esto se ve si tuviera que volver a hacerlo, pero la mecánica básica funciona bastante bien.
Aquí es mi respuesta a una pregunta similar:Intuitive interface for Composing Boolean Logic?
Me gustaría romper su interfaz en dos partes: la condición y el resultado.
He aquí un ejemplo de la interfaz condicional:
Algunos pensamientos
- La interfaz comienza sencilla
- Si se pone complicado, es porque el usuario construye paso a paso
- Sin edición o arrastrar/soltar - Simplemente creando y borrando ramas
- Las condiciones son un menú desplegable simple en este ejemplo, pero podrían ser más complicadas o posiblemente negadas.Básicamente esta interfaz te permite componer expresiones.
- creo que es una buena idea para evitar este tipo de interfaz, si es posible
- 1. Marco web Java para diseñar fácilmente la interfaz de usuario
- 2. 1TBS para expresiones condicionales largas
- 3. ¿Forma fácil de construir la interfaz de usuario de Android?
- 4. Analizando Expresiones Condicionales a la Cadena
- 5. expresiones condicionales larga dividida por líneas a
- 6. ¿Cuál es el mejor diseño en Android que podemos usar para diseñar la interfaz de usuario?
- 7. ¿Diseñar desde la base de datos hasta la interfaz de usuario o de otra manera?
- 8. checkValidity para actualizar la interfaz de usuario
- 9. Sugerencias para la interfaz de usuario de Windows Mobile
- 10. Definición de rutas condicionales
- 11. Cómo diseñar para la extensión
- 12. Inspiración de interfaz de usuario para aplicaciones de iPhone
- 13. bash condicionales: ¿cómo "y" expresiones? (si [! -z $ VAR && -e $ VAR])
- 14. ¿Cómo diseñar para guardar datos incompletos ingresados por el usuario?
- 15. Diseñar olvidado la contraseña para el usuario conectado
- 16. Cómo implementar la interfaz de usuario dinámica de WPF
- 17. IISExpress interfaz de usuario
- 18. Hacer interfaz de usuario para la aplicación de consola
- 19. Uso del navegador para la interfaz de usuario de escritorio
- 20. Diseño de interfaz de usuario en Flex
- 21. Controles de interfaz de usuario para Win32
- 22. Diseño de interfaz de usuario con GWT
- 23. ¿Se rompen las expresiones condicionales dentro de los paquetes?
- 24. Marco de Javascript para la interfaz de usuario del juego
- 25. Django facilidad de construir una interfaz RESTful
- 26. Directrices para diseñar Clean Interface
- 27. ¿Cómo actualizar la interfaz de usuario desde la capa empresarial?
- 28. Interfaz gráfica de usuario de Python para la aplicación portátil
- 29. Obtención de la interfaz de usuario angular para trabajar
- 30. Marco de interfaz de usuario de Java?
Creo que si hubiera una manera de hacerlo intuitivamente este tipo de cosas visualmente estaríamos usando que en vez de escribir código. – Welbog
Aunque no específicamente para este caso de uso, este ensayo puede proporcionarle información valiosa: http://worrydream.com/MagicInk/ – thSoft