Etiqueta: Ingeniería Web

Inteligencia colectiva en la Web 2.0

Inteligencia colectiva en la Web 2.0

En el año 2004, O’Reilly y sus asociados acuñaron el término Web 2.0, el cual consiguió finalmente una aceptación mayoritaria como término para esta nueva era, de la misma manera en la que puntocom o Web 1.0 describió la época anterior. Según el investigador S. Alag, en el artículo publicado el año 2008 sobre la inteligencia colectiva en acción, a pesar de la actual popularidad de la Web 2.0, aún no es fácil implementar muchos de sus principios. La Web 2.0 no es un concepto uniforme, sino un término genérico o un concepto para las nuevas tecnologías de Internet y sus aplicaciones. La Web 2.0 puede ser vista como un renacimiento, una intensificación, una renovación o aún como una segunda generación de Internet, en la cual el usuario que genera los contenidos ocupa un lugar central. No es fácil definir el Web 2.0 debido a la longitud de este concepto. Por eso, se suelen hacer descripciones generales de la Web 2.0 en lugar de definiciones específicas.
En el artículo Web 2.0 para el gobierno electrónico, publicado el año 2007 por Osimo y Burgelman, se afirma que la Web 2.0 es un concepto relacionado tanto con la tecnología como con la actitud. Por su parte el investigador Miller, en el documento del año 2005 denominado “Web 2.0 construyendo la nueva biblioteca”, describe la Web 2.0 como la red usada como una plataforma, incluyendo a todos los dispositivos conectados; las aplicaciones Web 2.0 son aquellas que aprovechan al máximo las ventajas intrínsecas de esta plataforma, desarrollando software como un servicio continuamente puesto al día y que mejora a medida que es usado por más personas; consumiendo y remezclando datos de múltiples fuentes; incluyendo usuarios individuales; proporcionando sus propios datos y servicios de forma que permite la participación de otros, creando efectos de red mediante una arquitectura de participación; y yendo más allá del concepto de página que existía en la Web 1.0 para proporcionar experiencias más ricas al usuario.
Según los investigadores De Kool y Van Wamelen, en el artículo Web 2.0: una nueva base para el gobierno electrónico, la Web 2.0 se presenta a menudo como un modo revolucionario de compilación, organización y compartición de información. Los ejemplos más conocidos de uso de la Web 2.0 usos son Google, Weblogs, Wikipedia, YouTube, MySpace, Tuenti, Facebook y Second Life, entre otros. A pesar de que muchos usuarios han abrazado la Web 2.0, existen también voces críticas, según las cuales la Web 2.0 ha tenido una promoción exagerada y existen dudas acerca de si el potencial de la Web 2.0 se pondrá realmente en práctica.
O’Reilly en su artículo “Qué es la Web 2.0 Patrones de diseño y modelos de negocio para la siguiente generación del software”, escrita el año 2005, extrae los principios de la Web 2.0 que se deducen, de una forma u otra, de las historias de éxito de la Web 1.0 y de lo más interesante de las nuevas aplicaciones. Los siete principios constitutivos de las aplicaciones Web 2.0 son: (1) La World Wide Web como plataforma. Las nuevas compañías ofrecen software gratuito, utilizando a la Web como plataforma. Así, las herramientas y sus contenidos existen en la propia Web y no en la computadora del usuario. El concepto de webtop opuesto al de desktop es apropiado para explicar este fenómeno comercial. (2) Aprovechar la inteligencia colectiva. La idea se encuentra en el origen de la World Wide Web y del Open Source. No constituye un concepto novedoso. Según Tapscott y Williams, en su artículo sobre Wikieconomía publicado el año 2007, la nueva infraestructura de bajo costo para la colaboración, desde telefonía gratuita por Internet, hasta software libre o plataformas globales de externalización, permiten que miles de individuos y pequeños productores creen productos en colaboración, accedan a mercados y complazcan a los clientes de manera que sólo las grandes corporaciones podían gestionar en el pasado. Esto propicia el surgimiento de posibilidades de colaboración y modelos de negocios nuevos que potenciarán a las empresas preparadas y destruirán a las que no consigan adaptarse. (3) La gestión de la base de datos como competencia. Se refiere al control sobre fuentes de datos únicos y difíciles de replicar que se enriquezcan a medida que más personas las utilicen. Este principio tiene una palabra clave: Infoware, software más datos. (4) El fin del ciclo de actualizaciones de versiones del software. La confianza en los usuarios como codesarrolladores, considerando las prácticas del desarrollo del software abierto y la posibilidad de tener aplicaciones en prueba de forma continua, versiones beta, añadiendo nuevas funcionalidades basadas en las sugerencias y recomendaciones de los usuarios. (5) Modelos de programación ligera. Búsqueda de la simplicidad; interfaces de usuario, modelos de desarrollo y de negocio ligeros que utilicen las herramientas de Internet, disponibles en la actualidad para aprovechar los recursos disponibles en la red y disponerlos de forma creativa. (6) El software no limitado a un solo dispositivo. La utilización de los productos de la Web 2.0 no se limita a las computadoras. Los teléfonos móviles de tercera generación empezaron a ocupar espacios hasta ahora sólo reservado a aquéllas. (7) Experiencias enriquecedoras del usuario. Las clásicas herramientas para producir aplicaciones Web, como Dreamweaver y Flash, ofrecen la posibilidad de crear un diseño complejo de contenidos dinámicos mediante HTML, estilos CSS y programación, pero también se quedan atrás de las aplicaciones diseñadas en Ajax, Ruby on Rails o BitTorrent para los productos Web 2.0. Interfaces con la capacidad de acceso en todo lugar y momento a los servicios web, con la usabilidad, familiaridad y sencillez de las interfaces de los sistemas operativos.
En la era post-puntocom, la Web no deja de transformarse hacia la nueva Web 2.0. Existen nuevas aplicaciones Web en las que confían los usuarios, que los invitan a interactuar, a conectarse con otros usuarios, obteniendo información constante y permitiendo que la aplicación mejore gracias a esta interacción. Los usuarios se expresan, tanto compartiendo sus opiniones sobre un producto o un servicio, como etiquetando contenidos, mediante su participación en comunidades online o bien distribuyendo nuevos contenidos entre los demás usuarios. Este incremento de la interacción y participación de los usuarios provoca lógicamente un incremento de los datos que pueden ser convertidos en inteligencia por la aplicación, por lo que es necesario el uso de la llamada “inteligencia colectiva” para personalizar un sitio Web para un usuario concreto, ayudándole a buscar soluciones y tomar decisiones. Según el investigador Alag, en el artículo comentado del año 2008, la inteligencia colectiva se define como el uso efectivo de la información que proveen otros usuarios con el fin de mejorar la aplicación de uno. Además de extraer inteligencia de un conjunto de interacciones y contribuciones de los usuarios, la inteligencia colectiva se encarga de actuar como filtro para saber que lo que puede resultar importante de una aplicación para cada usuario. Este filtro puede ser desde una simple influencia, puntuaciones o revisiones, a un modelo personalizado de recomendaciones de contenidos por parte de un usuario.
En una aplicación, existen distintos tipos de inteligencia colectiva, a saber: (1) Explícita. Es proporcionada por el usuario a la aplicación. Se trata de revisiones, etiquetas, marcadores y recomendaciones, entre otros. (2) Implícita. Se trata de información que los usuarios proporcionan tanto dentro como fuera de la aplicación y que está en formato no estructurado. Blogs, Wikis, comunidades o redes sociales aportan a este tipo de inteligencia. (3) Inteligencia derivada. Se encuentra basada en la información recogida de las dos anteriores, mediante técnicas como el agrupamiento, las búsquedas, la minería Web y la minería de textos. Mediante su interacción con una aplicación Web, los usuarios proporcionan un rico conjunto de información que puede ser convertido en inteligencia. Existen dos fuentes principales de alimentación para la inteligencia de una aplicación: (1) Basada en contenidos. El estar basada en contenidos representa generalmente palabras o frases clave. (2) Basada en la colaboración. Fuente de alimentación basada en la interacción entre usuarios.
Cobo y Pardo, en su libro “Planeta Web 2.0. Inteligencia colectiva o medios fast food”, escrita el año 2007, proponen algunas pautas para orientar la selección de herramientas disponibles en Internet, haciendo la salvedad que todo intento de depurar, clasificar y organizar el universo digital es una tarea sin fin y cuya misión nunca se alcanzará plenamente. Los autores buscan ordenar la Web 2.0 en cuatro líneas fundamentales y proponen una estructura que denominan los cuatro pilares de la Web 2.0, los cuales son: (1) Redes sociales. (2) Contenidos. (3) Organización social e inteligente de la información. (4) Aplicaciones y servicios. El principal valor que ofrecen las aplicaciones Web 2.0 es la simplificación de la lectura y escritura on-line. Esto se traduce en dos acciones sustantivas del proceso de aprendizaje: generar contenidos y compartirlos. En este sentido, se ha considerado la posibilidad de utilizar aplicaciones Web 2.0 para el desarrollo de proyectos colaborativos en línea que faciliten la colaboración y participación activa de las personas en la generación y publicación de contenido, con la posibilidad de compartirlos y beneficiarse de la colaboración de personas ubicadas geográficamente en lugares distantes.
Referencias Bibliográficas

  • Alag S. (2007) Collective Intelligence in Action. Manning Pub, online ed., September 2008.
  • Osimo D. y Burgelman J.C., “Web 2.0 for e-Government: Why and How”, 4th Ministerial e-Government Conference, Lisboa 2007.
  • Miller P. (2005) Web 2.0: building the new library. Ariadne, vol. 45.
  • De Kool D. y J. Van Wamelen (2008) Web 2.0: A New Basis for E-Government, 3rd International Conference on Information and Communication Technologies: From Theory to Applications, ICTTA 2008, vol. 1 pp.1-7, 7-11 April 2008.
  • O’Reilly (2005) “What is Web 2.0”. Recuperado el 15 de diciembre de 2007, a partir de: http://www.oreilly.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html.
  • Tapscott D. y Williams A. (2007) Wikinomics: la nueva economía de las multitudes inteligentes. Paidos Iberica Ediciones, Barcelona, España.
  • Cobo y Pardo (2007) Planeta Web 2.0. Inteligencia colectiva o medios fast food. (Grup de Recerca d’Interaccions Digitals, Universitat de Vic. Flacso México.). Barcelona/México DF; 2007.
Guillermo Choque Aspiazu
http://www.eldiario.net/
Articulo no publicado
Lenguaje para marcado de hipertexto

Lenguaje para marcado de hipertexto

La World Wide Web, nace el año 1989 gracias a los esfuerzos realizados por un investigador, del Centro Europeo de Investigación Nuclear, llamado Tim Berners-Lee quien inventó un sistema de intercambio de información en la red con posibilidades multimedia, que se conocería posteriormente como el servicio World Wide Web para Internet. Para ello Berner-Lee diseñó un esquema basado en tres pilares: (1) Un “Identificador Universal de Recursos” para que todos los documentos tengan un nombre único. (2) Un “Protocolo de Transferencia de Hipertexto” para la gestión de tráfico documental. (3) Un “Lenguaje para el Marcado de Hipertexto”, para la creación y edición de los documentos Web. Este sistema podía ser conceptualizado como una gran red de discos duros donde se alojarían los millones de documentos Web enlazados entre sí. En esta línea podía pensarse en Internet como un espacio de flujo incesante, en el cual permanentemente circulan representaciones simbólicas en forma de arte, dinero, conocimiento, entretenimiento, luchas sociales, etc. Es decir, es posible pensar en la red como un espacio privilegiado por donde fluye el poder, bajo una forma específica de sociabilidad. Dado que actualmente existen varios protocolos que gestionan el tráfico documental y de contenido en Internet se hace necesario estandarizar la normativa que haga posible su compatibilidad. Desde los comienzos, el “Consorcio de la World Wide Web” presidida por su creador Tim Berners-Lee, es la organización que elabora y publica los estándares que hacen posible la Web.

El “lenguaje para el marcado de hipertexto”, es el código que posibilita la creación y edición de documentos Web. Es un metalenguaje heredado del “lenguaje de marcado generalizado estándar” basado en etiquetas, que tiene como virtud entre otras, la de poder ser implementado por código de otros lenguajes como JavaScript o Visual Basic Script que amplían y mejoran su capacidad original. El código del lenguaje para el marcado de hipertexto utiliza el código ASCII puro que puede ser incorporado en cualquier editor básico para posteriormente ser interpretado secuencialmente por un objeto cliente denominado navegador, que se encarga de visualizar el resultado en pantalla. La sintaxis del lenguaje para el marcado de hipertexto está estructurada según el siguiente protocolo: (1) Una etiqueta inicial que señala el comienzo de un elemento. (2) Un número determinado de atributos y sus valores asociados. (3) Una cierta cantidad de contenido, compuesto por caracteres y otros elementos. (4) Una etiqueta que marca el final.

El lenguaje para el marcado de hipertexto es el lenguaje de marcado predominante para la elaboración de páginas Web. Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. El lenguaje para el marcado de hipertexto se escribe en forma de “etiquetas”, rodeadas por corchetes angulares (<,>). El lenguaje para el marcado de hipertexto también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script, por ejemplo Javascript, el cual puede afectar el comportamiento de navegadores Web y otros procesadores del lenguaje.

La primera descripción del lenguaje para el marcado de hipertexto disponible públicamente fue un documento llamado “etiquetas del lenguaje para el marcado de hipertexto”, publicado por primera vez en Internet por Tim Berners-Lee el año 1991. El documento describe veintidós elementos comprendiendo el diseño inicial y relativamente simple del lenguaje para el marcado de hipertexto Trece de estos elementos todavía existen en las versiones estándar del lenguaje para el marcado de hipertexto. Berners-Lee consideraba al lenguaje para el marcado de hipertexto una ampliación de lenguaje de marcado general estandar, pero no fue formalmente reconocida como tal hasta la publicación de mediados del año 1993, de una primera proposición para una especificación del boceto del lenguaje para el marcado de hipertexto de los investigadores Berners-Lee y Dan Connolly, el cual incluía una “definición de tipo de documento” para definir la gramática del lenguaje. El boceto expiró luego de seis meses, pero fue notable por su reconocimiento de la etiqueta propia del navegador Mosaic usada para insertar imágenes sin cambio de línea, reflejando la filosofía basar estándares en prototipos con éxito. De modo similar, el boceto competidor de Dave Raggett denominado “formato de marcaje de hipertexto” que apareció el año 1993, sugería estandarizar características ya implementadas, tales como las tablas.

Los elementos constituyen la estructura básica del lenguaje para el marcado de hipertexto. Los elementos tienen dos propiedades básicas: atributos y contenido. Cada atributo y contenido tiene ciertas restricciones para que se considere válido al documento. Un elemento generalmente tiene una etiqueta de inicio, por ejemplo <elemento>, y una etiqueta de cierre, por ejemplo </elemento>. Los atributos del elemento están contenidos en la etiqueta de inicio y el contenido está ubicado entre las dos etiquetas.

El lenguaje para el marcado de hipertexto puede ser creado y editado con cualquier editor de textos básico, como puede ser Gedit en Linux, el Bloc de Notas de Windows, o cualquier otro editor que admita texto sin formato como GNU Emacs, Microsoft Wordpad, TextPad, Vim, Notepad++, entre los más sobresalientes. Existen además, otros editores para la realización de sitios Web con características “lo que se ve es lo que se obtiene”. Estos editores permiten ver el resultado de lo que se está editando en tiempo real, a medida que se va desarrollando el documento. Ahora bien, esto no significa una manera distinta de realizar aplicaciones Web, sino que una forma un tanto más simple ya que estos programas, además de tener la opción de trabajar con la vista preliminar, tienen su propia sección de lenguaje para el marcado de hipertexto, la cual va generando todo el código a medida que se va trabajando. Algunos ejemplos de editores “lo que se ve es lo que se obtiene” son Macromedia Dreamweaver, o Microsoft FrontPage. Existe otro tipo de editores, del lenguaje para el marcado de hipertexto, llamados “lo que ves es lo que quieres decir”, que dan más importancia al contenido y al significado que a la apariencia visual. Entre los objetivos que tienen estos editores se encuentra la separación del contenido y la presentación, que es absolutamente fundamental en el diseño Web.

El lenguaje para el marcado de hipertexto utiliza etiquetas o marcas, que consisten en breves instrucciones de comienzo y final, mediante las cuales se determinan la forma en la que debe aparecer el texto en el navegador, así como también las imágenes y los demás elementos, en la pantalla de la computadora. Toda etiqueta se identifica porque está encerrada entre los signos menor que y mayor que, y algunas tienen atributos que pueden tomar algún valor. En general las etiquetas se aplican de formas especiales: (1) Se abren y se cierran, como por ejemplo: <b>negrita</b>, lo que se observa en el navegador Web como negrita. (2) No pueden abrirse y cerrarse, como <hr> que se ve en el navegador Web como una línea horizontal.

Al interior del lenguaje para el marcado de hipertexto existen tres tipos de marcado: (1) El marcado estructural describe el propósito del texto. Por ejemplo, <h2>El Diario</h2> establece a “El Diario” como un encabezamiento de segundo nivel, mostrado en un navegador. El marcado estructural no define cómo se verá el elemento, pero la mayoría de los navegadores Web han estandarizado el formato de los elementos. Un formato específico puede ser aplicado al texto por medio de hojas de estilo en cascada. (2) El marcado presentacional describe la apariencia del texto, sin importar su función. Por ejemplo, <b>negrita</b> indica que los navegadores Web visuales deben mostrar el texto en negrita, pero no indica qué deben hacer los navegadores Web que muestran el contenido de otra manera, por ejemplo los que leen el texto en voz alta. En el caso de <b>negrita</b> e <i>itálica</i>, existen elementos que se ven de la misma manera pero tienen una naturaleza más semántica: <strong>enfásis fuerte</strong> y <em>énfasis</em>. Es fácil ver cómo un lector de pantalla debería interpretar estos dos elementos. Sin embargo, son equivalentes a sus correspondientes elementos presentacionales: un lector de pantalla no debería decir más fuerte el nombre de un libro, aunque el mismo se encuentre en itálicas en una pantalla. La mayoría del marcado presentacional ha sido desechado con el lenguaje para el marcado de hipertexto versión 4.0, en favor de las hojas de estilo en cascada. (3) El marcado hipertextual se utiliza para enlazar partes del documento con otros documentos o con otras partes del mismo documento. Para crear un enlace es necesario utilizar la etiqueta de ancla <a> junto con el atributo href, que establecerá la dirección del identificador universal de recursos a la que apunta el enlace. Por ejemplo, un enlace a la Wikipedia vendría a ser de la forma <a href=”es.wikipedia.org”>Wikipedia</a>. También se pueden crear enlaces sobre otros objetos, tales como imágenes <a href=”enlace”><img src=”imagen” /></a>.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Mayo 3 de 2010

Lenguajes de marcado

Lenguajes de marcado

Un lenguaje de marcado o lenguaje de marcas es una forma de codificar un documento que, junto con el texto, incorpora etiquetas o marcas que contienen información adicional acerca de la estructura del texto o su presentación. El lenguaje de marcas más extendido es el “Lenguaje de Marcado de Hipertexto”, fundamento del servicio World Wide Web de Internet. Los lenguajes de marcado suelen confundirse con lenguajes de programación. Sin embargo, no son lo mismo, ya que el lenguaje de marcado no tiene funciones aritméticas o variables, como sí poseen los lenguajes de programación. Históricamente, el marcado se usaba y se usa en la industria editorial y de la comunicación, así como entre autores, editores e impresores. Los lenguajes de marcas no son lenguajes de formato similar a los lenguajes que se usan en Internet como los de descripción de páginas, ni son lenguajes de programación, sino que se trata de lenguajes orientados a definir la estructura y la semántica de un documento. En realidad, más que de lenguajes, podría hablarse de metalenguajes o sistemas formales mediante los cuales se añade información o codificación a la forma digital de un documento bien para controlar su procesamiento o bien para representar su significado.

Un lenguaje de marcado cumple con dos objetivos esenciales a la hora de diseñar y procesar un documento digital. Especifica las operaciones tipográficas y las funciones que debe ejecutar el programa visualizador sobre dichos elementos. Las operaciones tipográficas son instrucciones de formato que se aplican a cada uno de los elementos de un documento digital como, por ejemplo, imprimir un título en negrita y a un determinado tamaño. Separa un texto en los elementos de los que se compone, como por ejemplo un párrafo, un capítulo, un encabezamiento, etc. De esta manera existen dos tipos de marcado: (1) Marcado específico, en el cual se describe cómo debe ser formateado el documento en relación con la fuente, tamaño, color, etc. (2) Marcado estructural, que se encarga de la descripción de la estructura del documento, los títulos, párrafos, etc.

Los lenguajes de marcado presentan las siguientes características: (1) Texto plano. Son archivos de texto plano, por lo que la información puede ser interpretada directamente, y se editan con un editor de textos sencillo. Como son documentos únicamente de texto, son independientes del exterior, de tal manera que no restringe el intercambio de información. Esta es una de las razones de su gran aceptación. (2) Facilidad de procesamiento. Las organizaciones de estándares han estado desarrollando lenguajes especializados para las distintas especialidades de conocimiento y comunidades científicas concretas. Se han elaborado lenguajes adaptados a cada una de las necesidades de conocimiento. Un buen ejemplo fue el caso de la empresa Sun Microsystems, que escribió la documentación de sus productos en el “Lenguaje de Marcado Generalizado Estándar” y produjo una gran reducción de costos. El responsable de la decisión fue Jon Bosak, que más tarde fundó el comité del “Lenguaje de Marcado Extendido”. (3) Flexibilidad. Originalmente los lenguajes de marcado se desarrollaron para documentos textuales, pero debido a su alta aceptación se han empezado a utilizar en otras áreas y aplicaciones, como servicios web o interfaces de usuarios. Éstas se benefician de las ventajas del “Lenguaje de Marcado Extendido” y permiten combinar diferentes lenguajes de marcado en el mismo documento.

Suele diferenciarse entre tres clases de lenguajes de marcado, aunque en la práctica pueden combinarse varias clases en un mismo documento. (1) Marcado de presentación. Este marcado es aquel que indica el formato del texto. Este tipo de marcado es útil para maquetar la presentación de un documento para su lectura, pero resulta insuficiente para el procesamiento automático de la información. El marcado de presentación resulta más fácil de elaborar, sobre todo para cantidades pequeñas de información. Sin embargo resulta complicado de mantener o modificar, por lo que su uso se ha ido reduciendo en proyectos grandes en favor de otros tipos de marcado más estructurados. Se puede tratar de averiguar la estructura de un documento de esta clase buscando pistas en el texto. (2) Marcado de procedimientos. Este marcado se encuentra enfocado hacia la presentación del texto, sin embargo, también es visible para el usuario que edita el texto. El programa que representa el documento debe interpretar el código en el mismo orden en que aparece. Algunos ejemplos de marcado de procedimientos son nroff, troff, TeX. Este tipo de marcado se ha usado extensivamente en aplicaciones de edición profesional, manipulados por tipógrafos calificados, ya que puede llegar a ser extremadamente complejo. (3) Marcado descriptivo. Este marcado, denominado también marcado semántico, utiliza etiquetas para describir los fragmentos de texto, pero sin especificar cómo deben ser representados, o en qué orden. Los lenguajes expresamente diseñados para generar marcado descriptivo son el “Lenguaje de Marcado Generalizado Estándar” y el ““Lenguaje de Marcado Extendido”., en los cuales las etiquetas pueden utilizarse para añadir al contenido cualquier clase de metadatos. Una de las virtudes del marcado descriptivo es su flexibilidad: los fragmentos de texto se etiquetan tal como son, y no tal como deben aparecer. Estos fragmentos pueden utilizarse para más usos de los previstos inicialmente. El marcado descriptivo está evolucionando hacia el marcado genérico. Los nuevos sistemas de marcado descriptivo estructuran los documentos en árbol, con la posibilidad de añadir referencias cruzadas. Esto permite tratarlos como bases de datos, en las que el propio almacenamiento tiene en cuenta la estructura, no como en los grandes objetos binarios como en el pasado. Estos sistemas no tienen un esquema estricto como las bases relacionales, por lo que a menudo se las considera bases semiestructuradas.

Debido a la gran variedad de formatos existentes a la hora de archivar documentos y de los problemas que se planteaban cuando se intercambiaban archivos con las consiguientes pérdidas de formato y otras características, estos problemas se intentaron solucionar editando los textos en el “Código Estándar Americano para el Intercambio de la Información”, con el uso de un código de siete bits que puede representar un máximo de ciento veintiocho caracteres, muchos de ellos no imprimibles. Sin embargo, con la utilización de este código, no se podía definir el formato de un texto, entre otras cosas el uso de negrita o cursiva, o el uso de tipos de letra más grandes para los encabezamientos, ni se podían definir otras características relativas a la posición del texto, por lo que se intentó buscar un sistema de marcas con las que se pudieran determinar éstas y otras particularidades. Se acordó, pues, que las marcas deberían constar de unos caracteres especialmente reservados para ello y que deberían seguirse unas reglas sintácticas especiales. Así nació un lenguaje especial normalizado internacional para la formulación de este tipo de reglas llamado “Lenguaje de Marcado Generalizado Estándar”. Este lenguaje no es pues, un lenguaje en sí mismo, sino un metalenguaje y de él se deriva el lenguaje de marcado de hipertexto, y otros muchos lenguajes de marcas.

El lenguaje de marcado generalizado estándar es una norma ISO que permite que la estructura de un documento pueda ser definida con base en la relación lógica de sus partes. Esta estructura puede ser validada por una definición de tipo de documento. La norma del lenguaje de marcado generalizado estándar define la sintaxis del documento además de la sintaxis y semántica de la definición del tipo de documento. El año 1969 la empresa IBM ideó el “Lenguaje de Marcado Generalizado” con el objetivo de crear un sistema general que permitiera la compatibilidad entre los documentos. En 1978, el Instituto Nacional Americano de Normalización comenzó a trabajar en las especificaciones para los procesadores de textos y el resultado fue el “Lenguaje de Marcado Generalizado Estándar”, que se convirtió en la Norma ISO 8879 en el año 1986. En el lenguaje de marcado generalizado estándar el etiquetado de un fragmento de texto se realiza a través de las etiquetas o marcas. Estas marcas se diferencian del propio texto porque aparecen entre paréntesis angulares en caracteres ASCII que, por tanto, se convierten en signos reservados para la sintaxis. Una pareja de marcas o etiquetas encierran el texto al que afectan. Con la sintaxis del lenguaje de marcado generalizado estándar se pretende identificar la estructura lógica de un documento a través de estas marcas. Las etiquetas marcan los distintos elementos de un texto, como los encabezamientos o los párrafos, representando de la misma forma los elementos de la misma categoría. La presentación final de estos elementos viene determinada por las especificaciones de estilo especiales.

Los lenguajes de marcado de hipertexto y de marcado extendido son, simplemente, dialectos y simplificaciones del lenguaje de marcado generalizado estándar, ya que éste es demasiado complejo. El lenguaje de marcado extendido se diferencia en que es un lenguaje extensible. El término extensibilidad se entiende como la facultad de flexibilidad para el cambio que posee un lenguaje, programa o aplicación determinada, para soportar nuevas funcionalidades cuando se produzcan cambios o se incorporen nuevos elementos, sin que se alteren los elementos o bases existentes, o alterando mínimamente los existentes.

 

Guillermo Choque Aspiazu
http://www.eldiario.net/
Febrero 1 de 2010

Habitantes de la Web semantica

Habitantes de la Web semantica

La Web, tal y como se la conoce, es un espacio de información en el que cualquiera puede publicar documentos y ponerlos a disposición de todo el mundo, lo que ha supuesto una revolución en aplicaciones y nuevas formas de negocio tales como el comercio electrónico. La Web semántica es entendida como una Internet en la que las computadoras no sólo son capaces de presentar la información contenida en las páginas Web, como lo hacen ahora, sino que además pueden “entender” dicha información. La Web semántica es una extensión de la actual Web que permitirá encontrar, compartir y combinar la información más fácilmente. Actualmente la información presente en la Web se encuentra estructurada mediante lenguajes de marcas que únicamente describen la forma en que dicha información debe ser presentada al usuario por el navegador, pero no expresan nada sobre su significado, es decir, su semántica. El objetivo del proyecto de la Web semántica es que toda esta información sea comprensible no sólo por humanos, sino también por computadoras. Para conseguir esto se deberá codificar la semántica de los documentos Web mediante lenguajes de metadatos y ontologías, estas últimas definidas como representaciones compartidas de conocimiento en forma de taxonomías de conceptos relacionales y reglas de inferencia.

En la última década se ha producido una preocupación constante para que las páginas sean comprendidas por los usuarios a través del diseño pero poco se han preocupado para que las computadoras lo entendieran. La Web semántica propone superar las limitaciones de la Web actual mediante la introducción de un conjunto de descripciones explícitas del significado, la estructura interna y la estructura global de los contenidos y servicios disponibles en el servicio World Wide Web, promoviendo la separación de contenido y formato. Esta semántica permitirá que sus habitantes denominados agentes inteligentes, puedan “entender” el significado de los documentos, con lo que podrían asistir a usuarios en tareas como, por ejemplo, la recuperación de información o la gestión de su agenda.

En la práctica esto significa que las máquinas, entre las que se cuentan las computadoras personales o cualquier otro dispositivo conectado a Internet, podrán realizar, casi sin necesidad de intervención humana, infinidad de tareas que simplificarán la vida de las personas. La Web semántica, explican los autores, “no es una Web aparte sino una extensión de la actual en la que la información tiene un significado bien definido, posibilitando que las computadoras y las personas trabajen de manera cooperativa”. Así, lo que hasta ahora había sido básicamente “un medio de documentos para personas” pasará a ser un sistema de datos e información que se podrán procesar de manera automática.

Para explotar la Web semántica se necesita un lenguaje común con suficiente capacidad expresiva y de razonamiento para representar la semántica de las ontologías. Es necesario crear una ontología definida en formato de “descripción de recursos” y ubicada en la Web para determinar el significado contextual de una palabra por medio de la consulta a la ontología apropiada. De esta forma, agentes inteligentes y programas autónomos podrían rastrear la Web de forma automática y localizar, exclusivamente, las páginas que se refieran a la palabra buscada con el significado y concepto precisos con el que sea posible interpretar el término. Por lo tanto, para potenciar el uso de ontologías en la Web, se necesitan aplicaciones específicas de búsqueda de ontologías, que indiquen a los usuarios las ontologías existentes y sus características para utilizarlas en su sistema, como podría ser el uso del buscador semántico SWOOGLE.

En este sentido, se entiende por agente inteligente aquella entidad de software que habita la Web semántica, recoge, filtra y procesa la información contenida en la Web, realiza inferencias sobre dicha información e interactúa con el entorno sin necesidad de supervisión o control constante por parte del usuario. Las cualidades que tendría un agente inteligente ideal, según el investigador James A. Hendler, serían: (1) Comunicativo. El agente debe entender las necesidades, objetivos y preferencias del usuario para que éste pueda realizar su función correctamente. El agente también debe comunicarse con el entorno mediante representaciones compartidas de conocimiento, las ontologías. (2) Capaz. El agente no sólo debe proporcionar una información, sino también un servicio, es decir, debe tener capacidad para hacer cosas. Por ejemplo, si se precisa un artículo de revista y ésta es de pago, el agente debe ser capaz de encontrar el artículo, informar del precio, proporcionar el número de tarjeta de crédito, etc. (3) Autónomo. El agente, además de comunicarse, debe interactuar con el entorno, tomando decisiones y actuando por sí solo, limitando sus acciones según el nivel de autonomía permitida por el usuario. (4) Adaptativo. Debe ser capaz de aprender del entorno, las preferencias de usuarios, fuentes de información y de otros agentes.

La Web semántica debería ser capaz de procesar contenido, razonarlo y hacer deducciones lógicas a partir de éste, y cuando un usuario quiera, realizar todas estas acciones de forma automática. Un agente inteligente entiende lo que se pide, comprende el contenido de los sitios, valida si lo encontrado corresponde a lo pedido y deduce nueva información sobre la ya obtenida. Pero para realizar todas estas tareas es necesario estandarizar las funciones que aportan las distintas capas de la Web semántica: el alfabeto, las referencias, el lenguaje, el formato, las anotaciones sobre significados, los conceptos generales y las reglas y sistemas de deducción. La Web semántica se basa en la estandarización de todos sus datos, todo en la Web, páginas, servicios, etc., deben presentarse en el mismo formato, el cual puede ser comprendido por una nueva generación de agentes inteligentes que clasificarán la información de una manera más eficiente para devolver resultados más precisos ante una búsqueda o un pedido de información.

La idea es que los datos puedan ser utilizados y “comprendidos” por las computadoras sin necesidad de supervisión humana, de forma que los habitantes de la Web puedan ser diseñados para tratar la información situada en las páginas Web de manera semiautomática. Se trata de convertir la información en conocimiento, referenciando datos dentro de las páginas Web a metadatos con un esquema común consensuado sobre algún dominio. Los metadatos no sólo especificarán el esquema de datos que debe aparecer en cada instancia, sino que además podrán tener información adicional de cómo hacer deducciones con ellos, es decir, axiomas que podrán aplicarse en los diferentes dominios que trate el conocimiento almacenado. Con ello, se mejorará la búsqueda de información y se potenciará el desarrollo de aplicaciones, como el comercio electrónico, ya que las anotaciones de información seguirán un esquema común, y los buscadores Web compartirán con las anotaciones Web los mismos esquemas. Empresas que traten con clientes y proveedores, podrán intercambiar sus datos de productos siguiendo estos esquemas comunes consensuados.

Los agentes no sólo encontrarán la información de forma precisa, si no que podrán realizar inferencias automáticamente buscando información relacionada con la que se encuentra situada en las páginas, y con los requerimientos de la consulta indicada por el usuario. Por tanto, la Web semántica facilita que sean los agentes inteligentes quienes busquen, comparen y manejen la información de Internet para las personas. El papel del agente inteligente en el proceso de recuperación “semántica” de información no debe confundirse con la de un buscador inteligente. Un buscador inteligente se aprovecha del enriquecimiento semántico de los recursos Web para mejorar, principalmente en la precisión, la recuperación de información, aunque su funcionamiento se basará, como los actuales buscadores, en la previa indización de todos aquellos recursos susceptibles de ser recuperados.

En cambio, un agente inteligente recorrerá la Web a través de los enlaces entre recursos, hiperdocumentos, ontologías, en busca de aquella información que le sea solicitada, pudiendo además interactuar con el entorno para el cumplimiento de tareas encomendadas. Por ejemplo, un agente inteligente, ante una consulta dada, podría consultar autónomamente un buscador, y a partir de sus resultados, explorar la Web hasta encontrar la información solicitada, pudiendo finalmente llevar a cabo una acción sobre dicho recurso, como podría ser la reserva de un boleto aéreo La Paz – Santa Cruz o la reserva de una habitación en un hotel de Caranavi.

 

Guillermo Choque Aspiazu
http://www.eldiario.net/
Febrero 22 de 2010

Web semántica

Web semántica

La World Wide Web o simplemente Web como servicio creado para Internet, es un espacio preparado para el intercambio de información diseñada para el consumo humano. Las aplicaciones Web son creadas por personas para ser entendidas por personas. No existe un formato común para mostrar la información, por lo cual, los diseñadores y desarrolladores de aplicaciones Web crean sus páginas dependiendo de los potenciales usuarios que van a visitarlas. Los actuales buscadores residentes en la Web realizan la búsqueda de información, con más o menos fortuna, mediante palabras clave que aparecerán en el código de lenguaje de marcado de hipertexto de las aplicaciones Web dispersas en Internet. En los últimos años, algunas empresas están realizando anotaciones de datos introducidas dentro de este código lenguaje de marcado de hipertexto, siguiendo algún esquema de anotación común, normalmente basado en el lenguaje de marcado extendido.

Otra carencia de la situación actual es que, con los estándares Web del momento, no se puede diferenciar entre información personal, académica, comercial, etc. Es decir, cuando un buscador Web realiza una consulta con algunas palabras clave, normalmente aparece información que no es útil porque no corresponde a lo que se está buscando. Además no todas las páginas proporcionan igual cantidad de información, debido precisamente a que no existe un formato o convenio que establezca el contenido que debe añadirse a los sitios Web. Por otro lado, los agentes de búsqueda actuales no se diseñan para “comprender” la información que reside en la Web, precisamente porque es prácticamente imposible conocer la representación de los datos ubicados en las diferentes aplicaciones residentes en la Web.

Con lo mencionado y de forma similar a como la presentó Tim Berners-Lee el año 1998 y adaptando los ejemplos a la ingeniería de ontologías, se puede decir que la Web, basada en documentos y enlaces de hipertexto, fue diseñada para la lectura humana y no para que la información que contiene pudiera procesarse de forma automática. Si se hace una búsqueda de documentos, por ejemplo, por el término “ingeniería de ontologías”, la Web no distingue entre los distintos significados o contextos en los que aparece este término: programas para diseñar ontologías, información docente, empresas que anuncian su Web, etc. La Web actual tampoco permite automatizar procesos, como por ejemplo, buscar un seminario sobre ingeniería de ontologías, hacer la reserva de la plaza, consultar los medios de transporte disponibles hasta la ciudad donde se celebra el evento, reservar el pasaje y conseguir un plano de dicha ciudad. Aún utilizando el más potente de los buscadores, se pierde muchas horas navegando por los resultados obtenidos tras la consulta, para solamente acceder a la información de forma manual, cuando esto lo podría hacer fácilmente un programa informático o un agente inteligente.

La Web semántica viene a ser una extensión de la Web actual dotada de significado, esto es, un espacio donde la información tiene un significado bien definido, de manera que pudiera ser interpretada tanto por agentes humanos como por agentes computarizados La Web semántica se encuentra dotada de mayor significado en la que cualquier usuario en Internet puede encontrar respuestas a sus preguntas de forma más rápida y sencilla gracias a una información definida de mejor manera. Se pueden obtener soluciones a problemas habituales en la búsqueda de información gracias a la utilización de una infraestructura común, mediante la cual, es posible compartir, procesar y transferir información de forma sencilla. La Web semántica tiene como objetivo crear un medio universal para el intercambio de información basado en representaciones del significado de los recursos de la Web, de una manera inteligible para las máquinas. Con ello se pretende ampliar la interoperabilidad entre los sistemas informáticos y reducir la mediación de operadores humanos en los procesos inteligentes de flujo de información. La web semántica rescata la noción de ontología del campo de la inteligencia artificial como vehículo para cumplir este objetivo. Una ontología contiene definiciones que proporcionan un vocabulario para referirse a un determinado área de conocimiento, a un conjunto de conceptos que se especifican en lenguaje natural con el objetivo de crear un idioma común para intercambiar información. Ese vocabulario se define mediante un conjunto de términos básicos y relaciones entre dichos términos, así como las reglas que combinan los términos y las relaciones que permiten ampliar las definiciones dadas en el vocabulario. Por tanto, una ontología es una forma de ver el mundo, ya que determina los términos a utilizar para describir y representar un determinado área de conocimiento, haciendo énfasis en la compartición del conocimiento y el consenso en la representación de éste.

Una de las primeras preguntas que se debe responder es cómo encaja la Web semántica con la actual, es decir, cómo accederá el usuario a la Web semántica, y sobre todo, cómo hacer la transición de la Web actual a la Web semántica. Para que la Web semántica pueda realizarse es importante que guarde, al menos al principio, una compatibilidad con la tecnología actual. Es deseable que se mantenga el lenguaje de marcado de hipertexto u otros lenguajes compatibles con los navegadores actuales, como vehículo de comunicación con el usuario. La asociación entre las instancias de la web semántica y el código del lenguaje de marcado de hipertexto se puede establecer mediante distintos mecanismos. Una de las formas posibles consiste en conservar los documentos actuales, y crear las instancias asociadas anotando su correspondencia con los documentos. Esta posibilidad es la más viable cuando se parte de un gran volumen de material antiguo. Otra forma consiste en generar dinámicamente aplicaciones Web a partir de ontologías y sus instancias. Esta última opción puede resultar factible cuando los documentos antiguos ya se estaban generando automáticamente a partir de una base de datos.

La transición de la Web actual a la Web semántica puede implicar un costo altísimo si se tiene en cuenta el volumen de contenidos que ya forman parte de la Web. Crear y poblar las ontologías supone un esfuerzo extra que puede resultar tedioso cuando se agregan nuevos contenidos, pero directamente prohibitivo en lo que respecta a integrar los miles de gigabytes de contenidos antiguos. Las estrategias más viables combinan una pequeña parte de trabajo manual con la automatización del resto del proceso. Las técnicas para la automatización incluyen, entre otras, la correspondencia de la estructura de las bases de datos a ontologías, el aprovechamiento, previa conversión, de los metadatos y estándares de clasificación presentes en la Web y fuera de ella, además de la extracción automática de los metadatos a partir de texto y recursos multimedia. Otra dificultad importante a la hora de realizar la web semántica en la práctica, es la de consensuar ontologías en una comunidad, por poco amplia que sea. Converger a una representación común es una labor más compleja de lo que puede parecer, ya que cada parte del sistema conlleva, típicamente, ciertas peculiaridades necesarias, y un punto de vista propio que a menudo necesita incidir en la propia ontología. La representación del mundo no es neutra respecto al uso que se le va a dar: tanto un dietista como un biólogo tienen el conocimiento suficiente sobre las plantas, pero la representación que pueden hacer de esa materia es muy distinta, y probablemente no será adecuada imponer la misma representación para ambas perspectivas. Las vías para salvar esta dificultad consisten en compartir ontologías para las áreas comunes en que puede tener lugar una interacción o intercambio de información entre las partes, y establecer formas de compatibilidad con las ontologías locales, mediante extensión y especialización de las ontologías genéricas, o por correspondencia y exportación entre ontologías.

La forma en la que se procesará esta información no sólo será en términos de entrada y salida de parámetros sino en términos de su significado. La Web Semántica como infraestructura basada en metadatos aporta un camino para razonar en la Web, extendiendo así sus capacidades. No se trata de una inteligencia artificial mágica que permite a las máquinas entender las palabras de los usuarios, es sólo la habilidad de una máquina para resolver problemas bien definidos, a través de operaciones bien definidas que se llevan a cabo sobre datos existentes bien definidos. Para obtener esa adecuada definición de los datos, la Web Semántica utiliza los estándares RDF y OWL, estos ayudan a convertir la Web en una infraestructura global en la que es posible compartir, y reutilizar datos y documentos entre diferentes tipos de usuarios. RDF proporciona información descriptiva simple sobre los recursos que se encuentran en la Web y que se utiliza, por ejemplo, en catálogos de libros, directorios, colecciones personales de música, fotos, eventos, etc. OWL es un mecanismo para desarrollar temas o vocabularios específicos en los que asociar esos recursos.

 

Guillermo Choque Aspiazu
http://www.eldiario.net/
Agosto 24 de 2009

Accesibilidad Web

Accesibilidad Web

A pesar de que el surgimiento de la World Wide Web, y su posterior crecimiento exponencial, han supuesto un cambio radical en cuanto a la facilidad de difusión y disponibilidad de la información, las limitaciones y el mal uso por parte de los diseñadores de las tecnologías imperantes de publicación Web están dando lugar a situaciones de acceso dificultoso a la información por parte de aquellos usuarios con discapacidad. No se debe olvidar que los usuarios discapacitados pueden tener motivaciones adicionales para usar Internet, ya que la Web puede servir de medio facilitador para tareas que les resultarían más costosas de llevar a cabo en el mundo real. A estos datos hay que sumar que es predecible que el porcentaje de la población con discapacidad se incremente a lo largo de los próximos años, debido al progresivo aumento de la longevidad en la misma. En contraposición, como demuestran numerosos estudios sobre evaluación de accesibilidad de aplicaciones Web, la mayoría de los sitios presentan numerosas barreras de accesibilidad, por lo que resulta de inmediata necesidad la puesta en marcha de medidas que terminen con esta situación, para lo que se necesita la participación tanto de usuarios, ingenieros, administradores, desarrolladores e investigadores.

Para definir qué es la accesibilidad, previamente se debe revisar los tipos de limitaciones que pueden impedir el acceso a la información en la Web. En este entendido los principales tipos de discapacidad son: (1) Deficiencias visuales. Entre las que se encuentran la ceguera, la visión reducida y los problemas en la visualización del color. (2) Deficiencias auditivas. Estas deficiencias pueden ser consideradas menos limitadoras en el acceso y uso de contenidos digitales, debido a que el canal sonoro es mucho menos utilizado en interfaces Web que el canal visual. Aún así, no se debe olvidar las limitaciones y barreras derivadas de esta discapacidad, como es el caso del lenguaje. (3) Deficiencias motrices. Son las relacionadas con la capacidad de movilidad del usuario. Estos usuarios no suelen ser capaces de interactuar con el sistema a través de dispositivos de entrada tradicionales, por lo que utilizan dispositivos alternativos, como los dispositivos basados en la voz del locutor. (4) Deficiencias cognitivas y de lenguaje. Atribuible a personas que presentan problemas en el uso del lenguaje, la lectura, percepción, memoria, salud mental y otros.

Hablar de accesibilidad Web es hablar de un acceso universal a la Web, independientemente del tipo de hardware, software, infraestructura de red, idioma, cultura, localización geográfica y capacidades de los usuarios. La idea principal radica en hacer la Web más accesible para todos los usuarios independientemente de las circunstancias y los dispositivos involucrados a la hora de acceder a la información. Partiendo de esta idea, una página accesible lo será tanto para una persona con discapacidad, como para cualquier otra persona que se encuentre bajo circunstancias externas que dificulten su acceso a la información, como sucede en el caso de ruidos externos, en situaciones donde la atención visual y auditiva no estén disponibles, pantallas con visibilidad reducida, etcétera.

La discapacidad no es el único tipo de limitación que dificulta la accesibilidad de contenidos. Además de las limitaciones propias del individuo, existen otras derivadas del contexto de uso y del dispositivo de acceso empleado, tales como el hardware o el software. Lo más interesante de este hecho es el paralelismo existente entre limitaciones, ya que aún teniendo diferente origen suponen barreras similares en el acceso a la información. Por ejemplo, comparten el mismo problema de visualización aquellos usuarios con visión reducida, como aquellos que, sin padecer discapacidad visual, utilicen pantallas pequeñas o accedan desde entornos llenos de humo. Por lo tanto, se puede deducir que cualquier producto que sea diseñado atendiendo a limitaciones derivadas de discapacidades individuales, posibilitarán y facilitarán así mismo su acceso por usuarios que, sin padecer estas discapacidades, se encuentren en contextos de uso desfavorables y de equivalente limitación, por lo que el número de usuarios beneficiados de este modo de diseño será mayor que el representado por usuarios con discapacidad.

Por todo lo mencionado en párrafos precedentes se puede definir la accesibilidad Web como la posibilidad de que un producto o servicio Web pueda ser accedido y usado por el mayor número posible de personas, indiferentemente de las limitaciones propias del individuo o de las derivadas del contexto de uso. En la definición, “las limitaciones propias del individuo” no solo engloban aquellas representadas por discapacidades, sino también otras como pueden ser el idioma, conocimientos o experiencia. Además, la accesibilidad no sólo implica la necesidad de facilitar acceso, sino también la de facilitar el uso. La distinción entre usabilidad y accesibilidad no solo es difícil, sino en muchos casos innecesaria. Un diseño será accesible cuando sea usable para más personas en más situaciones o contextos de uso, posibilitando a todos los usuarios, de forma eficiente y satisfactoria, la realización y consecución de tareas. La accesibilidad debe ser entendida como “parte de”, y al mismo tiempo “requisito para”, la usabilidad.

El máximo organismo dentro de la jerarquía de Internet que se encarga de promover la accesibilidad es el “Consorcio World Wide Web”,en especial su grupo de trabajo de “Iniciativa para la Accesibilidad Web”. Las pautas de accesibilidad se dividen en tres bloques: (1) Pautas de accesibilidad al contenido en la Web. Están dirigidas a los Web masters e indican cómo hacer que los contenidos del sitio Web sean accesibles. (2) Pautas de accesibilidad para herramientas de autor. Están dirigidas a los desarrolladores del software que usan los Web masters, para que estos programas faciliten la creación de sitios accesibles. (3) Pautas de accesibilidad para agentes de usuario. Están dirigidas a los desarrolladores de agentes de usuario, navegadores y similares, para que estos programas faciliten a todos los usuarios el acceso a los sitios Web.

Las “pautas de accesibilidad al contenido en la Web”, tienen como función principal guiar el diseño de páginas Web hacia un diseño accesible, reduciendo de esta forma barreras a la información. La accesibilidad al contenido consiste en catorce pautas que proporcionan soluciones de diseño y que utilizan como ejemplo situaciones comunes en las que el diseño de una página puede producir problemas de acceso a la información. Las pautas contienen además una serie de puntos de verificación que ayudan a detectar posibles errores. Cada punto de verificación está asignado a uno de los tres niveles de prioridad establecidos por las pautas: (1) Prioridad 1. Son aquellos puntos que un ingeniero Web tiene que cumplir ya que, de otra manera, ciertos grupos de usuarios no podrían acceder a la información del sitio Web. (2) Prioridad 2. Consta de aquellos puntos que un ingeniero Web debería cumplir ya que, si no fuese así, sería muy difícil acceder a la información para ciertos grupos de usuarios. (3) Prioridad 3. Son aquellos puntos que un ingeniero Web debería cumplir ya que, de otra forma, algunos usuarios experimentarían ciertas dificultades para acceder a la información. Con base en estos puntos de verificación se establecen los siguientes niveles de conformidad: (1) Nivel “A”. Todos los puntos de verificación de prioridad 1 se satisfacen. (2) Nivel “Doble A”. Todos los puntos de verificación de prioridad 1 y 2 se satisfacen. (3) Nivel “Triple A”. Todos los puntos de verificación de prioridad 1, 2 y 3 se satisfacen. De modo general se dice que las pautas describen cómo hacer aplicaciones Web accesibles sin sacrificar el diseño. De manera similar, se han desarrollado “pautas de accesibilidad para herramientas de autor”, cuyo objetivo es ayudar a los ingenieros del software a la hora de crear herramientas de autor para producir contenido Web accesible. También se han desarrollado “pautas de accesibilidad para XML”, donde se explica cómo asegurar la accesibilidad de aplicaciones basadas en XML. Y por último, “pautas de accesibilidad para agentes de usuario”, donde se explica cómo hacer accesible los navegadores, reproductores multimedia y otras tecnologías asistenciales.

La Web es un recurso muy importante para diferentes aspectos de la vida: educación, empleo, gobierno, comercio, sanidad, entretenimiento y muchos otros. Resulta demasiado importante que la Web sea accesible para así proporcionar un acceso equitativo e igualdad de oportunidades a las personas con discapacidad. Una página Web accesible puede ayudar a personas con discapacidad a que participen de manera más activa en la sociedad. La Web ofrece a aquellas personas con discapacidad una oportunidad de acceder a la información y de interactuar.

 

Guillermo Choque Aspiazu
www.eldiario.net
Mayo 25 de 2009
Usabilidad Web

Usabilidad Web

Generalmente las personas que se desempeñan como ingenieros de diseño son usuarios que poseen subjetividades inherentes en relación con el producto software que están creando, es decir, saben perfectamente como manejar y como encontrar rápidamente todas las opciones. El problema de esto es que en ocasiones no se tiene en cuenta los niveles de experiencia del usuario medio. Actualmente, a pesar de que mucha gente vive en contacto con el mundo de la informática, en principio no tienen el grado de conocimientos de un profesional de dicho campo. Por eso no se debe presuponer que cualquier usuario sabrá desenvolverse con la misma facilidad que un ingeniero del software la primera vez que utilice una aplicación Web. Para solucionar este problema surgió inicialmente la usabilidad, centrada en conseguir un manejo sencillo e intuitivo de las aplicaciones incorporadas en un producto software. La facilidad de uso es el núcleo de la usabilidad. El éxito de una aplicación descansa sobre dos pilares fundamentales: que sea útil, en el entendido que cumpla las expectativas del público objetivo, y que sea fácil de utilizar, como fundamento sobre el cual se construye la usabilidad.

Se puede decir que el termino usabilidad surgió poco después de la expansión de Internet, a finales de los años 1990. Pero, la idea que se quiere expresar es bastante anterior, cuando la usabilidad se conocía con otros nombres como Diseño Centrado en el Usuario. Una definición aproximada menciona que la usabilidad es la capacidad de un programa informático, o mejor dicho, de su interfaz, para ser utilizado con facilidad. Esto persigue que cualquier usuario, aunque no tenga conocimientos previos, sea capaz de desenvolverse por el programa de forma intuitiva, aprovechando toda su funcionalidad. Una definición más formal menciona que: “La usabilidad se refiere a la capacidad de un software o sistema interactivo de ser comprendido, aprehendido, usado fácilmente y atractivo para un usuario, en condiciones específicas de uso. También es la efectividad, eficiencia y satisfacción con la que un producto permite alcanzar sus objetivos específicos”.

La definición de usabilidad conforme a la norma ISO 9241, parte 11 señala: “la usabilidad es el rango en el cual un producto puede ser usado por unos usuarios específicos para alcanzar ciertas metas especificadas con efectividad, eficiencia y satisfacción en un contexto de uso especificado”. De hecho, la usabilidad no se limita a sistemas computacionales exclusivamente, sino que es un concepto aplicable a cualquier elemento en el cual se va a producir una interacción entre un humano y un dispositivo. En el caso de los sistemas computacionales, la usabilidad abarca desde el proceso de instalación de la aplicación hasta el punto en que el sistema sea utilizado por el usuario, incluyendo también el proceso de mantenimiento. El término usabilidad, aunque de origen latino, en el contexto que se utiliza deriva directamente de la palabra en inglés: usability. Si bien los filólogos hispánicos consultados coinciden en afirmar que el término puede ser creado en la lengua castellana, su acepción no está clara. En castellano significa capacidad de uso, es decir, la característica que distingue a los objetos diseñados para su utilización de los que no. Sin embargo la acepción inglesa es más amplia y se refiere a la facilidad o nivel de uso, es decir, al grado en el que el diseño de un objeto facilita o dificulta su manejo. La usabilidad define el objetivo del sistema creado. Sin ella, cualquier mensaje o contenido no tiene sentido, lo que es tan obvio que no debería ser objeto de discusión siquiera. Si bien el concepto mismo de usabilidad es de reciente aplicación, desde hace mucho tiempo se maneja por criterios como facilidad de uso, amigable con el usuario, etc.

La usabilidad universal es la característica de un sistema que pretende ser utilizado por: (1) tipos específicos de usuarios, (2) tareas para las cuales el sistema se ha hecho, y (3) el contexto en el que se produce la interacción. El “grado de usabilidad” de un sistema es, por su parte, una medida empírica y relativa de la usabilidad del mismo. Empírica porque no se basa en opiniones o sensaciones sino en pruebas de usabilidad, realizadas en laboratorio u observadas mediante trabajo de campo. Relativa porque el resultado no es ni bueno ni malo, sino que depende de las metas planteadas o de una comparación con otros sistemas similares. El concepto de usabilidad se refiere a un producto software o a un aparato de hardware, aunque también puede aplicarse a cualquier sistema hecho con algún objetivo particular. El modelo conceptual de la usabilidad, proveniente del diseño centrado en el usuario, no está completo sin la idea de utilidad. En inglés, utilidad + usabilidad es lo que se conoce como usefulness. Jakob Nielsen, considerado el guru de la usabilidad, definió la misma como el atributo de calidad que mide lo fáciles que son de usar las interfaces Web.

Los principios básicos en los que se basa la usabilidad son los siguientes: (1) Facilidad de aprendizaje. Se refiere a la facilidad con la que nuevos usuarios desarrollan una interacción efectiva con el sistema o producto. Está relacionada con la predicibilidad, sintetización, familiaridad, la generalización de los conocimientos previos y la consistencia. (2) Flexibilidad. Hace mención a la variedad de posibilidades con las que el usuario y el sistema pueden intercambiar información. También abarca la posibilidad de diálogo, la multiplicidad de vías para realizar la tarea, similitud con tareas anteriores y la optimización de comunicación entre el usuario y el sistema. (3) Robustez. Es el nivel de apoyo al usuario que facilita el cumplimiento de sus objetivos. Está relacionada con la capacidad de observación, de recuperación de información y de ajuste de la tarea al usuario.

Para conseguir aplicaciones Web usables, las mismas deben seguir los siguientes principios: (1) Anticipación, la aplicación Web debe anticiparse a las necesidades del usuario. (2) Autonomía, los usuarios deben tener el control sobre la aplicación Web. Los usuarios sienten que controlan una aplicación Web si conocen su situación en un entorno abarcable y no infinito. (3) Los colores han de utilizarse con precaución para no dificultar el acceso a los usuarios con problemas de distinción de colores. (4). Consistencia, las aplicaciones deben ser consistentes con las expectativas de los usuarios, es decir, con su aprendizaje previo. (5) Eficiencia del usuario, las aplicaciones Web se deben centrar en la productividad del usuario. (6) Reversibilidad, una aplicación Web debe permitir deshacer las acciones realizadas. (7) Ley de Fitts, indica que el tiempo para alcanzar un objetivo con el ratón está en función de la distancia y el tamaño del objetivo. A menor distancia y mayor tamaño más facilidad para usar un mecanismo de interacción. (8) Reducción del tiempo de latencia. Hace posible optimizar el tiempo de espera del usuario, permitiendo la realización de otras tareas mientras se completa la previa e informando al usuario del tiempo pendiente para la finalización de la tarea. (9) Aprendizaje, las aplicaciones Web deben requerir un mínimo proceso de aprendizaje y deben ser utilizadas desde el primer momento de manera intuitiva. (10) El uso adecuado de metáforas facilita el aprendizaje de una aplicación Web, pero un uso inadecuado de esta puede dificultar enormemente el aprendizaje. (11) La protección del trabajo de los usuarios es prioritario, se debe asegurar que los usuarios nunca pierden su trabajo como consecuencia de un error. (12) Legibilidad, el color de los textos debe contrastar con el del fondo, y el tamaño de fuente debe ser suficientemente grande. (13) Seguimiento de las acciones del usuario, conociendo y almacenando información sobre el comportamiento previo del usuario se debe permitir la ejecución de operaciones frecuentes de manera más rápida. (14) Interfaz visible. Se debe evitar elementos invisibles de navegación que han de ser inferidos por los usuarios, menús desplegables, indicaciones ocultas, etc.

Algunas conclusiones y casos recogidos en estudios e investigaciones por Sun Microsystems, mencionan lo siguiente: (1) La usabilidad demuestra reducciones en el ciclo de desarrollo de los productos de 33 a 50%. (2) El 63% de los proyectos de desarrollo del software sobrepasan su presupuesto, siendo una de las causas más importantes la relacionada con la usabilidad. (3) El porcentaje de código que se dedica al desarrollo de la interfaz con los usuarios ha ido aumentando a lo largo de los años hasta un promedio del 47 al 60% del conjunto de la aplicación. (4) El 80% de las tareas de mantenimiento se deben a requerimientos de usuarios no previstos, quedando el resto debido a fallos y errores. Por otro lado, la introducción de criterios tendentes a hacer amigable y fácil de usar un producto, no puede negarse desde tiempos inmemoriales, desde la cinta para sujetar una prenda de vestir hasta las asas en viejas ánforas prehistóricas, tuvieron como idea original facilitar el uso de un objeto, por ende éste se hacía más atractivo y por consiguiente cobraba otro valor en el mercado.

 

Guillermo Choque Aspiazu
www.eldiario.net
Febrero 23 de 2009
Ingeniería Web

Ingeniería Web

Internet es una gran red de redes, también llamada supercarretera de la información. Es el resultado de la interconexión de miles de computadoras de todo el mundo. Todas ellas comparten los protocolos de comunicación, es decir que todos hablan el mismo lenguaje para ponerse en contacto unas con otras. Los servicios básicos ofrecidos por Internet son: correo electrónico, noticias en red, acceso a computadoras remotas y sistemas de adquisición de datos, además de la capacidad para transferir información entre computadoras remotas. Antes de la Web, la manera de obtener los datos por la Internet era caótica: había un sinfín de maneras posibles y con ello había que conocer múltiples programas y sistemas operativos. La World Wide Web o WWW o W3 o simplemente Web, introduce un concepto fundamental: la posibilidad de lectura universal, que consiste en que una vez que la información está disponible, se puede acceder a ella desde cualquier computadora, desde cualquier país, por cualquier persona autorizada, utilizando un único y simple programa. La Web consiste en ofrecer una interfaz simple y consistente para acceder a la gran cantidad de recursos en Internet. Es la forma más moderna de ofrecer información en forma de páginas electrónicas.

La Web fue creada alrededor de 1990 por el inglés Tim Berners-Lee y el belga Robert Cailliau mientras trabajaban en el “Centro Europeo de Investigación Nuclear” en Ginebra, Suiza. Desde entonces, Berners-Lee ha jugado un papel activo guiando el desarrollo de estándares Web, tal como los lenguajes de marcado con los que se crean las páginas Web, y en los últimos años ha abogado por su visión de una Web Semántica. La Web tal y como se la conoce, ha permitido un flujo de comunicación global a una escala sin precedentes en la historia humana. Personas separadas en el tiempo y el espacio, pueden usar la Web para intercambiar, o incluso desarrollar mutuamente, sus pensamientos más íntimos, o alternativamente sus actitudes y deseos cotidianos. Experiencias emocionales, ideas políticas, cultura, idiomas musicales, negocio, arte, fotografías, literatura, etc.; muchos elementos pueden ser compartidos y diseminados digitalmente con un esfuerzo mínimo, haciendo llegar casi de forma inmediata a cualquier otro punto del planeta.

Según la definición de Roger Pressman realizada el año 2002, la ingeniería del software es una disciplina o área de la Informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven temas de todo tipo. Esta definición permite incluir dentro de la ingeniería del software a un gran número de áreas muy diversas de la informática, desde el desarrollo de sistemas operativos a la construcción de compiladores o los nuevos desarrollos de sistemas en la Web. La aplicación de la ingeniería del software permite obtener software de modo rentable y de calidad, asegurando que los resultados se adecuan a las necesidades reales del usuario. Esta ventajosa característica de la ingeniería del software ha provocado que, cuando los sistemas evolucionaron al entorno de la hipermedia y de la Web, los grupos de investigación encaminaron sus trabajos a encontrar métodos y técnicas enmarcados dentro de la ingeniería del software que se adapten a las nuevas características de estos entornos. En el mismo contexto, una aplicación Web es un sistema informático que los usuarios utilizan accediendo a un servidor Web a través de Internet o de una intranet. Las aplicaciones Web son populares debido a la practicidad del navegador Web como cliente ligero. La facilidad para actualizar y mantener aplicaciones Web sin distribuir e instalar software en miles de potenciales clientes es otra razón de su popularidad. Aplicaciones como los Webmails, Wikis, Weblogs, tiendas en línea y la Wikipedia son ejemplos bastante conocidos de aplicaciones Web.

Analizando las principales tendencias se puede decir que las diferencias principales que obligan a la inclusión de nuevos modelos y la adaptación de los existentes son: (1) Complejidad de la estructura hipermedia. El complejo sistema navegacional que se establece debido a la existencia de hiperenlaces e hipervínculos causa, en muchas ocasiones, que el usuario pueda llegar a perderse en el hiperespacio si el sistema no se construye basado en alguna técnica que garantice la calidad del mismo. (2) Colaboración interdisciplinaria. La gran cantidad y diversidad de roles que deben tomar parte en el desarrollo de sistemas Web complica su desarrollo en comparación con los sistemas clásicos. En roles como los que desempeñan los analistas, diseñadores gráficos, expertos en marketing, usuarios finales, etc. deben trabajar con técnicas que sean amigables para que cada uno de ellos pueda elaborar adecuadamente su trabajo. (3) Visión externa de la Web. Mientras que en los sistemas clásicos el número de usuarios finales estaba normalmente definido y cerrado o al menos controlado a un grupo de usuarios concreto, en los sistemas Web la visión cambia. El número de usuarios no es sólo ilimitado, si no que, además, es totalmente impredecible en la mayoría de los casos. Los roles de usuarios finales que interactúan con el sistema es abierto y debe adaptarse al desarrollo que pueda satisfacer las necesidades de cualquier usuario anónimo sin llegar a conocer su perfil. (4) Mantenimiento. Al ser más abiertos, los sistemas Web requieren de un mantenimiento tanto adaptativo como correctivo, más crítico que en los sistemas clásicos, con el añadido de que, además, los sistemas Web normalmente deben funcionar 24 horas al día y 7 días a la semana, lo que hace disponer de menos tiempo para las tareas de mantenimiento.

La ingeniería Web no es un clónico perfecto, pero toma prestado muchos de los conceptos y principios básicos de la ingeniería del software orientada a módulos, dando importancia a las mismas actividades técnicas y de gestión. Como elemento central se definen las aplicaciones Web como sistemas y aplicaciones basadas en Web. Al igual que cualquier disciplina, la ingeniería Web aplica un enfoque genérico que se suaviza con estrategias, tácticas y métodos especializados. El proceso de ingeniería Web comienza con una formulación del problema que pasa a resolverse con las aplicaciones Web. Se planifica el proyecto y se analizan los requisitos de la aplicación Web, posteriormente se lleva a cabo el diseño de interfaces, el diseño arquitectónico y el diseño de navegación. El sistema se implementa utilizando lenguajes y herramientas especializadas asociadas con la Web. Posteriormente se ejecutan las pruebas. Debido a que las aplicaciones Web están en constante evolución, deben de establecerse los mecanismos para el control de configuraciones, garantía de calidad y soporte continuado.

En este sentido, la ingeniería Web es multidisciplinaria y aglutina contribuciones de diferentes áreas: arquitectura de la información, ingeniería de hipermedia, ingeniería de requisitos, diseño de interfaz de usuario, usabilidad, diseño gráfico y de presentación, diseño y análisis de sistemas, ingeniería del software, ingeniería de datos, indexado y recuperación de información, testeo, modelado y simulación, despliegue de aplicaciones, operación de sistemas y gestión de proyectos. La ingeniería Web no es un clon o subconjunto de la ingeniería de software aunque ambas incluyen, como parte de su ciclo de vida, el análisis y desarrollo del software, pues a pesar de que la ingeniería Web utiliza principios de la ingeniería del software, incluye nuevos enfoques, metodologías, herramientas, técnicas, guías y patrones para cubrir los requisitos particulares asociados a las aplicaciones Web.

Los principales aspectos de la ingeniería Web incluyen, entre otros, los siguientes temas: (1) Diseño de procesos de negocio para aplicaciones Web. (2) Entornos para el desarrollo de aplicaciones Web integrados. (3) Herramientas de autor para contenido multimedia. (4) Pruebas de rendimiento de aplicaciones basadas en Web. (5) Personalización y adaptación de aplicaciones Web. (6) Modelado de procesos para aplicaciones Web. (7) Herramientas y métodos de prototipazo. (8) Control de calidad y pruebas de sistemas. (9) Ingeniería de requisitos para aplicaciones Web. (10) Aplicaciones para la Web Semántica. (11) Aplicaciones Web móviles y ubicuas. (12) Usabilidad de aplicaciones Web. (13) Accesibilidad para la Web. (14) Métricas para la Web, estimación de costos y medición. (15) Gestión de proyectos Web y gestión de riesgos. (16) Desarrollo y despliegue de servicios Web.

Desde hace años muchos grupos de investigación han encaminado sus trabajos al desarrollo de entornos metodológicos orientados hacia las aplicaciones Web en general. De esta forma metodologías como el Modelo para el Diseño de Hipermedios (HDM), el Método para el Diseño Hipermedia Orientado a Objetos (OOHDM) y otras más actuales como la Ingeniería Web basada en el Lenguaje de Modelado Unificado (UWE) trabajan en el entorno de la Ingeniería Web proponiendo métodos, técnicas y modelos que se adecuen al mismo.

Guillermo Choque Aspiazu
www.eldiario.net
Mayo 5 de 2008
Translate »