jueves, 5 de julio de 2012


COMPUTACIÓN UBICUA


INTRODUCCIÓN

La informática en los últimos años ha ido evolucionando (Fig. 1) desde sus iniciales aplicaciones orientadas a realizar tareas repetitivas y de almacenamiento de datos sobre las enormes máquinas basadas en electro imanes, hasta la era de los ordenadores personales (PCs) usados en la mayoría de los hogares. A partir de aquí, la tercera era ha empezado, siendo catalogada como Computación Ubicua. La ubicuidad es la propiedad por la cual una entidad existe o se encuentra en todos los sitios al mismo tiempo. La Computación Ubicua o Internet de las Cosas pretende la integración de las nuevas tecnologías en el entorno personal, insertando dispositivos inteligentes en las tareas diarias, haciendo que interactúen de forma natural y desinhibida en todo tipo de situaciones y circunstancias. De esta forma se pretende unir el mundo real con una representación virtual, apoyándose sobre la inteligencia ambiental y logrando el entorno iinteligente.


Fig. 1: Las tres eras de la computación
Esta ubicuidad e integración de los dos mundos se sustenta principalmente sobre Internet, la red de redes, con sus distintos estándares y tecnologías habilitadoras. Internet también ha evolucionado de forma vertiginosa, desde la Web inicial, caracterizada por ser estática y desarrollada principalmente en HTML; pasando por la Web 2.0, donde toma mucha importancia el aspecto social ya que está basada en comunidades de usuarios, blog, wikis, etc. fomentando la colaboración e intercambio ágil de la información sobre nuevas tecnologías como AJAX, CSS, JAVA, P2P, etc.; por último, en la evolución surge el término Web 3.0, usado para describir la evolución del uso y la interacción en la red a través de diferentes caminos,
incluyendo la transformación de la red en una base de datos, el empuje de las tecnologías de inteligencia artificial, la Web Semántica, la Web Geoespacial o la Web 3D. Así, como veremos durante el documento, la mejora en las tecnologías tanto hardware como software, ha permitido disponer de dispositivos cada vez más potentes y reducidos, posibilitando su integración en lugares más estratégicos o simplemente, su uso para nuevas aplicaciones. Esta evolución, permite cubrir nuevos espacios, considerar nuevas aplicaciones, y/o ofrecer nuevas características a los usuarios en pos de la red inteligente global. En nuestro estudio nos centramos en la interacción con el usuario en los sistemas de computación ubicua. Así, este trabajo se organiza de la siguiente forma: En el siguiente capítulo revisaremos el concepto de Computación Ubicua y sus principales características. En el capítulo 3, veremos qué se entiende por diseño centrado en el usuario. En el capítulo 4, presentaremos ejemplos de servicios existentes dentro de la Computación Ubicua. Por último, en el capítulo 5 se presentan las conclusiones y opinión personal.

COMPUTACIÓN UBÍCUA: CONCEPTO
La Computación Ubicua, también denominada Computación Pervasiva, fue descrita por primera vez por Mark Weiser [2] en 1991. La esencia de su visión era la creación de entornos repletos de computación y capacidad de comunicación, integrados de forma inapreciable con las personas. En la fecha en que Weiser describió su idea no existía la tecnología necesaria para llevarla a cabo, por lo que no era posible
desarrollarla, pero después de una década de progreso, estas ideas son productos comercialmente viables, aún cuando fueron en sus orígenes criticadas.
Uno de los objetivos más importantes de la Computación Ubicua es integrar los dispositivos computacionales lo más posible, como se puede ver en la figura 2, para hacer que se mezclen en la vida cotidiana, y permitir a los usuarios que se centren en las tareas que deben hacer, no en las herramientas que deben usar, pudiendo suponer una revolución que cambie el modo de vida. El hecho de enviar la computación a un “segundo plano” tiene dos significados:
• El primero es el significado literal, detallando que la tecnología de la computación se debe integrar en los objetos, cosas, tareas y entornos cotidianos.
• El segundo se refiere a que esta integración se debe realizar de forma que estos elementos no deben interferir en las actividades para las que son usadas, proporcionando un uso más cómodo, sencillo y útil de los mismos.

Fig. 2: Integración de dispositivos inteligentes en el ambiente
Como ya se ha citado, en su momento la Computación Ubicua era una visión inalcanzable, pero hoy en día la evolución de las tecnologías, hacen que ésta sea viable. Siguiendo la ley de Moore, las previsiones se van cumpliendo, y la capacidad de cómputo de los procesadores avanza rápidamente, además de la capacidad de almacenamiento, el ancho de banda para las comunicaciones, etc. En resumen, cada poco tiempo tenemos dispositivos más baratos, más pequeños y más potentes, siendo la previsión para los próximos tiempos que siga ocurriendo lo mismo, excepto para un factor, las baterías. Esto supone una limitación para los dispositivos que tratamos aquí, porque las capacidades de procesamiento y de almacenamiento crecen exponencialmente, y también, aunque no al mismo ritmo crece el consumo de energía pero la capacidad para dotar a estos dispositivos de la energía necesaria crece muy lentamente.
Con las nuevas tecnologías también disponemos de nuevos materiales, dando lugar a novedosos sistemas
como veremos en los siguientes capítulos, pero también existen otros en pleno desarrollo que pueden presentar grandes avances en la Computación Ubicua, como por ejemplo, las pantallas flexibles basadas en
el uso de polímeros emisores de luz; tinta electrónica y papel inteligente, que pretenden conseguir que el bolígrafo y el papel se conviertan en dispositivos verdaderamente móviles; desarrollo de fibras informatizadas que se puedan entremezclar con los tejidos, con lo cual se pueden insertar transistores, sensores y unidades de procesamiento entre la estructura de la fibra; etc.
Además, es obvio que con el paso del tiempo las líneas de comunicación van mejorando, pudiendo disponer
de mayor ancho de banda para la transmisión y recepción de información. Y por último, el campo de los sensores también ha evolucionado en los últimos tiempos, obteniendo dispositivos de menor tamaño y mayor nivel computacional (cámaras y micrófonos de muy reducido tamaño acompañado de reconocimientos de patrones y de técnicas de reconocimiento de voz, detectores de huellas digitales en objetos móviles, sensores de localización o dispositivos RFID, que permiten identificación mediante radiofrecuencia sin necesidad de contacto directo entre el tag y el lector…) Por tanto, los objetos cotidianos en los que se integra la tecnología de computación, tienen una serie de características que permiten y delimitan la creación del entorno ubicuo buscado: Comunicación entre dispositivos, ya que los elementos del sistema disponen no sólo de capacidad de computación, sino también de comunicación, tanto con el usuario como con los demás elementos a su alrededor mediante WiFi, Bluetooth, GPRS/UMTS, UWB, RFID, etc. Disponibilidad de memoria, que puede ser usada para almacenar información y así mejorar la interacción con el resto de dispositivos. Sensibilidad al contexto, siendo capaces de adaptarse a diferentes situaciones, como su situación geográfica, las preferencias de los usuarios, los dispositivos que se encuentran en el entorno, etc., actuando en base a este contexto. Por último, son capaces de reaccionar ante ciertos estímulos o eventos, que pueden percibir en su entorno a través de sensores o mediante interacción con otros dispositivos. De este modo, la Computación Ubicua, incorpora cuatro nuevos conceptos:

Uso eficaz de espacios "perspicaces": Se basa, en la detección del estado de un individuo y de sus necesidades, deducidas de dicho estado, ya sea en la oficina, sala de reuniones, clase, domicilio, coche, etc. El espacio perspicaz surge cuando varios dispositivos inteligentes coinciden en el mismo espacio físico e interactúan colaborativamente para dar soporte a los individuos que se encuentren en él. La domótica, computación ubicua en el domicilio, es la aplicación más popular.

Invisibilidad: Actualmente, se está lejos de la propiedad expuesta por Weiser para los sistemas ubicuos, la completa desaparición de la tecnología de la consciencia del usuario. Una buena aproximación es tener presente, en el diseño de estos sistemas, la idea de mínima distracción del usuario. La invisibilidad va a requerir del cambio drástico en el tipo de interfaces que nos comunican con los computadores. Reconocimiento de voz y de gestos, comprensión del lenguaje natural y del texto manuscrito, en la dirección hombre‐máquina y en el sentido contrario, síntesis de lenguaje hablado y escrito y de representaciones gráficas.

Escalabilidad local. El concepto de localidad de servicios en computación ubicua es fundamental frente a la universalidad de servicios de Internet. Los usuarios disponen de capacidades asociadas al contexto en el que se encuentran, careciendo de sentido, por ejemplo, que las aplicaciones domóticas situadas en el domicilio particular tengan que estar escrutando las necesidades del usuario que se encuentra trabajando en ese momento en la oficina. Al igual que la mayoría de las interacciones en la naturaleza, la proporcionada por estos sistemas, decrece con la distancia al usuario.

Ocultación de los desniveles de acondicionamiento: Dependiendo de la infraestructura y del desarrollo tecnológico disponible, la distribución de los servicios ofrecidos puede ser muy poco uniforme, en esta situación el principio de invisibilidad puede no cumplirse ya que el usuario detectaría desagradables transiciones. Este requisito es hoy día el más alejado respecto de la situación ideal, los sistemas que incorporan computación ubicua están aislados, sin continuidad entre unos y otros.
En la figura 3, se describe una arquitectura genérica de un dispositivo de computación ubicua, que permite interactuar con el usuario a través de su interfaz (tanto de entrada como de salida), obtener el contexto e información relevante del mundo real para dar el soporte adecuado a sus necesidades y modificar el entorno en base a la información capturada por los sensores y las acciones realizadas a través de los actuadores, y mediante su interfaz de red puede coordinarse con otros elementos del sistema. 


Fig. 3: Modelo de dispositivo de computación ubicua

Hemos podido ir viendo cómo el usuario toma un rol principal en el sistema, por lo que tiene sentido adoptar una perspectiva de diseño centrada en el usuario, a la hora de idear e implementar los posibles servicios y aplicaciones. En el siguiente capítulo veremos qué significado tiene esta filosofía y cómo se lleva a cabo.

 DISEÑO CENTRADO EN EL USUARIO
La arquitectura y diseño de los sistemas ubicuos giran entorno a las características de los usuarios. Además,
a la hora de diseñar el sistema, debemos tener presente que ciertas capacidades son necesarias:
Identificar al usuario. En este sentido podemos pensar en dos estrategias posibles, la utilización de señales de identidad (tags) que porta el propio usuario o el uso sensores que le reconocen por alguna característica o conjunto de ellas (biometría).

Reconocer el estado del usuario. El sistema debe adquirir información del estado del usuario con el fin de tomar decisiones acertadas, en este sentido la localización tanto espacial como temporal es considerada como parte del estado del individuo.

Inferir sus necesidades. Una vez conocido el estado del usuario, pueden determinarse cuáles van a ser sus necesidades, a través de sus hábitos de comportamiento, basándose en situaciones similares que le ocurrieron a él o a otros usuarios en la misma circunstancia o similar.

Actuar proactivamente. El sistema tendrá iniciativa, realizará operaciones sobre el mundo físico que cambiarán el estado y las necesidades de los usuarios. Esta capacidad requiere ser diseñada con especial cuidado, no todos los usuarios están dispuestos a que un sistema tome decisiones de forma transparente a ellos. Esta cualidad tendrá que estar parametrizada y será ajustada por el usuario.
De forma general, el diseño centrado en el usuario es una filosofía y proceso de diseño en el que las necesidades, los deseos y las limitaciones del usuario final del sistema toman una atención y relevancia considerable en cada nivel del proceso de diseño. El diseño centrado en el usuario puede ser caracterizado como un problema de resolución en múltiples niveles, que no sólo requiere diseñadores para que analicen y prevean cómo los usuarios se sienten más a gusto en el uso de una interfaz o una acción, sino también para probar la validez de sus hipótesis teniendo en cuenta las conductas del usuario con pruebas en la vida real con usuarios actuales. Tales pruebas son tan necesarias como difíciles para los diseñadores de un sistema, de comprender en forma intuitiva lo que un usuario primerizo experimenta de sus diseños, y cómo es la curva de aprehensión de cada usuario. Para medir el grado de cumplimiento de las necesidades de un usuario concreto, podemos hacer uso del término “usabilidad”. Tomaremos para este trabajo la definición más extendida, que es la ofrecida por la ISO (Internacional Organization for Standardization), y que define usabilidad como el "grado de eficacia, eficiencia y satisfacción con la que usuarios específicos pueden lograr objetivos específicos, en contextos de uso específicos". Según esta definición, podemos decir que la usabilidad está compuesta de dos tipos de atributos:
Atributos cuantificables de forma objetiva, como son por ejemplo la eficacia o número de errores
cometidos por el usuario durante la realización de una tarea, y eficiencia o tiempo empleado por el usuario para la consecución de una tarea.

Atributos cuantificables de forma subjetiva: como es la satisfacción de uso, medible a través de la
interrogación al usuario, y que tiene una estrecha relación con el concepto de Usabilidad Percibida. Las tecnologías en ocasiones son demasiado complicadas para la audiencia objetivo, por lo que el diseño de la interacción con los usuarios pretende minimizar la curva de aprendizaje e incrementar la precisión y eficiencia de una tarea sin disminuir su utilidad. Así, se pretende disminuir la frustración e incrementar la productividad y satisfacción del usuario.
El proceso de diseño centrado en el usuario se compone de varias fases, ideadas para
involucrar al máximo al propio usuario, sus necesidades, características y objetivos que espera del sistema
final. Así, el proceso se estructura en seis pasos principales, los cuales pueden ser iterados diversas veces
en base al feedback dado por el usuario a lo largo del desarrollo. Veamos:



Fig. 4: Proceso de diseño centrado en el usuario [5]

a. Investigación de diseño: En base a ciertas técnicas (observación, entrevistas, cuestionarios, etc.) los
diseñadores deben investigar sobre los usuarios y su entorno, para aprender más sobre ellos y así ser capaces de diseñar para ellos.
b. Análisis de la investigación y generación del concepto: En base a la información obtenida de los
usuarios, las posibilidades tecnológicas y las oportunidades de negocio, los diseñadores crean idean
y esbozos de nuevo software, servicios o sistemas. Este proceso puede involucrar varias fases de
brainstorming, discusiones y refinamiento. Para extraer los requisitos de los usuarios, los
diseñadores pueden hacer uso de perfiles de usuarios existentes; a partir de los requisitos se
pueden crear los escenarios de aplicación, y un resumen de alto nivel de los objetivos del
desarrollo.
c. Diseño alternativo y evaluación: Una vez definido el problema a resolver, los diseñadores son
capaces de desarrollar soluciones alternativas acompañadas de prototipos básicos, que apoyen los
conceptos e ideas propuestos. Estas soluciones son evaluadas y a veces fusionadas, dando lugar a
un diseño que cubra el mayor número de requisitos posibles.
d. Prototipado y test de usabilidad: Los diseñadores de interacción usan una gran variedad de técnicas
de prototipado para probar aspectos de ideas de diseño. Éstas pueden ser divididas en: las que se
centran en probar el rol de un artefacto, las que se centran en el look and feel, y las que prueban la
implementación.
e. Implementación: Los diseñadores del interfaz tienen que estar involucrados en el desarrollo del
producto, para confirmar que el diseño se está implementando correctamente. En ocasiones, se
necesitan realizar cambios durante el proceso de creación, y por tanto los diseñadores deben
actuar sobre el diseño del interfaz.
f. Pruebas del sistema: Una vez que el sistema está terminado, se deben definir y realizar otra ronda
de tests, tanto para controlar la usabilidad como los posibles errores.
En base al proceso definido para la creación y desarrollo del sistema en torno al usuario, somos capaces de
lograr servicios o aplicaciones que cubran las necesidades y requisitos marcados, ofreciendo muy diversas
funcionalidades a los usuarios gracias a los dispositivos inteligentes distribuidos y camuflados en el entorno.
Veamos en el siguiente capítulo qué aplicaciones podemos esperar encontrar, junto con los dispositivos
que las habilitan.
APLICACIONES
La Computación Ubicua permite abarcar muy diversos campos:
• Almacenamiento de información, búsqueda y tratamiento.
• Visualización de información, enriqueciendo el contenido que se presenta.
• Simulación y realidad aumentada, permitiendo ofrecer entornos virtuales o superponer información
extra.
• Construcción y modelado, haciendo uso de modelos en la realidad que estén asociados con
modelos digitales virtuales.
• Gestión, configuración y control de sistemas complejos, como plantas industriales o redes de
vídeos.
• Educación.
• Sistemas de programación basados en el uso de objetos físicos para la codificación de los
algoritmos.
• Trabajo colaborativo.
• Entretenimiento.
• Comunicación remota y seguimiento.
• Expresión artística.
• Intelligent Transport Systems, sistemas que permitan mejorar la eficiencia o seguridad en la
conducción, o simplemente incrementar el confort del conductor y/o pasajeros.
• Medicina y teleasistencia.

CONCLUSIÓN
La Computación Ubícua es un campo de estudio en auge. Su principal objetivo es el de integrar de forma
transparente al usuario diversos dispositivos inteligentes en su entorno diario, para así ofrecer novedosos servicios. Así, los dispositivos irán integrados en objetos cotidianos en el día a día, como la ropa, sensores
en la casa, se presentará información 3D sobre las gafas, etc.
El usuario es uno de los elementos más importantes dentro de estos sistemas, puesto que es él el que finalmente consume el servicio. Gran parte de la información recopilada por los sensores, está relacionada con el usuario; así, se puede obtener la posición, el histórico de acciones realizadas, información de su entorno y contextual, etc. Con el avance de la tecnología, ya existen trabajos que tratan de obtener el estado físico y emocional del usuario, pudiendo mejorar la personalización de las aplicaciones según su estado (por ejemplo, ofreciendo un tipo de música u otro).
Además de detallar las características de los sistemas de computación ubicua, e incidir en aquellas relacionadas con los datos y perfil de usuario, se han descrito cuáles son los pasos en el diseño de interacción centrado en el usuario. Así, los diseñadores idean la arquitectura en base a las necesidades, requisitos y objetivos dados por los usuarios, pudiendo ser el desarrollo re‐adaptado en caso de variaciones en los requisitos, debido a las diversas etapas establecidas en el proceso. 
Después de ver la gran heterogeneidad de servicios y posibilidades que estas arquitecturas permiten, sólo
hace falta tiempo para lograr ver lo que Weiser vaticinó. En mi opinión, la tecnología posibilitará lograr disponer de asistentes personales, y realidad aumentada, que faciliten las tareas diarias (conducción, trabajo, entretenimiento, deporte, etc.), pero en estas tendencias las grandes multinacionales tienen mucho
que decir.
Creo que existe un ejemplo claro de la necesidad de incluir componentes sociales en los nuevos desarrollos,
junto con interacción más natural entre el hombre y la máquina. Este ejemplo se encuentra en las videoconsolas de juegos, y me refiero a la Nintendo Wii. Sin ser quizás Computación Ubicua, ha ganado la batalla a dispositivos mucho más potentes computacionalmente, gracias a su Wii Remote (su mando principal). Utiliza una combinación de acelerómetros incorporados en la detección por señales en infrarrojo y sentido a su posición en el espacio 3D, en referencia a los LEDs de la Barra de Sensores. Este diseño permite a los usuarios controlar el juego principalmente mediante gestos físicos tradicionales.