# Diseño web

El diseño web es una actividad que consiste en la planificación, diseño, implementación y mantenimiento de sitios web. Abarca diferentes aspectos como el diseño gráfico web, diseño de interfaz y la experiencia de usuario, además de la navegabilidad, interactividad, usabilidad, arquitectura de la información e interacción de medios, entre los que podemos mencionar audio, texto, imagen, enlaces, video y la optimización de motores de búsqueda. A menudo muchas personas trabajan en equipos que cubren los diferentes aspectos del proceso de diseño, aunque existen algunos diseñadores independientes que trabajan solos.
La unión de un buen diseño con una jerarquía bien elaborada de contenidos, aumenta la eficiencia de la web como canal de comunicación e intercambio de datos, que brinda posibilidades como el contacto directo entre el productor y el consumidor de contenidos.
El diseño web ha visto amplia aplicación en los sectores comerciales de Internet, especialmente en la World Wide Web. A menudo la web se utiliza como medio de expresión plástica en sí. Artistas y creadores hacen de las páginas en Internet un medio más para ofrecer sus producciones y utilizarlas como un canal más de difusión de su obra.

## Diseño web aplicado

El diseño de páginas web es la construcción de documentos de hipertexto para su visualización en diferentes navegadores. Así como asignarle una presentación para diferentes dispositivos de salida (en una pantalla de computador, en papel, en un teléfono móvil, etc).
Estos documentos o páginas web pueden ser creadas:
* Creando archivos de texto en HTML, Asp, Aspx, JavaScript, JSP, Python, Ruby.
* Utilizando un programa visual WYSIWYG o WYSIWYM de creación de páginas.
* Utilizando programación del lado del servidor, para generar la página web.

## Etapas

Para el diseño de páginas web debemos tener en cuenta ocho etapas:
* Objetivos: El proceso para establecer los objetivos, para definir el propósito del sitio web y el público objetivo. Durante este proceso, es importante saber si la arquitectura de la página ya ha sido alineada y, en caso de que lo esté, tener claro que está sujeta a cambios a medida que el proyecto evoluciona.
* Investigación y análisis: Una investigación detallada garantiza que se dispone de todos los conocimientos necesarios para ser competitivos. La investigación asegura que el sitio web considera todos los desarrollos actuales en términos de tecnología, industria, comportamiento del usuario y expectativas del usuario (UX).
* Arquitectura del sitio: Basándose en los objetivos y los resultados de la investigación, ahora se puede elaborar una arquitectura de sitio exhaustiva. Estos resultados deben delinear cómo debe ser la navegación principal y secundaria, las subpáginas, las categorías y otras secciones del sitio web. Lo ideal sería que la arquitectura del sitio cambie después de que se tengan en cuenta los resultados de la investigación. Si por alguna razón ninguna nueva percepción de la investigación y el análisis fue capaz de proporcionar o recomendar cambios en la arquitectura del sitio, debería alarmarse ya que podría haber algo mal. Durante la arquitectura del sitio, se deben responder las siguientes preguntas: ¿Cuáles son los objetivos y mensajes de cada página? ¿Qué acción se espera del usuario en estas páginas?
* Wireframing: El Wireframing es un paso importante en cualquier proceso ya que te permite definir la jerarquía de la información. Después de que todos los resultados de la investigación estén disponibles y se pueda usar una arquitectura de página clara como plantilla, ahora se debe crear un wireframe para cada página. El wireframing es una de las fases más incomprendidas y difíciles durante todo el proceso de un Diseño de una página web.
* Diseño y Maquetación: El diseño y la maquetación web es el proceso en el que el prototipo gráfico también denominado «layout» «Look and Feel» (con los requisitos estructurales y estéticos definidos y aprobados en un análisis inicial) pasa a transformase en código html, css y js (estándares web) para que los navegadores puedan interpretarlo correctamente.
* Especificaciones técnicas: Las Especificaciones Técnicas (Tech Specs) son un documento que consiste en una serie de instrucciones para el desarrollador sobre cómo programar el sitio web. Por ejemplo, las fuentes, el espaciado, el texto y el comportamiento de las imágenes se describen en detalle en una Especificación Técnica. Las funciones y características deben ser mostradas y explicadas, así como el comportamiento de navegación, animaciones, pop-ups y muchas más.
* Programación: Ahora que todos los pasos anteriores se han realizado correctamente, nada se interpone en el camino de la codificación de la página web. Una vez terminada, es clave realizar un control de calidad para enumerar los errores y gestionar sus soluciones. Este proceso no debería tardar más de dos días ni debería tener un costo adicional.
* Migración y transición: Si se trata de un nuevo sitio web, todo el contenido tiene que ser migrado al nuevo diseño. Para sitios más grandes, todo el contenido del sitio antiguo debe ser incluido ahora en el nuevo sitio. Uno de los procesos más importantes dentro de la migración es el mapeo de URL. Para todos los URLs de páginas antiguas, se debe establecer una redirección 301 a los nuevos URLs. Si se omite este punto de SEO, el nuevo sitio web pierde toda la confianza SEO ganada con anterioridad y todas las clasificaciones de los motores de búsqueda como Google.
El HTML consta de una serie de elementos que estructuran el texto y son presentados en forma de hipertexto por agente de usuario o navegadores. Esto se puede hacer con un simple editor de textos (debe guardarse como texto plano, sin ningún tipo de formato y con extensión .html o .htm). Aprender HTML es relativamente fácil, así que es sencillo crear páginas web de este modo. Esta era la única manera de generarlas hasta que aparecieron, a mediados de 1996, algunos editores visuales de HTML, como MS FrontPage y Adobe Dreamweaver. Con estas herramientas no es necesario aprender HTML (aunque sí aconsejable), con lo cual el desarrollador se concentra en lo más importante, el diseño del documento.

## Fundamentos

Un buen diseño web es aquel que considera dentro de su desarrollo tanto los elementos básicos del diseño gráfico (la diagramación, el color, los gráficos y las fuentes) como los fundamentos técnicos (estructura, compatibilidad, funcionalidad e interactividad) para crear tanto el impacto visual como la experiencia de usuario óptima para la asimilación del contenido.

### Estándares

El diseño web implica conocer cómo se deben utilizar cada uno de los elementos permitidos en el HTML, es decir, hacer un uso correcto de este lenguaje dentro de los estándares establecidos por la W3C y en lo referente a la web semántica. Debido a la permisibilidad de algunos navegadores web como Internet Explorer, esta premisa original se ha perdido. Por ejemplo, este navegador permite que no sea necesario cerrar las etiquetas del marcado, utiliza código propietario, etc. Esto impide que ese documento web sea universal e independiente del medio que se utilice para ser mostrado.

### Accesibilidad

El diseño web debe seguir unos requerimientos mínimos de accesibilidad web que haga que sus sitios web o aplicaciones puedan ser visitados por el mayor número de personas. Para conseguir estos objetivos de accesibilidad se han desarrollado pautas como las del W3C: Pautas de accesibilidad al contenido Web 1.0 WCAG.

### Web semántica

La web semántica, por otra parte, aboga por un uso lógico de los elementos según el significado para el que fueron concebidas. Por ejemplo se utilizará el elemento <P> para marcar párrafos, y <TABLE> para tabular datos (nunca para disponer de manera visual los diferentes elementos del documento). En su última instancia, esto ha supuesto una auténtica revolución en el diseño web puesto que apuesta por separar totalmente el contenido del documento de la visualización.
De esta forma se utiliza el documento HTML únicamente para contener, organizar y estructurar la información y las hojas de estilo CSS para indicar como se mostrará dicha información en los diferentes medios (como por ejemplo, una monitor de computadora, un teléfono móvil, impreso en papel, leída por un sintetizador de voz, etc.). Por lógica, esta metodología beneficia enormemente la accesibilidad del documento.
También existen páginas dinámicas, las cuales permiten interacción entre la web y el visitante, proporcionándole herramientas tales como buscadores, chat, foros, sistemas de encuestas, etc. y poseen de un panel de control de administración de contenidos. Este permite crear, actualizar y administrar cantidades ilimitadas de contenido en la misma.

## Historia

En un principio era solo texto, pero a medida que ha evolucionado la tecnología, tanto los ordenadores como las redes de telecomunicaciones, se ha generado nuevas formas de desarrollar la web. La inclusión de imágenes fue la más significativa, pero también debemos mencionar el vídeo y la animación, o los espacios 3D, lo que aporta valores estilísticos, de diseño y de interactividad jamás imaginados antes.
El diseño de páginas web se ha desarrollado a medida que ha evolucionado Internet. En 1992 solo había alrededor de 50 sitios web. Estadísticas (2005) nos afirmaban que la cantidad de sitios web ronda los 8000 millones de sitios, a los que diariamente se les suma a raíz de 4400 por día.
Rápidamente, su importancia alcanzará las mismas cuotas que la televisión o el teléfono. Datos recientes estiman que hay alrededor de dos mil millones de páginas colgadas y se espera que en los próximos años llegue a los ocho mil millones, excediendo el número de habitantes del planeta. Sin embargo, solo una fracción de este número es visitado habitualmente por la mayoría de los usuarios (solo alrededor de 15 000 sitios webs, el 0,4 % del total).
A partir de estos datos se puede entender la necesidad de concentrar los esfuerzos para atraer y mantener la atención de los usuarios. Junto con un desarrollo efectivo de la estructura web y del contenido, el diseño y el uso del color son la llave para atraer y ser identificado, formando vínculos en el subconsciente del usuario y generar esquemas para captar y fidelizar a nuevos visitantes.
Al mismo tiempo que la evolución de los aparatos y de su introducción en los hogares, también ha aumentado la calidad de las transmisiones a través Internet y ha bajado su precio. A medida que la tecnología ha solventado estas dificultades, ya no nos encontramos con problemas de forma sino de contenido.

## HTML 5

La última versión de este lenguaje básico corresponde al HTML5, donde se introducen nuevos elementos para mejorar la navegación y la usabilidad de los sitios web en los distintos navegadores.
Un ejemplo de ello es la introducción de etiquetas HTML con un componente semántico: <header> (encabezado), <canvas>, <video>, <section>, <article>, <nav> (navegación) y <footer> (pie de página).
Asimismo, una de las principales novedades es la utilización de "Canvas" o marcos de trabajo, que sirven para utilizar animaciones sin necesidad de instalar plugins ni usar un reproductor Adobe Flash para videos web, estándar considerado de facto. Esta opción es un gran avance, ya que Flash tiene grandes desventajas en los gráficos web, como que los motores de búsqueda no puedan leer el texto dentro, que pesan mucho y tardan en cargar. Al implementarse con canvas, se usará únicamente código Javascript, aligerando el peso de la página.
También quedan obsoletos algunos elementos del HTML 4, razón por la cual es conveniente repasar acerca de las novedades que incluye HTML5, cuyo lenguaje es regulado por W3C.

## CMS

Los CMS o sistema de gestión de contenido son plataformas web que estandarizan procesos y que permiten a los usuarios que no poseen mucho conocimiento técnico en lenguaje de programación crear y maquetar contenido fácilmente para su página web a través de un backend o gestor de contenido .
Entre los CMS más completos y famosos del mercado encontramos a Wordpress y Joomla. Detrás de varios CMS existe una gran comunidad de desarrolladores de complementos o plugins que realizar trabajos específicos como administración de contenido. Estas plataformas son famosas por la versatilidad de diseños que se pueden implementar a través de plantillas. Lo cual por su parte abarata los costos de realización de la página, ya que se elimina un eslabón de la cadena de publicación, el maquetador, y agrega la capacidad de replicar contenido con facilidad.
El lenguaje de programación utilizado normalmente por estas plataformas es PHP, HMTL5, CSS Java Script y JQuery. El usuario puede tener acceso a la programación del sitio, lo cual vuelve muy versátiles a estas plataformas de creación de contenido web. Son bastante escalables por su estandarización de contenidos y su gestión dinámica de usuarios y permisos .

## Diseño web adaptable

El diseño web adaptable (en inglés: responsive, a veces mal adaptado como «responsivo») es una filosofía de diseño web que tiene como objetivo adaptar una misma página web a distintos tamaños de pantalla, dispositivos y orientaciones. Aunque el código HTML que envía el servidor sea el mismo, la apariencia del sitio cambiará de acuerdo con las especificaciones (denominadas media queries) de las hojas de estilo en cascada CSS.

## Experiencia de usuario en diseño web

La usabilidad web (UX o user experience, en inglés) es el grado de facilidad de uso que tiene una página web para los usuarios que acceden e interactúan con ella. Jacob Nielsen está considerado el padre de la usabilidad y, en 2000 lanzó al mercado el libro Designing Web Usability: The Practice of Simplicity (1999) (ISBN 1-56205-810-X) donde expone los 10 principios que deben regir la usabilidad de cualquier web.
Estos principios son:
* Visibilidad del estado del sistema. El sistema, es decir la web o aplicación, siempre debe mantener en todo momento a los usuarios informados sobre lo que está sucediendo, a través de mensajes en tiempo y forma.
* Coincidencia entre el sistema y el mundo real. El sistema debe hablar el idioma de los usuarios, con palabras, frases y conceptos familiares para el usuario y no con términos técnicos.
* Control y libertad del usuario. Dar la posibilidad a los usuarios a corregir sus errores en la navegación por la página web.
* Consistencia y estándares. Los usuarios no deberían tener que preguntarse si diferentes palabras, situaciones o acciones significan lo mismo. Uno de los grandes retos como diseñadores es saber usar de forma habitual las convenciones o recursos habituales de las páginas web.
* Prevención de errores. Incluso mejor que los buenos mensajes de error es un diseño cuidadoso que evita que nos equivoquemos. Un buen diseño web debe eliminar las condiciones propensas a errores.
* Reconocimiento en lugar de recuerdo. Debemos minimizar en lo posible que el usuario haya de recordar de que ha hecho previamente haciendo visibles los objetos, las acciones y las opciones.
* Flexibilidad y eficiencia de uso. Los aceleradores, que no son vistos por el usuario novato, a menudo pueden acelerar la interacción para el usuario experto, de modo que el sistema puede atender tanto a usuarios inexpertos como experimentados.
* Diseño estético y minimalista. En diseño web menos es más. Debemos mostrar la información estrictamente necesaria para que el usuario no se pierda o marche. Debemos conducirlo por donde nos interesa.
* Ayudar a los usuarios a reconocer, diagnosticar y recuperarse de errores.
* Ayuda y documentación. Aunque es mejor si el sistema se puede utilizar sin documentación, puede ser necesario proporcionar ayuda y documentación.
Johnson (2010) recapitula en la introducción de su libro Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Rules algunos de los intentos que se han realizado a lo largo de la historia contemporánea para establecer reglas que guíen el diseño de interfaces de usuario aplicado a sistemas computacionales interactivos:
* Cheriton (1976) propuso pautas de diseño de interfaz de usuario para los primeros sistemas informáticos interactivos (de tiempo compartido).
* Norman (1983a, 1983b) presentó reglas de diseño para interfaces de usuario de software basadas en la cognición humana, incluidos los errores cognitivos.
* Smith y Mosier (1986) escribieron quizás el conjunto más completo de pautas de diseño de interfaz de usuario.
* Shneiderman (1987) incluyó "Ocho reglas de oro del diseño de interfaz" en la primera edición de su libro Designing the User Interface y en todas las ediciones posteriores.
* Brown (1988) escribió un libro de directrices de diseño, titulado Human-Computer Interface Design Guidelines.
* Nielsen y Molich (1990) ofrecieron un conjunto de reglas de diseño para su uso en la evaluación heurística de interfaces de usuario.
* Marcus (1991) presentó directrices para el diseño gráfico en documentos en línea e interfaces de usuario.
Por otra parte, Garrett (2011) explica en su libro The Elements of User Experience: User-centered Design for the Web que la implementación de principios de experiencia de usuario al diseño de sitios web, ya sean productos orientados a contenidos o aplicaciones interactivas, es particularmente importante debido a su naturaleza de auto-servicio; es decir, que no cuentan con un "manual de instrucciones" o una "plataforma de servicio al cliente" dirigida específicamente al aprendizaje de la navegación e interacción de los usuarios con los contenidos desplegados, sino que dichas acciones se llevan a cabo de forma individual e intuitiva. Mientras más complicada sea la interfaz de cualquier sitio web, más dificultades tendrán sus visitantes para navegar en ella, y como consecuencia, en palabras de Garrett, se sentirán "incompetentes, estúpidos, culpables". El autor también establece que, si bien los usuarios no tienen la culpa de cómo esté configurada una página en línea, esa sensación que les cause interactuar con ella será la que determine si volverían a visitar ese sitio en el futuro, y por lo tanto, su éxito como producto digital.
El libro divide la construcción de la experiencia de usuario de un sitio web en cinco grandes capas:
* Superficie: Conformada por elementos gráficos, como textos, fotografías e ilustraciones. Pueden contener vínculos a otras partes dentro del mismo sitio web.
* Esqueleto: Es la posición establecida a los botones, controles, imágenes y bloques de texto dentro del espacio que ocupa la página en una pantalla. Está diseñado para optimizar la disposición de estos elementos y así lograr la máxima eficiencia al navegar en la web.
* Estructura: Es el despliegue conceptual de todas las funcionalidades incluidas en una página web, y los contenidos que se quieren mostrar tras efectuar acciones concretas. Puede visualizarse como una ramificación que contempla la unión de todos los elementos de un sitio con una operación específica (por dar algunos ejemplos, la redirección a una subpágina, apertura de una nueva ventana, reproducción de vídeo o audio, etcétera).
* Alcance: Es la definición de cuáles contenidos y funcionalidades se desean incorporar en una página. Se determinan, entre otros factores, dependiendo del propósito que se persigue con la creación del sitio web, y el tipo de usuarios a los que se desea llegar.
* Estrategia: Incluye no solo lo que las personas que administran un sitio quieren obtener de él, sino también lo que los usuarios quieren obtener de su visita a la página web. En otras palabras, es la determinación de los objetivos que se quieren perseguir y los potenciales usuarios a los que se desean llegar por medio del diseño e implementación de un sitio en línea.
Si bien el funcionamiento correcto de las capas superiores depende en gran medida del planteamiento conceptual de las capas inferiores, su orden al momento de trabajar en ellas no es forzosamente lineal; muchas fallas detectadas en sitios ya terminados, según argumenta Garrett, se han dado por incoherencias entre el planteamiento inicial de la página y el producto final. Para evitar contratiempos, y que los gastos de producción superen al presupuesto contemplado al principio de cada proyecto, él recomienda no avanzar hacia el desarrollo de las capas superiores hasta haber terminado completamente de trabajar en las capas inferiores.