Todavía hay quien piensa que el diseño web es una simple cuestión de pintura, de imagen. Pero construir una aplicación web cada vez requiere más destrezas como la programación, el diseño, la difusión, o la usabilidad.

Llevo 15 años realizando páginas web y 10, como profesional, desarrollando aplicativos web de intranet. Desde hace un par de años me he interesado por la construcción de webs en Internet y me he dado cuenta de lo diferente que es programar un software interno para la empresa y una web para el público en general.

Computer Troops - Licencia Algunos derechos reservados por JD Hancock
Computer Troops

Los contenidos contra los datos

En cuanto al software corporativo, la importancia está en los datos. La programación se realiza en torno a recoger, actualizar y mostrar datos que se recogen de los empleados, que son – en términos generales – los únicos usuarios. Los datos recogidos se guardan celosamente en sistemas organizados para su posterior explotación: bases de datos relacionales normalizadas de donde se extrae la información, tanto al detalle (listados, servicios web), como en resúmenes (data warehousing). Un ejemplo son los aplicativos de banca electrónica, como Altamira Online.

En las aplicaciones corporativas se exige un tratamiento exquisito de los datos, en su recogida y en su explotación. En las webs públicas, se trata de gestionar contenidos, como imágenes o vídeos.

En cuanto a las web para público general, lo más habitual es encontrar sitios basados en Sistemas de Gestión de Contenidos (CMS) como Joomla, WordPress o Drupal. Estos sistemas están orientados a la gestión de textos, imágenes y vídeos que, con frecuencia, son mantenidos por todos sus usuarios: por el público en general. Los contenidos son indexados para ser encontrados en los buscadores por los usuarios consumidores.

Los lenguajes de programación

Los aplicativos de Intranet y los sitios web están implementados en sistemas distribuidos: los usuarios ejecutan parte del software – el frontend – en sus máquinas mediante un navegador web y los datos recogidos se procesan en el servidor de la aplicación – el backend.

En cuanto al frontend, el software suele ser una combinación de lenguajes HTML para la estructura, CSS para el estilismo gráfico y Javascript para los controles de los datos en el navegador cliente.

En el backend, los aplicativos corporativos utilizan lenguajes que tengan un gran respaldo, como Java o C#. Es frecuente la contratación de servicios de soporte técnico a las empresas matrices de los lenguajes, como Oracle o Microsoft. Las webs de propósito general suelen implementarse en lenguajes específicos de Internet como PHP. Este y otros lenguajes se respaldan sobre la enorme comunidad de programadores, pero los servicios de soporte están ofrecidos por terceros.

Objetivos

Ya dije que las aplicaciones corporativas están orientadas a procesar información: recogerla, transformarla y mostrarla, resumida o segregada. En una página web los objetivos pueden ser meramente publicitarios (v.g: imagen de marca), comerciales (venta directa o captación de clientes) u otros.

El diseño de las webs y las aplicaciones es muy diferente, debido a que sus objetivos son dispares. Por poner un ejemplo, los aplicativos están plagados de formularios para recoger los datos, mientras que en una web de venta se provoca que el usuario compre con el mínimo número de clics.

Usabilidad

En entornos corporativos se fomenta que las aplicaciones se parezcan para que los usuarios tengan una curva de aprendizaje muy corta ante nuevas funcionalidades. Por ejemplo, los elementos comunes, como el menú, la búsqueda y la información de login, siempre se encuentran situados en la misma zona de la pantalla. Los listados tendrán un aspecto similar en cuanto a colores, tamaños y funciones (filtro, orden).

Los diseños de los sitios web tratan de ser originales y de mantener al cliente en sus visitas. Los aplicativos departamentales deben parecerse entre sí y completar los objetivos rápidamente.

Cuando se muestran errores, se indica al usuario cual es la solución correcta para facilitar la recogida de datos en todo lo posible. El objetivo es pasar el menor tiempo posible en la aplicación, terminar cuanto antes y volver a trabajar – a producir. No se dice «La fecha es incorrecta» si no «La fecha debe ser mayor que hoy» o «menor que el 12/03/2013».

En los sitios web, en general, se favorece que el usuario se quede en la página. Incluso después de alcanzado el objetivo (p.e: cuando se ha logrado una venta) el sitio web te invita a visitar la página un ratito más.

Navegador

Las páginas web se diseñan para que funcionen en distintos navegadores, incluso en distintos dispositivos, con técnicas adaptativas (responsive) que permiten ver la misma página en distintos tamaños de pantalla.

En un entorno corporativo, las aplicaciones corren en un conjunto reducido de resoluciones de pantalla y por lo general bajo un navegador concreto. La peor parte es que el software debe tener una vida útil larga que amortice su alto coste (alto desde el punto de vista de la empresa, claro) y es frecuente encontrar Windows XP limitados a la versión 8 de Internet Explorer.

Análisis y Requisitos

Los sitios web son solicitados por clientes que pagan directamente por sus servicios. Con su dinero. Muchos deseos de los clientes se quedan sin realizar al saber el coste que conllevan. Sin embargo, cuando tratas con compañeros, que no asumirán el coste de los desarrollos en sus bolsillos, muchas veces se invierte tiempo en tareas que no compensan el desarrollo. El cliente interno puede ser más exigente e insistir en funcionalidades de desarrollo largo pero escaso beneficio.

Conclusiones

Como ingeniero en informática estoy encantado de desarrollar aplicativos corporativos web, pues me permite estar al día y realizar las tareas tradicionales de análisis de software de negocio. En la parte negativa, los aplicativos se parecen mucho entre sí y por eso dedico parte de mi tiempo libre a aprender a hacer páginas web de propósito general, que me permiten aportar más creatividad.