2008-10-03 25 views
11

¿Cómo podría, como desarrollador con poca (o ninguna) inclinación artística, diseñar una GUI para una aplicación? En particular, estoy pensando en aplicaciones de escritorio, pero cualquier cosa que se relacione con las aplicaciones web también es bienvenida. Me resulta extremadamente difícil diseñar algo que tanto yo como los posibles usuarios consideremos satisfactorio. Puedo buscar esquemas de colores en la red, pero ¿cómo sabría dónde colocar botones/cuadros de texto/etc.?Diseñar una GUI

Actualización: Para aclarar, no me refiero a qué controles y tal uso. Más bien, ¿hay alguna guía/sugerencia sobre cuándo debo botones, combos, cuadros de texto, etc.? ¿Cuánto tiempo deberían estar y dónde los colocaría en el formulario?

Respuesta

21

Lo primero que debe hacer es salir de su punto de vista del desarrollador. Tendemos a pensar en términos de formas, controles, botones, listas, cuadrículas, etc. Y esto tiende a llevarnos a soluciones que no siempre son óptimas para el usuario.

Los usuarios no desean utilizar nuestro software. (excepto cuando estás programando juegos) Solo quieren hacer las cosas. Entonces, al diseñar la interfaz de usuario y las interacciones del usuario, tiene sentido comenzar desde allí. Escriba lo que un usuario quiere hacer con su software. Piense en cómo un usuario haría estas cosas y qué podría hacer su aplicación para facilitar las cosas.

Trate de trabajar con herramientas diferentes de las que utiliza para la programación. Esto te hace pensar en widgets UI de nuevo. Comience con un lápiz y un trozo de papel para dibujar, también intente pensar en el comportamiento, el diseño, etc. Si tiene una idea clara de lo que quiere construir, puede comenzar a pensar en cómo se siente. va a construirlo. Ahí es cuando entran los widgets, botones y páginas.

+0

Excelente respuesta. A +++ leería nuevamente. También te sugiero que muestres maquetas dibujadas a mano a tus usuarios para los primeros comentarios. Dibujado a mano es vital, no hay dibujos funcionales o de computadora, hacen que la interfaz de usuario se vea mucho más cerca de lo que se desea que se transmita. –

+0

Además, no se olvide de las pautas de diseño recomendadas por los proveedores del sistema operativo. Esto garantiza que su aplicación se comportará de forma que los usuarios ya estén familiarizados y sean competentes. Por ejemplo, la ubicación y el orden de los botones Aceptar, Cancelar y Aplicar en un diálogo. – Kev

+0

Gracias por las sugerencias. Es difícil dar una respuesta completa. Voy a hacer que esta wiki sea editable con la esperanza de que la gente pueda mejorarla. Así que siéntete libre de editar. – Mendelt

1

Si usted está diseñando para el escritorio, se pueden encontrar directrices para la interfaz del sistema operativo, que puede ayudar.

+0

Buena respuesta, muchas personas se olvidan de este hecho importante. – Kev

1

Joel Spolsky tiene unos muy buenos consejos de diseño de alto nivel:

http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html

encima de eso, lo más grande está tratando algo fuera, haciendo maquetas. Tal vez las iniciales en papel, pero en algún momento simplemente intente armar una GUI sin conectar el código. Vea lo que piensa, intente algunos cambios, pregunte a otras personas sus opiniones y simplemente experimente. La mejor técnica de diseño es obtener retroalimentación de las personas, preferiblemente de la audiencia objetivo si es posible.

1

No está claro si se trata de cómo crear una buena ventana de diálogo o cómo crear una apariencia coherente para una aplicación enorme.

Una buena referencia para saber cómo diseñar una interfaz de usuario efectiva y clara es User Interface Design for Programmers por ... espera ... Joel Spolsky.

+0

Iba por lo primero, en realidad. – Yuval

0

Basta con pensar en que sus usuarios son desde la perspectiva de su aplicación. Hay un tipo? ¿Más? Luego, para cada tipo de usuario, piense en las grandes cosas generales que quiere lograr. Presénteles esas elecciones generales, y luego vaya desde allí a las interfaces más apropiadas para cada tarea.

Finalmente, si tiene un gran conjunto de pasos, un asistente es bueno porque le permite validar cada paso uno a la vez. Esto es obvio en una aplicación nativa, pero muy útil en la web.

2

Además de todo lo que se ha dicho en esta página, agregaría que cuanto menos notes una GUI, mejor es.

Es decir, cuando la interfaz de usuario no es percibida por el usuario, es porque el usuario está haciendo su trabajo. Los usuarios notan la GUI cuando (a) es bella (piense en Apple) o (b) es horrible (piense en cualquier GUI que haya usado que lo haya frustrado).

0

Nunca he visto el diseño de la interfaz gráfica de usuario como una actividad fundamentalmente artística. Si bien es cierto que una interfaz de usuario bien diseñada se puede mejorar con elementos artísticos, el diseño de la interfaz de usuario subyacente es realmente un esfuerzo de ingeniería. Ciertamente, en proyectos más grandes, un especialista GUI es una especialización natural, al igual que tener un especialista en compilación, etc. Pero creo que es el raro ingeniero de software el que no puede crear una GUI efectiva, cuando se le da el tiempo y los recursos para hacerlo.

La mayoría de nosotros hemos aprendido la mayoría de lo que sabemos sobre los sistemas de construcción al reconocer la bondad en el sistema existente y luego enrollarlos son innovadores, y manteniéndolo hasta que funcione. La GUI no es una excepción.

5

Las aplicaciones que desarrollé se hacen clic miles de veces por hora, por lo que todo se reduce a la eficiencia. Me gusta pensar que es una especie de moneda con la que puede generar muchos axiomas útiles:

Si guarda un clic, +1.

Si cuesta un clic, -1.

Si el usuario pierde tiempo averiguando cómo funciona, -1. (La mayoría de los elementos personalizados de la IU)

Si es fundamentalmente intuitivo, +1. (Coverflow)

Si le ahorra a los usuarios primerizos un clic, +1. (Asistentes)

Si cuesta a los usuarios a largo plazo un clic, -1. (Wizards)

(Así, por qué tiene que asegurarse de que sus atajos de teclado y órdenes de tabulación tienen sentido.)

Etc.

Etc.

todo se ponderado subjetivamente y contados y que de compromiso donde tienes que hacerlo En última instancia, podría ser una filosofía ingenua, pero me sirvió bastante bien. Extrapolate como mejor te parezca.

0

Hay algunos patrones de interfaz de usuario que se presentan en the UI patterns site que pueden serle de utilidad

En general, si usted está diseñando la forma de las ventanas siguen los diversos Microsoft guidelines.

Uno de los principales que tengo en cuenta es utilizar patrones de comportamiento existentes (hacer doble clic para ejecutar/activar un elemento, etc.) ya que las personas ya los conocen.

Cuestiones relacionadas