jueves, 17 de febrero de 2011

¿Qué es Refactoring? - el tema de mi presentación

Hace un par de días publiqué sobre mi mini viaje a Canarias, para un congreso. Y ahora os explico un poco el tema de la presentación. La verdad no tiene mucho que ver con lo que he hecho durante el master, no es nada de procesamiento de imágenes, ni ningún tipo de efecto 3D, sino que es más bien algo de ingeniería del software, si ya es por tocar todos los palos posibles xD.

La presentación se basa en el concepto de refactoring, pero y qué es el refactoring. Por la palabra en si puede parecer algo muy raro, pero en realidad yo diría que es algo que un buen programador hace. Básicamente refactoring es una técnica que se usa para reestructurar y limpiar el código el código, sin cambiar el funcionamiento de la aplicación. Vaya que refactoring es simplemente eliminar funciones repetidas, separar una mega función en otras más chiquititas para repartir la funcionalidad y que sea más fácil depurar en caso de que haya problemas, y todas esas cosillas que se hacen para que un código sea más fácil de entender y extender.


El caso es que esta técnica puede usarse para cualquier tipo de aplicación, y en la presentación me centro en las aplicaciones web. En ese caso, según explica Gustavo Rossi en sus artículos, refactoring se aplica a nivel de implementación (a nivel de código) y a nivel de modelos de diseño.

Pero ¿cuáles son los modelos de diseño de una aplicación web? Pues bien el diseño de una aplicación web se divide en 3 modelos:

  • El modelo de aplicación --> indica como se estructuran los datos.
  • El modelo de navegación --> describe los nodos y caminos de navegación. Es decir, como se conectan las páginas de la aplicación.
  • El modelo de presentación --> o la interfaz, es decir, cómo se presenta el contenido.

Entonces refactoring puede ser aplicado en alguno de estos modelos. Pero en este caso, el funcionamiento permanece inalterado, pero no la forma en el que se ven las cosas. Imaginaos que en el modelo de presentación cambiamos alguno de los elementos que aparece, este cambio se verá reflejado en la interfaz y por lo tanto el usuario percibirá el cambio, cosa que no pasaba en el refactoring a nivel de implementación. Aquí habrá que tener cuidado al hacer los cambios ya que no se debe eliminar ninguna operación disponible, ni dejar una página sin acceso posible.

Y para que me puede servir aplicar refactoring a nivel de modelo, pues para mejorar la usabilidad, e incluso aplicando determinados cambios para mejorar la accesibilidad. En la presentación me centré en la accesibilidad, y que tipos de operaciones se pueden definir para mejorar la accesibilidad de una aplicación web.

Por accesibilidad web se entiende la posibilidad que tiene una aplicación web para que sea visitada y usada por una gran cantidad de usuarios, incluso aquellos con alguna discapacidad. Y con discapacidad no me refiero sólo a gente con algún tipo de discapacidad física, ciegos, sordos, o con algún problema motriz, sino también a gente que use dispositivos especiales para navegar, como un móvil.

Si queréis aprender un poco más sobre como hacer una web accesible podéis echarle un vistazo a las Pautas de accesibilidad definidas por la W3C. Las pautas es para tenerlas en cuenta en el momento de hacer la aplicación web. 


Basándonos en las pautas se definen las operaciones de refactoring para mejorar la accesibilidad de una aplicación y estas se aplican durante el mantenimiento de aplicación.

Básicamente la presentación fue algo parecido a lo que os he contado aquí, sólo que definiendo el catálogo de operaciones para accesibilidad, y haciendo una comparativa entre las pautas y las operaciones de refactoring. Podría poner aquí también el catálogo y eso pero aquí sólo quiero hacer una pequeña introducción :).

Ahora, hablando desde el punto de vista de alguien que tiene algo publicado en la web, después de hacer el trabajo para la asignatura y todo eso, y con el artículo, me dio un poco de cargo de conciencia de tener la web con tantos colorines, que podían no distinguirse ... y por eso cambie el tema, para que al menos el contenido sea fácilmente diferenciable del fondo. Puede que en un futuro vaya aplicando alguna cosa más pero de momento sólo he hechos eso :P.

Espero que os haya sido algo interesante y también os haya enseñado algo nuevo :).

Referencias:
  • Martin , F., Refactoring: improving the design of existing code. Addison-Wesley Long-man Publishing Co., Inc., Boston, MA, USA, 1999.
  • Garrido, A., Rossi, G., Distante, D.: Model Refactoring in Web Applications. In Proceedings of the 9th International Symposium on Web Site Evolution (WSE 2007:Oct. 05-06, 2007; Paris, France). Los Alamitos, CA: IEEE Press, 2007.
  • Olsina, L., Rossi, G., Garrido, A., Distante, D., Canfora, G. “Incremental Quality Improvement in Web Applications Using Web Model Refactoring”. 1st Int. Work-shop on Web Usability and Accessibility. Nancy, France, December 2007., Springer Verlag, LNCS.
  • Rossi, G., Urbieta, M., Ginzburg, J., Distante, D., Garrido, A.: Refactoring to Rich Internet Applications. A Model Driven Approach. In: Proceedings of the Eighth International Conference of Web Engineering, ICWE (2008)
  • Instituto Nacional de Tecnología de la comunicación (INTECO). Web accessibility Overview http://www.inteco.es/Accesibilidad
  • Caldwell, B., Cooper, M., Guarino-Reid, L., Vanderheiden, G., “Web Content Accessibility Guidelines”, World Wide Web Consortium (W3C), Overview http://www.w3.org/WAI/intro/wcag.php, 2008
  • Treviranus, J., McCathieNevile, C. Jacobs, I., Richards, J., “Authoring Tool Accessibility Guidelines”, World Wide Web Consortium (W3C), Overview http://www.w3.org/WAI/intro/atag.php, 2000
  • Allan, J., Ford, K., Richards, J., Spellman, J., “User Agent Accessibility Guidelines”, World Wide Web Consortium (W3C), Overview http://www.w3.org/WAI/intro/uaag.php, 2010

martes, 15 de febrero de 2011

Enredados

Este finde que no teníamos ningún plan concreto y que Carlos está de exámenes decidimos ir al cine y ver la nueva peli de disney Enredados (Tangled).


La película en si está graciosa, y además hacia ya mucho tiempo que disney no cogía un cuento clásico y lo adaptaba. Aunque la historia es un poco diferente, más modernilla por decirlo de alguna manera. A mi nunca me han contado el cuento de Rapunzel cuando era pequeña, pero vaya diría que no es exactamente como lo cuentan en la película.

En este caso los protagonistas son Rapunzel, la muchacha de los cabellos largos, y aquí también mágicos :), y Flynn un ladrón muy atractivo que se topa con la torre de Rapunzel. Hay una mala muy malísima la mujer que rapta a Rapunzel por el poder de su cabello, y unos reyes desconsolados por la pérdida de su pequeña hija.


Lo que más me gustó de la película es Rapunzel que es muy inocente, me recuerda un poco la Encantada, que la protagonista también es muy inocente, y ambas tienen mucha suerte. Y también la mascota de Rapunzel un camaleón muy chiquitito y con mucha arte, Pascal ^^.

La película es muy para niños, esta no es como UP ni nada por el estilo, y eso también me gusta, porque todo el mundo la puede entender como es :).

Si tenéis niños os recomiendo que los llevéis a verla y sino pues que también vayáis xD. Merece la pena y no sólo por la historia, sino que también porque está genial hecha, los tejidos, las sombras, el agua y el césped, el pelo, todo genial!

Así como curiosidad y por si teneis la oportunidad de leerlo, en el Investigación y Ciencia de este mes sale un pequeño artículo sobre como hicieron la ropa, el movimiento y to esas cosillas, que es muy interesante!

Y también os dejo el trailer ^^


Por cierto, me encanta esta imagen de la película con los farolillos y el río :)


lunes, 14 de febrero de 2011

Canarias y mi primer congreso!

Puede que no lo sepais pero el motivo por el que la semana pasada estuve bastante desconectada del mundo fue porque estuve de viaje en Canarias para presentar un artículo en un congreso.

La cosa fue un poco casual, para una de las asignaturas del máster, mi hermano y yo hicimos un trabajo sobre Refactoring y accesibilidad en la web (en otra entrada os hablaré un poco de esto :P). Y bueno parece que gustó y la profesora a la que se lo entregamos nos buscó un par de cosillas para que presentásemos el trabajo :). Y así es como pude ir a Canarias.La verdad sólo estuve 3 días, pero me lo pasé bastante bien.

Llegamos el domingo a la hora de comer a Las Palmas de Gran Canaria, y la verdad es que ya apuntaba maneras. Hacía un calorcito buenísimo, unos 27º - 29º por el día, por la noche bajaba bastante, como para llevar el abrigo, pero por la mañana camiseta de manga corta y pantalones cortos!! La verdad que con el frío que estaba haciendo en la península estaba encantada.

Nos costó un rato encontrar el hotel, y con un rato digo que nos andamos con las maletas, y las mochilas con los portátiles por toda la zona hasta que alguien tuvo a bien darnos las indicaciones bien ... Pero al final lo encontramos, soltamos las cosas y yo me cambié de ropa. Y el resto del día lo dedicamos a hacer turismo.

Vimos el puerto y el centro de la ciudad, que estaba bastante lejos del hotel, la catedral, la casa de colón, diversos parques, y mucho andar, aunque yo diría que no tanto como a mi me hubiera gustado. Si por mi hubiera sido, hubiéramos ido andando desde el hotel al centro y viceversa, creo que eran nada más que unos 6 km ... pero tampoco iba a matar a Nuria (la profesora) que solo se había traído tacones :P.





La verdad volvimos pronto a la zona del hotel, yo estaba muy cansada del viaje, porque me había tenido que levantar a las 06:00h de la mañana :S. Así que cenamos en un bar del paseo marítimo, donde comimos comida típica de allí y para el hotel a mimir!! La cena estuvo genial, me encantó la comida de allí aunque era un poco picante. Probamos las papas arrugas y el gofio escaldado, que era una especie de puré hecho con una torta de trigo que estaba riquísimo!! A duras penas pudimos acabárnoslo todo jejeje.

El lunes fue el día de los nervios, bueno por la mañana menos, pero conforme se acercaba la hora de la presentación más ... Era la primera vez que hacía una exposición de este tipo, en un congreso, con gente en teoría puesta en el tema y encima en inglés ... eso es lo que hacía que me pusiese nerviosa de verdad.

Ese día lo echamos prácticamente en el lugar del congreso, el Museo Elder. Nos registramos por la mañana, y fuimos a algunas presentaciones para ver como iba la cosa, que hacia la gente si llevaba su portátil, si copiaban las presentaciones antes de empezar la sesión, que decían al presentarse y cosas así. La verdad fue útil, pero eso no me quitó los nervios jejeje.


También echamos un ratillo viendo el museo, que era algo parecido al Parque de las Ciencias de aquí de Granada :P.



La presentación la tenía justo a última hora, vaya que era la última del día a las 19:00h, y la espera creo que fue lo peor de todo. Me vino bien porque pude repasármela bastante y así cambiar y añadir algunas cosillas que no estaban bien o me faltaban. Y terminar de estudiármela, porque me daba un no se qué, quedarme bloqueada sin saber que decir ...

Luego fue menos de lo que yo me había pensado, lo malo que uno de los que presentó fue un rollazo increíble, yo creo que no se había preparado nada el hombre, y básicamente llevaba unas transparencias de texto para leerlas, y fue infumable. Tanto tanto que echó a la gente que había en la sala y en mi presentación habrían unas 6 personas más o menos, vaya que eso parecía un examen oral o algo así xD. Lo bueno es que entraron un par de personas para ver mi presentación y eso me alegró :D.


El martes apenas si nos pasamos por el congreso, vaya que fuimos sólo para coger la invitación para el "baile flamenco y copa de bienvenida", luego explicaré por qué las comillas.

Pasamos el día en la playa, nos recorrimos toda la isla para ver la playa famosa, Maspalomas. Una playa que parecía desierto, porque tenía un montón de dunas. La verdad estaba muy chula, tardamos en llegar allí un rato, porque el autobús se paró mil veces ... Echamos allí la mañana, y yo me bañé y todo, y entendí porque había tanta gente tomando el sol y tan poca bañándose con el calor que hacía, y es que el agua estaba congelada!! Escalamos algunas dunas, y cogimos el autobús de vuelta sobre las 13:30h, y llegamos a la zona del hotel muertas de hambre xD.









Después de comer ducha para quitarme la sal y la arena maldita que no quería ir xD, y a ver tiendas. Había un montón de bazares con las cámaras de fotos no tan baratas como yo pensaba ..., porque a mi me hubiera gustado haberme traído una baratica pero más profesional, pero no pudo ser. Aunque si le traje una a mi padre compacta como la mía pero más calidad, que compré en una tienda de fotografía, que los impuestos si que se notaban ahí :P.

No compré nada más, porque la ropa que había no me gustaba nada, la de mujer era especialmente pija, en todas las tiendas, y la de hombre era como de playa ... muy raro xD.

Por la noche fuimos al evento de bienvenida del congreso y bueno ... yo me había imaginado otra cosa, porque el baile flamenco ese que hicieron no estuvo muy allá, vaya que yo pensaba que iban a ser jovencillas las bailaoras, pero de jóvenes no tenían nada ... y de copa de bienvenida un poco pobre, vaya que allí no había comida para 150 personas ni de coña!


Pero bueno nos fuimos a cenar con gente que conocimos en el congreso y ala :). Creo que fue la noche que más tarde nos acostamos porque después de cenar, que tardamos, nos dimos un mega paseo! ^^

El miércoles lo empleamos en volver, nos pasamos la mañana en el aeropuerto y sobre las 18:00 llegué a mi casa para soltar las maletas y demás bultos!