2010-03-30 16 views
6

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?

+3

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

+0

Aunque no específicamente para este caso de uso, este ensayo puede proporcionarle información valiosa: http://worrydream.com/MagicInk/ – thSoft

Respuesta

0

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).

+1

Creo que esta respuesta no se relaciona con la pregunta en absoluto. – atoumey

+0

@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

+0

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. –

0

¿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.

2

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.

1

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:

enter image description here

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
Cuestiones relacionadas