Pregunta

Como programadores, podemos resolver problemas muy complejos, pero luego, cuando tenemos que diseñar una interfaz de usuario, tendemos a fallar en hacerlos fáciles de usar.

En pequeñas empresas no pueden permitirse tener diseñadores y expertos en UX, los programadores tienen que hacer casi todo en el software. Pero estas interfaces rara vez son intuitivas (El ejemplo clásico).

¿Cuál es el problema? ¿Cómo pueden los desarrolladores mejorar sus habilidades para diseñar buenas experiencias de usuario?

¿Fue útil?

Solución

He encontrado este problema muchas veces en mi carrera: el truco es ser consciente de que es un problema y reconocerlo. Una vez que hayas hecho eso, es más fácil dejar de hacer interfaces demasiado complejas.

La interfaz de usuario también forma parte de la ingeniería de software, pero quizás para muchos ingenieros de software no tan interesantes. Sin embargo, hay muchos desafíos interesantes relacionados con esto, y probablemente puedan ser tan interesantes como desafíos más técnicos, en mi experiencia.

Usabilidad, diseño de experiencia del usuario (UX), interacción humana -computadora (HCI): no es mágico y es es una parte del proceso de desarrollo de software.

Mi consejo es:

  • reconocer sus limitaciones
  • Pregunte y escuche a las personas que afirman saber sobre estas cosas
  • Cuando no está seguro, busque en Google y busque respuestas autorizadas

Siguiendo estos principios simples a lo largo de los años, en realidad he acumulado información útil sobre cómo construir interfaces de usuario, cómo las personas interactúan con el software y cómo piensan cuando lo usan. De ninguna manera soy un experto, pero probablemente conozco un poco Bit más que su programador promedio.

Tl; dr: BESO

Otros consejos

Es biológico.

  • La interfaz de usuario y todas las demás tareas relacionadas con el diseño involucran la cerebro derecho.
  • La tarea de programación involucra el cerebro izquierdo.

Tienen diferentes propósitos.

Es muy raro ser bueno en ambos. Al menos al mismo tiempo.

brain

ACTUALIZACIÓN: Recientemente aprendí que hay otros factores como la experiencia. Además de algunos factores heredados, desarrolla capacidades mentales dependiendo de cómo se desencadene en su infancia. Por ejemplo, los niños maltratados son en promedio más creativos que el grupo de control porque aprenden a desconectarse de su horrible realidad en los sueños.

Supongo que podría discutir sobre cómo los programadores y diseñadores tienen diferentes mentalidades o personalidades diferentes, o discutir sobre el cerebro izquierdo versus el cerebro derecho y el creativo versus lógico, pero en realidad, hay tres problemas fundamentales:

  1. El trabajo de los programadores es su software. Se preocupan por eso; dedican su atención a ello; Pueden entusiasmarse con eso. El trabajo de los usuarios es algo más; El software es solo una herramienta para facilitar hacer otra cosa, y quieren pasar el menor tiempo posible prestando atención para que puedan concentrarse en lo que ellos hacer preocuparse. Mientras los programadores malinterpreten esto, van a hacer las compensaciones equivocadas en el diseño de la interfaz de usuario. (Para más información sobre este tema, ver "Controlar su entorno de Joel Spolsky te hace feliz" o "Leyes fundamentales" de David S. Platt.)
  2. Los programadores conocen su software íntimamente. Se sienten cómodos con sus detalles y su complejidad; Entienden por qué actúa como lo hace porque tienen un modelo mental completo. Los usuarios no tienen la ocasión (o el interés; ver el punto #1) para aprender cada detalle, y es imposible que tengan un modelo mental completo porque no tienen acceso o comprenden el código fuente. (Para obtener más información sobre la importancia de los modelos mentales, tal vez podría leer Donand Norman's El diseño de las cosas cotidianas; Aunque no es específico para las computadoras, es un buen libro sobre el diseño de la interfaz).
  3. Las compensaciones de los programadores son diferentes a los usuarios. Un programador puede decidir fácilmente dejar una función demasiado compleja o solo semiautomated o de otra manera menos que se puede usar porque para el programador es más fácil lidiar con la falta de usabilidad que codificarla correctamente. Al usuario no le importa (mucho) cuánto esfuerzo se necesita al programador para codificarlo correctamente y preferiría tenerlo completamente utilizable.

El tercer problema se puede resolver teniendo suficiente disciplina para no tomar la salida fácil. No estoy seguro de que los dos primeros problemas sean solucionables; Cuanto más cerca esté de su trabajo, más difícil será verlo como lo hace un extraño. Es por eso que las pruebas de usabilidad, incluso cosas simples e informales, como agarrar a alguien en el pasillo y sentarse frente a su aplicación, son muy importantes.

Licenciado bajo: CC-BY-SA con atribución
scroll top