PROTOCOLO DE INVESTIGACIÓN (CR-02/2012) Instituto Tecnológico de Morelia Institución Título del proyecto Refactorización de Aplicaciones Web (ReWeb) 1. DESCRIPCIÓN DEL PROYECTO 1.1 Resumen Este proyecto pretende resolver las problemáticas de construcción interna de aplicaciones Web a través de la refactorización (reconstrucción) de código al vuelo (en tiempo real) de las aplicaciones para poderse adaptar a las necesidades tanto de las personas como de los dispositivos. Este proyecto pretende realizar mejoras en 4 áreas sustanciales: accesibilidad de los dispositivos y personas, manejo de microformatos que permitan manejar contenido semántico, mejora en el diseño interno así como la usabilidad de la misma. Los resultados esperados son aplicaciones Web que se pueden adaptar a las características variables de la Web como son: diferentes tipos de personas, dispositivos y contenidos. Con este desarrollo, cualquier persona puede ver cualquier tipo página en cualquier momento con cualquier dispositivo ya que la Web se encuentra estructuralmente bien diseñado. 1.2 Introducción El desarrollo de aplicaciones Web ha llegado para quedarse. Hoy en día la gran mayoría de las empresas desarrollan todas sus aplicaciones para ambientes Web. Desafortunadamente la Web presenta muchas deficiencias en su construcción dado que fue diseñada como un protocolo de visualización de hipertexto. Con la llegada de la Web 2.0 se ha vuelto a retomar la tendencia de desarrollar aplicaciones Web dado que muchas desventajas como la latencia de la información y la interactividad con el usuario pero a pesar de dichas ventajas las aplicaciones Web siguen construyendo internamente con muchas deficiencias que hacen que sea poco accesible tanto para personas como dispositivos diversos. Con los cada vez más bajos costos de acceso a la Web vía redes celulares el uso masivo de aplicaciones Web en dispositivos móviles se está haciendo cada vez más popular. Desgraciadamente pocos dispositivos móviles tienen la capacidad de visualizar aplicaciones tal cual han sido diseñadas, por lo que se necesita ser adaptadas para mejorar su visualización. 1.3 Antecedentes La Web es el servicio más utilizado en la Internet [1]. Desde su creación en 1991 ha estado en continuo cambio y proceso de mejora continua. Muchos autores se han enfocado a tratar de enfocar en cubrir algunos aspectos negativos de lo que es la Web sin tener mucho éxito dado que han tratado de solucionar los problemas desde sus efectos no desde sus causas. Las causas por las cuales muchos de estos trabajos de investigación han fracasado se debe a que no han solucionado el problema estructural que pueden presentar las páginas Web en su construcción. CR-02/2012 1
Alguno de los problemas de las aplicaciones Web se han solucionado gracias a que las redes de computadoras cada vez son más rápidas y ubicuas, lo que permite el manejo de aplicaciones más ricas e interactivas. Cómo se puede observar en la Figura 1, uno de los problemas que presenta la Web es que se encuentra actualmente fragmentada. Ya que para lograr que una aplicación Web sea visualizada desde cualquier dispositivo se necesita tener un sitio Web especialmente diseñado para ello. Figura 1. Problema de la visualización de sitios Web en dispositivos móviles. Aunque muchos de los dispositivos más modernos ya tienen capacidades más avanzadas que les permiten ver los recursos Web como si fueran cualquier PC aun hay muchos dispositivos con capacidades limitadas. El problema que se presenta es al tener pantallas más pequeñas se necesita de una mucha mayor interacción por parte de los usuarios. Otro problema es que las interfaces de entrada en esta clase de dispositivos no son de tan fácil acceso, por lo que un usuario promedio gasta mucho de tiempo tan solo al recorrer una página. Entre dicho problema destaca el problema del scrolling, donde el usuario tiene que recorrer hacia todas direcciones su pantalla con el objetivo de visualizar el recurso Web de forma completa (ver Figura 2). Figura 2. Problema de la visualización de sitios Web en dispositivos Smartphone (problema del scrolling). 1.4 Marco teórico La Web ha resultado una revolución en los medios de comunicación como lo fue la radio y la televisión en su tiempo. Todo tipo de personas utilizan la Web con fines muy variados. Cada persona cuenta con capacidades diferentes para visualizar dichos recursos. Los trabajos previos en lo CR-02/2012 2
referente a accesibilidad, sólo se han enfocado a solucionar el problema de visualización de páginas Web para personas con discapacidad completa pero no para personas con deficiencias no tan marcadas en su visualización. Por otra parte el acceso a sitios Web desde cualquier dispositivo trae como consecuencia diversos problemas de usablidad como: 1. La mayoría de las URIs son demasiados largas y contienen caracteres difíciles de teclear. 2. Los usuarios tienen metas más específicas de búsqueda en la red; por ejemplo, restaurantes cerca o información de la agenda que no pueden realizarse dado que las páginas Web carecen de contenido semántico adicional que permita su mejora. 3. La mayoría no soporta algunas etiquetas y tecnologías Web en particular (applets Java por ejemplo). La hipótesis que se plantea en este trabajo es que si una página Web está estructuralmente bien diseñada y cumple con las normas de accesibilidad, usabilidad y maneja metadatos, dicha página tiene mayor probabilidad de visualizarse correctamente en un dispositivo móvil. Al igual que las personas con alguna discapacidad física pueden ver recursos Web si estos son accesibles, puede verse a los dispositivos de cómputo como dispositivos con capacidades limitadas que si las páginas Web están diseñadas estructuralmente de buena forma podrán visualizar correctamente los recursos disponibles en la Web. La parte de mayor realce de esta investigación es la construcción de un metamodelo que permite indicar cómo es que se desea adaptar la estructura interna de un documento. La gran mayoría de las investigaciones han utilzado metamodelos basados a través del perfil del usuario y del dispositivo pero no han considerado en muchos casos los datos semánticos ni los gustos o preferencias en cuestión de accesibilidad y usabilidad tanto de las personas como de los dispositivos. La W3C recomienda que las páginas Web tengan las siguientes características: XHTML Basic como lenguaje de marcado, UTF-8 como codificación de caracteres, formato de imágenes soportadas: JPG, GIF89a (no transparentes, no animadas), peso máximo de la página de 20 Kb, colores: Web seguros (256), CSS Nivel 1 y HTTP/1.0 o superior (HTTP/1.1). Nuestro proyecto permite mejorar todas estas limitaciones dado que se aplicará refactroización (reestructuración) de códigos. La refactoización se define como la modificación del comportamiento interno de una aplicación sin modificar su comportamiento externo. Para el caso de mejorar sustancialmente la navegabilidad de un sitio Web formalmente ya no es refactorización dado que quizás se tenga que modificar el contenido y estructura externa de la página pero se tratara de que sea mínimo. Las herramientas de accesibilidad actuales sólo permiten verificar si se cumplen o no las recomendaciones sugeridas para los distintos niveles de accesibilidad. Erramientas como la de la W3C y TAW (Test de Accesibilidad Web) nos permiten indicarnos que fallas tienen nuestras páginas con respecto a la accesibilidad. Hasta el momento no hemos encontrado en la literatura de alguna herramienta que convierta en línea un documento en HTML y que corrija sus errores de diseño accesible, usable y de semántica como el prototipo de esta investigación permitiría hacerlo. 1.5 Objetivos General: Desarrollar un prototipo de software que permita la reestructuración de código al vuelo con la finalidad de que las páginas Web estén bien estructuralmente con la finalidad de poderse visualizar en cualquier momento, por cualquier persona, en todo lugar y a través de cualquier medio. CR-02/2012 3
Específicos: Desarrollar un sistema de accesibilidad que permita tanto a personas con capacidades diferentes como a dispositivos con capacidades limitadas visualizar la Web de acuerdo a sus características. Desarrollar un sistema de generación de metadatos semánticos que permita mejorar la calidad del contenido en las búsquedas, mejore la accesibilidad de las páginas Web y ayude transferir información adicional. Desarrollar un sistema que permita reconstruir las aplicaciones Web para que sean fácilmente mantenibles en base a estándares predeterminados. Desarrollar un sistema que permita mejorar la navegación de las páginas de tal forma que sea más productivo el uso de una aplicación Web. 1.6 Metas Desarrollo de un prototipo que refactorice aplicaciones Web en forma automática considerando aspectos de accesibilidad y desempeño. Publicación en revista arbitrada, así como en memoria de un congreso nacional. Formación de recurso humano en la investigación procedente de la realización de tesis, de la participación de alumnos de licenciatura en el proyecto y en el desarrollo de residencias profesionales. 1.7 Impacto o beneficio en la solución a un problema relacionado con el sector productivo o la generación del conocimiento científico o tecnológico. El desarrollo de aplicaciones Web es actualmente el tipo de desarrollo de software más popular. Es por este motivo que es necesario optimizar su desarrollo para mejorar el uso de aplicaciones Web. Hasta el momento ninguna investigación se ha tratado de enfocar en cubrir las deficiencias en su construcción de las aplicaciones Web para lograr una mejor productividad en el uso de aplicaciones Web. Este proyecto es factible dado que se requiere trabajar con el código fuente de las aplicaciones Web y de definir un metamodelo que permita adaptar las aplicaciones Web a como se desean que se visualice. El impacto social es sumamente alto dado que todo mundo usa la Web y en muchas ocasiones mucho del contenido no es visible de forma adecuada. Dentro del Departamento de Sistemas del Instituto Tecnológico de Morelia se cuenta con la línea de investigación en Sistemas de Información. Dentro de esta línea se atacan problemas de la Ingeniería de Software y la reestructuración de códigos es uno de ellos. Este proyecto ayudará a mejorar la línea de investigación y al alumnado en general dado que es una ventana llenada de oportunidades para realizar investigación y desarrollar productos tecnológicos que puedan mejorar el desempeño la calidad de vida de las personas. Algunas de las ventajas que se tendrían al tener sitios Web bien diseñados y accesibles para dispositivos móviles son: 1. Incrementar la cuota del mercado y el alcance de la audiencia. 2. Contenido reutilizable por múltiples formatos o dispositivos. 3. Reduce el mantenimiento del sitio. 4. Permite la reutilización de contenido. 5. Menor carga del servidor. 6. Menor ancho requerido. 1.8 Metodología La metodología de solución es simple. Como resultado de las primeras revisiones a la literatura se desarrollará un software que pretende resolver el problema planteado. De la solución teórica del CR-02/2012 4
problema se derivan algunos artículos de divulgación y técnico-científicos. Una vez desarrollado el software se realizarán pruebas para probar el modelo teórico desarrollado. Para poder realizar las pruebas se escogerán tanto personas, aplicaciones Web y dispositivos diversos para tratar de validar el desarrollo. A su vez, el prototipo generado será puesto en Internet para que muchas personas y organizaciones interesadas puedan realizar pruebas y de esta forma validar aun más el prototipo desarrollado. 1.9 Programa de actividades, calendarización Conforme a las etapas que integran el desarrollo de su proyecto, enliste las actividades a realizar y calendarice indicando periodos. No Actividad Responsable de la actividad 1. Realizar revisión bibliográfica M.C. Juan Carlos sobre el estado del arte Olivares Rojas 2. Modelado del sistema de M.C. Juan Carlos accesibilidad Olivares Rojas 3. Modelado del sistema de Ing. Ignacio Aguilar metadatos semántico Magaña 4. Modelado del sistema de M.C. Juan Carlos reestructuración interna de Olivares Rojas código 5. Modelado del sistema de Ing. Ignacio Aguilar usabilidad Web Magaña 6. Modelado del metamodelo de M.C. Juan Carlos adaptación de aplicaciones Olivares Rojas Web 7. Desarrollo de los Sistemas Ing. Ignacio Aguilar Magaña 8. Pruebas de Integración M.C. Juan Carlos Olivares Rojas 9. Pruebas de Aceptación Ing. Ignacio Aguilar Validación del Prototipo- Magaña Periodo de realización Justificación (fecha inicio y término) 1 septiembre al 31 de octubre Definición y delimitación del de 2012 problema a solucionar 1 al 30 de Noviembre de 2012 Primer objetivo del proyecto 1 al 31 de diciembre de 2012 Segundo objetivo del proyecto 1 al 31 de Enero de 2013 Tercer objetivo del proyecto 1 al 28 de Febrero de 2013 Cuarto objetivo del proyecto 1 al 31 de marzo de 2013 Parte medular del proyecto en cuanto a investigación 1 de Abril al 30 de junio de Desarrollo del prototipo 2013 1 al 31 de julio de 2013 Pruebas internas del prototipo 1 al 31 de agosto de 2013 Pruebas externas del prototipo 1.10 Productos entregables Prototipo de Software encargado de la refactorización de aplicaciones Web Artículos Técnico-Científicos y de Divulgación. Formación de Recursos Humanos (Residencias Profesionales y Tesis) 1.11 Vinculación con el Sector Productivo. Cualquier tipo de usuario que utilice la Web Cualquier empresa que desee ser más competitiva a través de sus sistemas basados en la Web. En cuanto a investigación nuestro principal vínculo será el CENIDET perteneciente al sistema de educación superior tecnológica. 1.12 Referencias [1] Tanenbaum, A. (2002), Redes de Computadoras, Pearson Educación: México. [2] Paulson, L. (2006) TV Comes to the Mobile Phone, revista IEEE Computer, abril de 2006. [3] W3C (2006), Mobile Web Best Practices 1.0, Basic Guidelines, W3C Working Draft 12 April 2006, http://www.w3.org/tr/mobile-bp/ [Última consulta: septiembre de 2009] CR-02/2012 5
[4] W3C (2005), Scope of Mobile Web Best Practices, W3C Working Group Note 20 December 2005, http://www.w3.org/tr/mobile-bp-scope/ [última consulta: septiembre de 2009] [5] Subramanya, et al. (2006), User Interfaces for Mobile Content, revista IEEE Computer, vol. 39, no. 4, pp. 85-87, ISSN: 0018-9162, abril de 2006. [6] Douglas, P (2009) Guidelines for GOOD Web Design, http://staff.serrc.org/keithz/serrcwbst/ ysdclsrmwbst/cmpsrpdfs/guidelines_for_good_web_design.ppt [última consulta: septiembre de 2009]. [7] Pressman (2009), Ingeniería del Software Un Enfoque Practico, 5º Edición, Mc Graw Hill, México, 2002 ISBN: 84-481-3214-9, pp. 640. [13] Flores B., et al. (2996), El Rol de la Cibermetría en el Diagnóstico de Usabilidad de Sitios Web, V Jornadas Iberoamericanas de Ingeniería del Software e Ingeniería del conocimiento V JIIISIC 06, Puebla, Puebla, México, 1 al 3 de Febrero de 2006, ISBN; 970-94770-0-5, pp. 175-181. 2. LUGAR(ES) EN DONDE SE VA A DESARROLLAR EL PROYECTO Instituto Tecnológico de Morelia. Departamento de Sistemas y Computación. Edificio I. Cubículo de Profesores y Tesistas. 3. INFRAESTRUCTURA Se cuenta con dos PC Pentium Dual-Core a 2.7Ghz con 4 GB para uso exclusivo del proyecto. Se cuenta con dispositivos móviles de diversas plataformas como: ios, Android, Symbian y Windows Mobile. 4. RESUMEN PRESUPUESTO UTILIZADO PARA LA OPERACIÓN DEL PROYECTO 4.1 Concentrado del presupuesto utilizado Partida Monto otorgado por el Tecnológico Monto otorgado por otras instituciones 21701 0 0 0 TOTAL 31903 0 0 0 TOTAL 0 0 Profesor-Investigador Responsable Ing. Ignacio Aguilar Magaña CR-02/2012 6