¿Es posible la simplicidad en el diseño de software?

Share on FacebookTweet about this on TwitterShare on LinkedInShare on TumblrShare on Google+Email this to someone

Cuando los gurús se enfrentan, y después de excavar entre montañas de arrogancia,  autojustificación y autocomplacencia, a veces surgen debates realmente relevantes. Algo así ha sucedido en el fuergo cruzado entre los fundadores de 37signals, seguidores declarados del diseño y la usabilidad de Apple, y el experto en diseño Don Norman, antiguo asesor de Apple que ahora trabaja con Microsoft.

Todo comenzó con el artículo en Wired, The Brash Boys at 37signals Will Tell You: Keep It Simple, Stupid, que dió paso a Don Norman para pregunatrse retóricamente Why is 37signals so arrogant?, a lo que por supuesto responde Jason Fried, co-fundador de 37signals, explicando  Why we disagree with Don Norman. En Soitu.es | Piel digital tratamos de buscar debajo del aparente debate sobre la arrogancia para quedarnos con una cuestión mucho más interesante: Simplicidad en el software, ¿es posible?.

El software que usamos todos los días, ya sea instalado en nuestros ordenadores o, cada vez más, residente en la web, ofrece un número creciente de utilidades de todo tipo. Más opciones, ¿mayor complejidad?, ¿mayor dificultad de uso? No tendría por que ser así. De hecho, la mayor parte de las aplicaciones de la web 2.0 no requieren más que unos mínimos conocimientos técnicos para crear y publicar contenidos en Internet. Una tarea que hasta hace poco estaba reservada a expertos y geeks.

Entonces, ¿nos encontramos ante dos tendencias aparentemente contradictorias?: aumenta la complejidad de las herramientas y, al tiempo, su uso se hace más simple.

¿Conclusiones?

Pero, ¿qué nos queda de esta disputa? ¿Es la simplicidad solo una moda o una necesidad?, ¿necesitamos mayor complejidad en el diseño del software y de la interacción de los usuarios para incluir funciones más complejas?

Norman quiere solucionar el problema de la “larga cola” de usuarios incluyendo funciones para todos los nichos (incluso aquellos más minoritarios) en un mismo producto. 37signals diseña pensando en la “corta cola”. Pero existe algo más, y ahí está la razón de ser del diseño. Un mismo nivel de complejidad funcional puede ser resuelto con mejor o peor usabilidad para el usuario. Esta parece, por ejemplo, ser una de las diferencias clave entre los productos de Microsoft y los de Apple.

Quizás en este momento deberíamos recordar las famosas, y fuertemente contestadas por algunos diseñadores, leyes de la simplicidad que propone John Maeda en su libro The Laws of Simplicity (traducción al español), y que discute desde los más diversos puntos de vista en su blog Simplicity (y desde hace un tiempo en el blog new RISD, que ha puesto en marcha para preparar su desembarco como presidente en la Rhode Island School of Design). Estas son, en traducción de Julen Iturbe:

  • Law 1: Reduce. La forma más sencilla de conseguir la simplicidad es a través de una reducción bien pensada.
  • Law 2: Organize. La organización hace que un sistema de muchos parece menos.
  • Law 3: Time. Ahorrar tiempo se parece a la simplicidad.
  • Law 4: Learn. El conocimiento hace todo más simple.
  • Law 5: Differences. La simplicidad y la complejidad se necesitan mutuamente.
  • Law 6: Context. Lo que se sitúa en la periferia de la simplicidad no es, definitivamente, periférico.
  • Law 7: Emotion. Más emociones son mejor que pocas.
  • Law 8: Trust. En la simplicidad confiamos.
  • Law 9: Failure. Algunas cosas nunca se podrán hacer de forma sencilla.
  • Law 10: The One. La simplicidad es restar lo obvio y añadir lo que está lleno de sentido.

Parece que 37signals son uno de los ejemplos canónicos de aplicación de las leyes de Maeda. Y si queremos un ejemplo más cercano, los sevillanos de Flowers in Space se encaminan en la misma dirección, esperemos que exitosa.

3 comentarios en “¿Es posible la simplicidad en el diseño de software?

  1. Mi pequeña experiencia alrededor de esta disquisición (http://flr-project.org) se ha intentado resolver disminuyendo la barrera entre usuario y desarrollador: si estás en la parte larga de la cola, deberías poder adaptar el software a tus necesidades con el mínimo esfuerzo. Programación script sencilla, o basada en modelos visuales, podría ser una solución.

  2. Me atrevería a sugerir un comentario que agregue un complemento a las definiciones anteriores sobre simplicidad.
    Para acceder a la genuina “Simpleza”, vista como atributo vibrante desde donde emanan las complejidades más deseadas, es necesario un camino inverso de “adherencia de atributos” coherentes y adherentes inclusive a la esencia de las cosas. Casi juego con las palabras, pero mi intensión no es esa; mi intensión es la de complementar.
    La Simpleza es, como lo dije, vibrante; ella logra restar sin perder esencia, pues de una manera sorprendente reúne sin presentar ni incluir. Me imagino que de no ser así todo esto, cómo podríamos lograr avance en los servicios que prestan las cosas (hardware o software) si no hay “desaparecimiento de elementos”, los que debieran ser reemplazados por “otras cosas” más versátilmente diseñadas.
    El diseño en Mac es metafórico en este sentido (siempre lo ha sido), no soy un usuario de Mac, ni pretendo serlo, pero sin dudas que hay una señal en su diseño limpio, puro, elemental y no por ellos restado. Pero es diseño industrial, sumado a una filosofía intrínseca diferente en la manera cómo el usuario explora y accede a la información (espero no estar errando en lo que hablo, de alguna manera siento que me estoy explicando).
    Me trato de imaginar, en mi ignorancia, cómo podría simplificarse un sistema de servicios y funciones como las que hoy se ofrecen al usuario común y silvestre(web 2.0-que le llaman-, cad, planillas, procesadores de textos, intranets, diseño gráfico, monitoreo a distancia, etc.), acaso podría ser un diseño de software integral – lo digo dentro de mi ignorancia – adonde no se dupliquen funciones como el trabajo de planillas, que se duplica en los procesadores de texto, o el empleo de imágenes que se duplica en todos los software, de hecho simplificar en ese caso sería integrar, pero surge el tema de la competencia. Desde mi aficionado balcón puedo imaginarme completamente que un software integrado no existe por cuanto desagregando especialidades se abre la oferta a todos los nichos posibles, y ofreciendo menos software con más versátiles capacidades se llegaría a un resultado más caro para más personas a la vez.
    En sociedades “libre elección” como las que vivimos, creo que es impensable algo tan esencialmente Staliniano como eso (ahora siento que hablo de cosas que los especialistas no están considerando, por cuanto llego a un límite de conocimientos flagrante)
    No me queda claro, en definitiva cual sería la formula para simplificar productos y/o servicios evitando la desagregación de resultados.
    Es una limitación evidente, obvia; no sé; desconozco intrínsecamente cómo piensa y opera y actúa ycreoa alguien dedicado al mundo de la informática (ya que entiendo que a eso se refieren).
    Me imagino que nuestra sociedad de libre mercado es por esencia tendiente a lo múltiple, lo diversol lo caótico, lo “desordenadamente expuesto a priori” para ser resuelto y corregido en la marcha, fruto de la competencia de rivales.
    Para terminar, puedo dar mi testimonio como arquitecto. Sin dudas que la arquitectura está llena de soluciones que pueden tender a lo primero o a lo segundo. Ejemplo; un Hotel que sea resuelto espacialmente en la confluencia de funciones dentro de un mismo espacio; foyer de la sala de Cine, del Hall de acceso, de la espera, del mesón de atención, etc, a contrapunto de otras maneras de servir distintas funciones, separando recintos e interponiendo tabiques o muros divisorios. Pero me temo que espacialmente siempre ha sido imaginable el integrar la vida de muchos en formas simples pero versátiles; es solo espacio, no infinidades de instrucciones tendientes a diversos fines y funciones abstractas, proyectuales, y cosas así
    Saludos que ya me he extendido mucho.

  3. Pero para realizar una función si la “complejidad” no la realiza el usuario (y el producto es más usable/accesible) la tiene que realizar el Software y sino el Hardware.
    La complejidad puede meterse más o menos dentro de la caja, dentro de la placa de circuito impreso, o más adentro, dentro del mismo circuito impreso.
    Por ejemplo, para sintonizar una radio, primero tenias que darle vueltas al mando hasta encontrar la emisora, después la complejidad se metió dentro de la placa del circuito y después dentro del Circuito Integrado mismo, liberándose el usuario de la tarea le basta pulsar un botón
    La tecnología nos hace más (o menos) humanos, y la tecnología se hace más (o menos) humana al realizar nuestras tareas.

Dejar una Respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Puede utilizar estos atributos y etiquetas HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>