Superar la falta general de habilidad de diseño de interfaz de usuario en los desarrolladores [cerrado]


17

Me han dicho, y he descubierto por mí mismo, que muchos desarrolladores no son buenos en el diseño de la interfaz de usuario (no sé qué tan cierto es esto), pero al menos es cierto sobre mí .

En el desarrollo web, las buenas habilidades de desarrollo de código no son suficientes sin grandes habilidades en diseño de interfaz de usuario para acompañarlas.

Entonces, para mí, y para muchos desarrolladores como yo, que solo tienen la mitad de las cosas (buenas habilidades de desarrollo), ¿cómo deberíamos completar nuestra otra mitad además de pagar por un diseñador?

¿Usar plantillas web de código abierto con pequeñas modificaciones es la mejor solución para esto, o hay otras opciones?


12
"Como una persona UX con habilidades de desarrollo pobres, ¿cómo debo desarrollar un sitio, sin pagarle a un desarrollador?"
Steven Evers

Deberías ver en lo que estoy trabajando ahora: desastre de UI. No creo que nadie que trabaje en el proyecto haya mirado las guías de diseño de la interfaz de usuario. Lo mismo ocurre con mi proyecto anterior, solo en ese sí forcé el problema y me involucré con el diseñador gráfico, pero había algunas partes del código que estaban fuera de mi control que eran realmente horribles.
Skizz

77
Contrata a un diseñador. Es la única forma de estar seguro.
SF.

1
Esta pregunta es problemática. También podría hablar de superar la falta general de habilidad de programación en los diseñadores.
Alex Feinman

Respuestas:


11

Soy un desarrollador que tampoco es tan bueno en diseño. Intento hacer todo lo posible, cuando trabajo en un proyecto en el que debo diseñar, para mantener las cosas lo más simples posible. Tomo un enfoque y diseño muy lógico solo para la experiencia del usuario. No puedo hacer que se vea realmente hermoso, pero puedo hacerlo fácil de usar y relativamente agradable a la vista.

He leído varios de estos libros: http://www.uxbydesign.org/2009/06/24/20-user-experience-books-you-should-own/ y realmente me han ayudado.

editar mi favorito en esa lista es Don't Make Me Think: A Common Sense Approach to Web usability, 2nd Edition por Steve Krug


No sé por qué los desarrolladores sienten que deben ser todo para todos todo el tiempo. Ya soy desarrollador, diseñador, arquitecto, analista de negocios, soporte de producción y control de calidad. Todavía no es suficiente y tengo que ser un DBA ahora también.
maple_shaft

3
Como autónomo, debes tener todas las habilidades tú mismo o ser forzado a subcontratar partes de un proyecto. Si no puede hacer algo por completo, entonces es una lástima que necesite encontrar a alguien más. Pero si puedes aprender las habilidades, ¿por qué no? Y ser capaz de ganar más y convertirte en un desarrollador más atractivo desde la perspectiva de los clientes potenciales.
Sydenam

2
Sé y estoy de acuerdo con usted, me estoy disgustando con lo que se está convirtiendo la industria. Estoy rodeado de personas que odian su trabajo y tienen un exceso de trabajo, y tengo una estúpida idea de que esperan ser los próximos Angry Birds y me preguntan si pueden pagarle a un indio $ 6 / por hora para hacer TODO EL TRABAJO y simplemente abrir fuente para todo sin contribuir porque la fuente abierta después de todo es GRATIS. Luego esperan ganar millones y renunciar a su trabajo. Estos poseedores de malas ideas esperan más y más y luego aún más por casi nada de dinero. Eso me enferma.
maple_shaft

5

El diseño (de cualquier cosa) es una negociación entre las necesidades de las diversas partes interesadas (cliente, desarrollador, usuarios). Por lo general, ninguno de los interesados ​​está en una buena posición para crear el mejor diseño porque tienden a comprender mejor sus propias necesidades y ponerlas por encima de las necesidades de los otros interesados. Un buen diseñador puede identificar las necesidades de los diversos interesados ​​(a menudo necesita que el propio interesado no se dé cuenta de que lo ha hecho) y encontrar una solución que funcione para todos.

Probablemente lo hayas visto muchas veces. Los usuarios piensan en cómo deben interactuar con un sistema, generalmente en términos de algún otro sistema con el que ya estén familiarizados. Los desarrolladores piensan principalmente en términos de cómo funciona el sistema. Los clientes generalmente quieren algo que resuelva todos sus problemas, o de lo contrario quieren resolver un problema muy específico al menor costo.

Para convertirse en un buen diseñador, debes aprender a dejar de pensar en cómo implementar algo. En cambio, debe centrarse en lo que los otros interesados ​​le están diciendo sobre lo que necesitan y quieren, y debe poder leer entre líneas. Al igual que los desarrolladores, los clientes y los usuarios a menudo tienen en mente alguna solución preconcebida y tienden a describir esa solución en lugar de los requisitos subyacentes. (Dicho esto, es importante darse cuenta de que a veces un cliente quiere decir lo que dice cuando le dice exactamente lo que quiere; si no está seguro, pregunte).

Más superficialmente, el diseño estético de una interfaz de usuario también es algo con lo que algunos desarrolladores tienen problemas. Creo que eso se debe en parte a que los desarrolladores de software a menudo no tienen mucha capacitación en estética; los estudiantes de CS pueden no tener mucho tiempo para las clases de arte. También es en parte nuevamente porque estamos más interesados ​​en cómo funciona algo que en cómo se ve; simplemente no nos importa si las esquinas de un botón tienen un radio de 9 píxeles o un radio de 10 píxeles. Estos dos factores están seguramente relacionados. A veces puede superar esto confiando en soluciones enlatadas en forma de marcos de interfaz de usuario, y el uso de componentes prediseñados tiene la ventaja de unificar su propio trabajo visualmente con otras aplicaciones en el mismo sistema. Puedes mejorar tus habilidades estéticas leyendo, mirando el trabajo de otras personas, y prestando mucha atención a los detalles visuales que podría haber ignorado en el pasado. También debe tratar de comprender la lógica detrás de las diferencias visuales: ¿los botones con esquinas cuadradas significan algo diferente de los botones redondeados? ¿Cómo se usa el color? etc.


1
gracias por la respuesta gr8 ¿hay recursos, libros, sitios que hablen sobre este tema: "lógica detrás de las diferencias visuales: ¿Los botones con esquinas cuadradas significan algo diferente de los botones redondeados? ¿Cómo se usa el color? etc."
Ali

En una nota al margen y por pura curiosidad, ¿ los botones con esquinas cuadradas significan algo diferente de los botones redondeados? ¿Se ha abordado esto en UX SE, me pregunto?
Sean Hanley

Los botones de color y redondeados son una preocupación gráfica y realmente no tienen nada que ver con UX. Una mejor pregunta para UX sería "¿qué piensa nuestro usuario de nuestro sitio con el esquema de color x frente al esquema de color y" y la ubicación de dichos botones.
Nic

@Yadyn, eso depende del contexto. La geometría de los botones puede dar al usuario una pista sobre la función y el comportamiento: los botones con forma cuadrada forman grupos atractivos y a menudo funcionan bien para seleccionar opciones o modos. Los botones redondeados no se apilan tan bien y a menudo indican operaciones distintas. Pero este tipo de señales visuales solo tienen sentido si se usan de manera consistente dentro de una aplicación o (mejor) en una GUI completa.
Caleb

@melee, estoy llegando a esto desde el punto de vista del desarrollo de aplicaciones. Suele haber mucha más variedad de interfaces en la web, y estoy de acuerdo en que es más difícil hacer este caso en ese contexto. Pero si tomó una aplicación de escritorio típica en la Mac y dijo "Los botones azules se ven geniales, ¡hagamos que todos los botones sean azules!" crearía mucha confusión para los usuarios porque los usuarios atribuyen significado al color y la forma de un botón. Ejemplos aquí (Apple HIG): tinyurl.com/6agv54v
Caleb

3

Aquí hay algunas cosas que encuentro que me ayudan:

  • Tome nota de lo que le gusta / no le gusta en otro software. Somos programadores, pasamos una gran parte de nuestras vidas en la computadora. Intente y tome nota de lo que ama / odia cuando usa el software. No importa si se trata de software de computadora, videojuegos, dispositivos móviles, etc., solo trate de estar atento a lo que es conveniente y fácil de usar, y lo que no.

  • Encuentre una herramienta de dibujo fácil de usar para dibujar la interfaz de usuario para usted y sus usuarios. Me encanta usar Balsamiq ya que es rápido, simple y la versión web es de uso gratuito.

  • Recuerde que no necesita encontrar a alguien que se especialice en diseño de software para ayudarlo a diseñar algo; cualquier usuario lo hará. A menudo ejecuto mis bocetos por algunas personas que no tienen ninguna relación con el proyecto solo porque sé que están cerca del software todo el día y me pueden decir si algo se ve bien o es fácil de usar. Solo tenga en cuenta que a menudo le darán ideas locas sobre qué hacer, y debe saber qué sería simplemente "genial" y qué mejoraría realmente la productividad.

  • No dude en preguntar en /ux// para preguntas detalladas


1
Buen consejo, buena herramienta
NoChance

2

Para ser honesto, el diseño de UI es, en conjunto, una cosa diferente. Un desarrollador siempre piensa en un diseño sutil y no es demasiado creativo cuando se trata de diseñar. El enfoque definitivo que siento es mantener un desarrollador diferente para el diseño de la interfaz de usuario. Aunque aumenta el costo, definitivamente lo ayudará a alcanzar mejores resultados.

Para alguien que hace las dos cosas por sí mismo, nunca realmente da el mejor resultado. Entonces, en mi humilde opinión, estos dos aspectos diferentes deben asignarse a dos desarrolladores diferentes. Se recomienda un poco de conocimiento de HTML y CSS para la creación de máscaras y temas en el caso de diferentes CMS, pero cuando necesite desarrollar un diseño completamente nuevo, consulte a un diseñador de UI.



2

El diseño de la interfaz de usuario no es algo natural para muchas personas. Sin embargo, recientemente he mejorado mucho al seguir algunos principios fáciles.

  1. No te asustes, no es tan difícil como crees.

  2. Modele la estructura de datos y su motor primero. Crea modelos claros y correspondientes al mundo real. Obviamente, esto supone que se ha tomado el tiempo para comprender lo que necesita el cliente.

  3. Ahora, con una hoja de papel y un lápiz, siéntese y comience a dibujar el diseño lógico de las pantallas. Esto normalmente simplemente presenta su modelo de datos al usuario de manera organizada. Tu objetivo debe ser simplemente:

    a. Imita el entorno en el que se implementará la aplicación. Por ejemplo, si es una aplicación de Windows, debe comportarse como una aplicación de Windows, si es una aplicación web, debe comportarse como aplicaciones web similares que son más populares que la suya.

    si. Su objetivo es guiar al usuario a través de su modelo de datos de una manera que ELLOS predecirían. Una interfaz de usuario está bien diseñada cuando un usuario hace algo en su aplicación y hace exactamente lo que esperaban que hiciera.

    C. Esto lleva tiempo y es una curva de aprendizaje, pero cualquiera puede hacerlo.

  4. No se preocupe por los gráficos, es decir, los botones, los fondos, etc. Su único objetivo en este momento es el diseño lógico de la página.

  5. Debe dominar la interfaz gráfica de usuario que está utilizando, ya sea html, gtk, cocoa, android, Windows.Forms, etc., en la medida en que comprenda los mecanismos de manejo de eventos, el motor de diseño y la recuperación de entradas y visualización datos. Cualquier desarrollador debería poder hacer al menos esto.

  6. No hay vergüenza en conseguir que un diseñador gráfico se haga cargo de aquí. Pero al menos debería poder pasar el paso 5. Esto es el 95% de la carga de trabajo para toda la aplicación.

Aquí hay un artículo útil que me convirtió de un diseñador de interfaz gráfica de usuario pobre en un diseñador de interfaz gráfica de usuario mucho mejor.

http://www.joelonsoftware.com/uibook/fog0000000249.html


Un buen consejo, pero no estoy de acuerdo con el punto 2. También involucraría más al usuario en los pasos anteriores.
NoPuerto

1
@Emmad Si considera que su aplicación es una serie de operaciones que se realizan con datos, el único propósito de la interfaz de usuario es proporcionar una forma organizada de recibir entradas al modelo de datos y mostrar el modelo de datos. La razón por la que puse 2 allí es porque encuentro que después de modelar los datos, la interfaz de usuario simplemente encaja. ¿Hago entrevistas extensas con el usuario final con respecto a qué tipo de datos quieren hacer con qué? Esa es la aplicación. Luego pongo las cosas en la página y luego pregunto, ¿cómo quieres que se vea esto? Nunca me ha hecho mal.
Jonathan Henson

1
Además, cuando permito que los diseñadores gráficos dibujen la interfaz gráfica de usuario, siempre termina en desastre. No saben cómo deben organizarse los datos y casi nunca saben qué es y qué no es posible.
Jonathan Henson

Gracias por explicarlo, estoy de acuerdo con usted en que los diseñadores gráficos no deben encargarse de la gestión de la información.
NoPuerto

1

También puede buscar ejemplos exitosos de sitios "similares" para obtener ideas para diseños, gráficos y diseños. Con algunos ajustes en su programa de pintura favorito, puede tomar prestadas muchas ideas y hacerlas suyas. No copie directamente: no solo son malos modales, sino que también es ilegal en la mayoría de los casos.

Una vez que haya pedido prestado algunas veces, comenzará a tener una mejor idea de los diseños de sitios exitosos, y conocerá las herramientas para hacer esos diseños también (con sus pequeños ajustes).


1

Con la introducción de HTML, crear un sitio simple de aspecto no feo se convirtió en un desafío. Si bien es posible que tenga el concepto, se necesitan varios trucos, herramientas, gráficos ya hechos y conocimientos de CSS para hacerlo bien. Además, se requieren técnicas de usabilidad y otros factores humanos que influyen en el proceso de diseño para producir páginas de aspecto nítido.

Los desarrolladores pasan la mayor parte de su tiempo luchando por aprender idiomas complejos, OOP, ORM, SQL, T-SQL, etc. Además, rara vez invierten en herramientas para crear sitios web (la mayoría son caros).

Como resultado, muchos desarrolladores sufren de su incapacidad para producir páginas web impresionantes. Creo que si aprende las herramientas necesarias, también podrá crear buenas páginas.

También es importante saber cuál es su rol en el proceso de desarrollo de la aplicación. Puede encontrar que el diseño web es bueno tener habilidad en lugar de ser una habilidad obligatoria. En proyectos grandes, no debería ser una tarea de programador por las razones mencionadas anteriormente al menos.

Descubrí que esta herramienta es una gran herramienta, puede ayudarte:

Artista

Míralo y prueba la demo, es realmente bueno.


1

todavía en el desarrollo web, las buenas habilidades de desarrollo no son suficientes sin grandes habilidades en el diseño

No sé si esta afirmación es cierta, creo que depende de dónde trabajes.

Por ejemplo, una empresa más pequeña probablemente requerirá que seas más flexible con tu conjunto de habilidades, mientras que una empresa grande podría no tener la misma expectativa y podrías pasar todo tu tiempo desarrollando mientras un equipo de diseño trabaja en el diseño.

Microsoft ha actualizado su conjunto de herramientas para resaltar la clara separación entre desarrolladores y diseñadores. Han introducido Expression Blend con WPF, lo que ahora significa que el desarrollador puede trabajar en la funcionalidad de una pieza de software y que otra persona puede hacer el diseño. Ambos usan diferentes herramientas, ambos pueden trabajar en el proyecto al mismo tiempo, pero uno hace funcionalidad y uno hace el diseño.

El desarrollador especifica los puntos de datos y el diseñador los muestra.


¡gracias, estaba pensando en ello mientras lo hacía sin equipo mientras lo hacía solo como freelance!
Ali

Definitivamente no es cierto con una gran empresa. Cuenta con equipos de diseño y desarrollo separados, y ambos necesitan un conocimiento mínimo el uno del otro (saber qué es posible, saber qué está roto).
SF.

1

Recuerde que el diseño también se puede probar, no solo el código. Comience de manera simple, pruebe su diseño en un pequeño grupo de personas, registre sus comentarios y avance desde allí. Esto puede ayudarlo a identificar problemas con su diseño y darle ideas sobre lo que podría / debería hacerse de manera diferente. Luego revisa el diseño e itera.


0

Solo tendrás que fingirlo y copiar otros diseños. Evite cualquier cosa elegante, excepto una o dos características que serán un gran beneficio para los usuarios. Siga algunas prácticas básicas de limitar las fuentes, los colores y el desorden.

No tenga miedo de publicar preguntas en UI.stackexchange.com


+ 1- buen punto sobre la limitación de colores, etc. La marca de la interfaz de usuario de un programador suele ser un fondo neón verde azulado con una etiqueta de parpadeo alrededor de todos los botones y una etiqueta de marquesina alrededor de todo lo demás. Los sitios web atractivos usan los valores predeterminados (fondo blanco, fuentes regulares, etc.) en un 90%, con un par de desviaciones geniales.
Morgan Herlocker

0

Aunque no es su área de especialización, creo que siempre es interesante estudiar cómo crear interfaces de usuario. Hoy en día, la mayoría de las páginas web son muy dinámicas y conocer algunas habilidades de UI sin duda ayudaría al crear componentes y establecer sus interacciones con los elementos de su página. Vengo de un entorno de desarrollo solo de back-end y me sorprendió lo mucho que implica la creación de interfaces.

Hay un libro particularmente bueno que he leído sobre diseño web y que está dirigido a los desarrolladores:

Diseño web para desarrolladores: http://pragprog.com/book/bhgwad/web-design-for-developers

Es un libro fácil de leer que toca todas las fases al crear interfaces: desde bocetos simples y prototipos de IU hasta crear diseños con HTML + CSS.

Para mejorar aún más sus habilidades de UI, también recomiendo el último screencast de PeepCode con Ryan Singer: http://peepcode.com/products/ryan-singer-ux


0

Creo que aprender algunos conceptos básicos de UX / UI / gráficos / tipografía es sin duda un esfuerzo valioso. Por supuesto, no siempre se puede tener un equipo de especialistas "completo". Muchas veces la gente tiene que usar múltiples sombreros. Un buen desarrollador verá valor en pasar tiempo aprendiendo cosas fuera de su dominio y debería ser capaz de reconocer al menos un buen trabajo en diseño.

Sin embargo, hay algo que decir sobre lo que hacen los diseñadores. Un desarrollador solo puede hacer mucho en el área de diseño (es cierto que algunas más que otras). En particular, los grandes proyectos públicos que se extienden más allá de un nicho estrecho se benefician enormemente al emplear profesionales de diseño reales. Y no me refiero simplemente a personas que pueden moverse alrededor de los códigos de color CSS y HTML. Me refiero a las personas que han pasado AÑOS estudiando cosas como la tipografía, que han leído y entendido el libro de Josef Alber sobre el color , que pueden hacer hermosos bocetos con carbón desmoronado en papel de periódico. Estas son habilidades valiosas y los proyectos que reconocen eso y que pueden poner estas habilidades en uso enfocado tienen una ventaja decidida sobre la competencia.

Dicho esto, hay algunas áreas donde los diseñadores y desarrolladores pueden superponer sus habilidades. Especialmente UX y su subdominio, UI. Yo recomiendo ...


0

Contrata a un profesional.

En serio, las interfaces de usuario de los desarrolladores tienen una reputación terrible. Esto no es porque los desarrolladores estén por debajo del promedio en el diseño, sino porque los desarrolladores están por debajo del promedio al pedir ayuda.

Un desarrollador tiene la tendencia de asumir todos los desafíos digitales que se le presenten.

(Fui desarrollador profesional durante 10 años y mi esposa es diseñadora de interfaz de usuario durante 20 años)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.