lunes, 25 de junio de 2007

Notas para un mejor desarrollo web (I)

ZorphDark [blackhat4all@gmail.com]

El trabajo del científico inglés Timothy Berners-Lee titulado "El manejo de la información: una propuesta", concluido en 1989, marcó una pauta revolucionaria en el mundo de las redes y las comunicaciones. Dicha investigación, elaborada junto a Roy Fielding y Henrik Frystyk Nielsen, estaba basada en los modelos teóricos de interconexión de documentos de los años '60, denominados hipertextos. Berners-Lee y sus colaboradores partieron de la idea de elaborar una estrategia que permitiera a los usuarios acceder fácilmente a la información disponible en cualquiera de las redes del planeta. Previo a los resultados de estos estudios, se necesitaba dominar complicadas interfaces e instrucciones, sin contar que había que acceder a algunos tipos de redes utilizando programas y sistemas operativos específicos. El HTTP solucionó esta dificultad, logrando vincular los recursos almacenados en diversas plataformas de un modo eficaz y transparente para los usuarios. En los primeros meses de la década de 1990, el físico Paul Kunz colocó el primer servidor web de Internet en el Acelerador Lineal de la Universidad de Stanford, dando pie a los inicios de la World Wide Web. Con la generalización de este servicio, Internet pasó del uso científico y académico a una total masificación en todos los sectores de la sociedad.

En 1992 ocurrió un acontecimiento muy importante: un joven norteamericano de 21 años desarrolló, en el NCSA de la Universidad de Illinois, el primer navegador capaz de manipular recursos multimedia. Se trata de Marc Andreessen, quien contribuyó de forma decisiva a la expansión de la Web con la primera versión de Mosaic. Los efectos de esta aplicación rompieron con todos los límites previstos, llevando a Andreessen meses después a liderar el equipo de desarrollo del Netscape Navigator. Lo demás se puede resumir en estadísticas: antes de 1994, la web se había difundido a mayor velocidad que las PC en los años '80, continuando a tal rimo exponencial que en la actualidad es prácticamente imposible cuantificar con exactitud el número de servidores y sitios web existentes en la red.

En su corta historia, la Web ha demostrado -entre otros factores- que cualquier intención, por más pequeña que sea, puede tener un colosal desenlace. Ejemplos sobran: Google, Yahoo!, Napster, Million Dollar Homepage -iniciadas por estudiantes-, o Amazon y eBay, que alcanzaron su privilegiada posición por ser de las primeras webs que tocaron el tema del comercio electrónico a partir de 1995, luego de la privatización de Internet. Pues ante estos casos no hay que quedarse de brazos cruzados... todo lo contrario, hacer un análisis de cómo estos y otros cientos de miles de sitios han alcanzado la popularidad en el ciberespacio.

Concebir un objetivo::

Seguramente ninguna empresa o proyecto ha conducido su rumbo hacia adelante sin un objetivo preciso; así mismo ocurre con los sitios de Internet. Antes de comenzar el desarrollo de una simple página o de un íntegro portal de información, hay que examinar con certeza las metas que se deseen alcanzar y las vías por donde encauzarse.

Las perspectivas del sitio deben ser extensibles, es decir, que si pasan dos meses y se desea añadir un nuevo servicio, ello no debe suponer una reestructuración a gran escala. Los objetivos no están sólo relacionados con el plano conceptual; también influyen en el diseño, la información que se brinda, el nexo con los clientes y otra larga lista de factores. Siempre es necesario concebir la proyección de una web con la hipótesis de un crecimiento ilimitado, debido a que nunca sabremos qué pasará en un futuro, tanto si nos dedicamos a un portal de noticias como a la exposición de obras realizadas por un artista. Esto no quiere decir que aceptemos cualquier propuesta fuera de ámbito, sino que modelemos las ideas con el fin de que el sitio pueda enriquecerse sin problemas con el paso del tiempo.

Centrarse en el usuario::

Luego de proyectarse con amplitud y objetividad, es común ver a desarrolladores modelando el sitio en relación con sus propios conceptos e intereses. Al final el resultado es obvio: será una web orientada al creador y no a los visitantes. Pues como no se trata de un hogar, un sitio web debe tratar este indeseado efecto estableciendo las proporciones adecuadas.

Primeramente, es necesario definir a qué público está dirigido el objetivo primario y luego estudiar lo que los motiva y afecta, para erigir con acierto los pilares del proyecto. Éste es uno de los puntos más importantes de toda la etapa de desarrollo, ya que sin los criterios apropiados estaríamos cometiendo el error de tergiversar los objetivos.

La versión final de nuestro sitio debe ser capaz de anticiparse a las necesidades de sus usuarios potenciales. Por ejemplo, si gestionamos el espacio virtual de una línea de ómnibus, será necesario ofrecer un mapa interactivo del área que abarca dicha compañía con cada una de sus rutas disponibles, en adición a otros servicios de gran demanda.

Es importante que complejidad de la estructura del sitio se encuentre en equilibrio con el nivel medio de nuestros visitantes. No podremos obstaculizar a los clientes ni tampoco abrumarlos de pasos evidentes. Ambas situaciones podrían restarnos público y echarlo todo a perder. Por ello es tan importante conocer a nuestros usuarios, retroalimentarnos y aprender de ellos mediante foros, encuestas y técnicas de blogging. Es evidente que tenemos que adaptarnos a las críticas, remodelaciones y demás factores tan complicados, pero que pueden lanzarnos directamente a la popularidad.

Dinamismo y versatilidad::

El ciberespacio de los años '90 se caracterizó por mostrar al internauta contenidos previamente estructurados y dispuestos en un medio específico -tal como el índice de libros de una biblioteca municipal, colocado en una enorme tabla con columnas rotuladas según los datos de cada una de las publicaciones. Este modelo estático se tornó obsoleto mucho antes de que los nuevos desarrolladores se volvieran locos gestionando toda la información de su sitio web, gracias al surgimiento de la programación de páginas dinámicas en el lado del servidor. Uno de los primeros sistemas de este tipo fue el CGI, que se escribía cumúnmente en PERL, aunque desde otros lenguajes como C++ y Visual Basic se podían construir elementos equivalentes que detectaran peticiones hechas al servidor y devolvieran HTML con la información resultante. El funcionamiento de plataformas cliente-servidor posteriores es similar, aunque no requieren del tiempo de desarrollo ni de los recursos de servidor que utilizaba CGI.

Hoy en día, los lenguajes más utilizados para administrar una web son el PHP, JSP y ASP, en conjunto con sistemas gestores de bases de datos y el XML. Como el objetivo de estas notas no es realizar una comparación exhaustiva de cada una de las tecnologías de servidor existentes, nos centraremos en la simbiosis Apache + PHP + MySQL para ejemplificar las ventajas de los modelos dinámicos.

Imaginémonos envueltos en el caso de la bliblioteca municipal: alguien nos asigna el desarrollo de su catálogo virtual. Lo primero que nos viene a la mente es la automatización y el mantenimiento de ese colosal cúmulo de datos. Para ello recurrimos a la tríada referenciada por su potencia, confiabilidad y carácter open source (no pagamos un sólo centavo y estamos conscientes sobre qué hay en el núcleo de dichos productos, con la libre posibilidad de personalizarlos a nuestro gusto). Luego nos sentamos frente a la computadora a diseñar las bases de datos y desarrollar un eficiente algoritmo que permita devolver a los clientes del sitio cualquier consulta efectuada por ellos. Habrá que asignar a la mayor parte de los usuarios un acceso de sólo lectura, mientras que algunos trabajadores tendrán el derecho de editar, organizar y ampliar el catálogo on-line de libros y documentos almacenados en la biblioteca. Cada visitante podría comentar un libro determinado, debatir en el foro sobre algún género literario o, simplemente, comprar con un par de clicks revistas o folletos que lanzó dicha institución en la Feria del Libro pasada.

Como se puede apreciar, todo esto es prácticamente imposible hacerlo en un sistema de páginas Web estáticas. El mero hecho de visualizar datos se convierte en un proceso tedioso de tener que actualizar las etiquetas HTML manualmente, considerando que el contenido sea extenso y deba actualizarse con frecuencia. Muchos especialistas emplean el término Web 2.0 para denominar ciertos modelos que aprovechan eficientemente el control de la información, como Wikipedia, GMail y otros cientos de servicios web activos en Internet. El esquema conceptual de la derecha muestra claramente sus aspectos innovadores. Hoy en día, en pleno desarrollo de este tipo de tecnologías, hay quienes se atreven de hablar, inclusive, de la Web 3.0 y hasta de una Web 4.0, cuyas promesas fundamentales son lograr que la telaraña aprenda los hábitos y preferencias de cada uno de los que queden "atrapados" en ella, para refinar al máximo la búsqueda de recursos e información.

Muchos desarrolladores prefieren utilizar, junto a la programación web en el lado del servidor, scripts ejecutados en el navegador del cliente. Los ejemplos más generalizados son bastante conocidos: JavaScript, VBScript, ActionScript (contenido dentro de los archivos SWF), pero las ventajas de cada uno de estos lenguajes comúnmente opacan sus debilidades. ¿Por qué? Pues muchos de los navegadores no incluyen los plug-ins necesarios para ejecutar este tipo de contenido o sus versiones interpretan versiones diferentes -valga la redundancia- de lenguajes scripts. Por ello se debe tener mucho cuidado con el desarrollo de aplicaciones web del lado del cliente, porque el browser puede ser incompatible o cualquier usuario tiene la posibilidad de desactivar la ejecución de contenidos dinámicos. Estas dos dificultades ocurren muy a menudo, por lo que depender de la configuración de cada cliente puede desenfocar las pretensiones de nuestro proyecto. Debemos desarrollar pensando que nuestro sitio debe correr de una forma óptima en los sistemas de todos nuestros visitantes.

La revista BlackHat está basada en un modelo estático, dada las condiciones de la infraestructura de las redes en nuestro país. Una gran porciento de nuestros lectores no puede acceder directamente a la web o invertir un tiempo considerable dentro de ella, por lo que el contenido de esta publicación puede ser consultado sin conexión. Esperamos que algún día la información de no sólo ésta, sino de todas las fuentes de conocimiento del mundo, puedan ser accesibles desde cada uno de los hogares de las personas interesadas en aprender. Quizás no sea una vana esperanza, pues todo depende de que quienes manejan los ajustes -y gozan de una vasta conectividad- nos ofrezcan servicios, en vez de minimizar las posibilidades de los que navegan o de los que aún no tienen la oportunidad de hacerlo. Cabe recordar a los que se les ha olvidado, que cada minuto que pasa es tiempo que tenemos perdido en ese mundo potencialmente increíble al que todos llamamos ciberespacio.

equilibrio entre Contenido y diseño::

Ambos conceptos siempre se han llevado de la mano, más aún en esta década, donde la post-explosión de Internet ha definido, extendido y reestructurado un caudal de nociones tradicionales. Es común afirmar que un documento objetivo, interesante y que nos aporte información, tiene los motivos suficientes para ser publicado en la red. Pero si se analizan ciertos factores, como la ausencia de estructuración, uso de colores no contrastantes, tipografías incorrectas y esquemas visuales desproporcionados, nos damos cuenta de que aún el trabajo no está concluido. Lo mismo ocurre con un portal de noticias, un gestor de encuestas, un cliente de correo electrónico o una aplicación de negocios on-line. De no tener el adecuado estilo y presentación, el mensaje implícito de cada web no podrá ser transmitido adecuadamente. Se podría definir, sin caer en aspectos técnicos ni artísticos, que tanto la información como su diseño ejercen la misma importancia a la hora de llevarla al dominio público.

El desarrollo web exige de ciertas reglas que sólo son aplicables a este medio donde, según Jakob Nielsen, “la única constante es el cambio”. Se puede destacar la ligereza del contenido y su separación en módulos y secciones, debido a que el display donde se muestra toda esa información no es un libro, ni se lee tan cómodo como en el papel. La optimización de los algoritmos de contenidos interactivos y del tamaño de los recursos multimedia juegan un papel muy importante, por los límites de velocidad de transferencia de cada una de las redes interconectadas a Internet y los niveles de procesamiento de la CPU de los usuarios.

Por último, se debe tratar a un sitio web como una maquinaria en movimiento, totalmente flexible ante cualquier cambio tecnológico o estético. Por ello es recomendable utilizar hojas de estilo para la presentación de información, como las CSS o XSL, que permiten separar la forma del contenido (aunque las XSL van mucho más allá), mantener el diseño y el concepto del sitio vinculados con los objetivos propuestos y, lo más importante, siempre estar abiertos a nuevos cambios que puedan surgir.

Para saber más...



Artículos relacionados


No hay comentarios: