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?
Respuestas:
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
fuente
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.
fuente
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
fuente
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.
fuente
Definitivamente puedo recomendar el libro Diseño de interfaz de usuario de Joel Spolsky para programadores . En este libro, toma el enfoque que estás buscando: explicar por qué el diseño de la interfaz de usuario es importante para los programadores. Para algunos materiales relacionados en línea:
Diseñando para personas que tienen mejores cosas que hacer con sus vidas
fuente
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.
No te asustes, no es tan difícil como crees.
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.
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.
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.
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.
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
fuente
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).
fuente
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.
fuente
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.
fuente
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.
fuente
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
fuente
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
fuente
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 ...
fuente
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)
fuente