Estas son las dos palabras que podrían resumir el contenido del Symposium de Liferay de este año y es que desde la presentación de Bryan Cheung, CEO de Liferay, hasta el cierre a cargo de Jorge Ferrer, Vicepresidente de Ingeniería, gran parte de las ponencias han girado en torno a la experiencia de usuario, su continuidad multi-canal y multi-dispositivo y los aspectos técnicos detrás de todo ello mediante aplicaciones como Audience Targeting o la creación de aplicaciones nativas integradas con el portal, creadas en tiempo récord con Liferay Screens.
Bryan Cheung comenzó poniéndonos en situación de cómo los procesos habituales han ido transformándose para integrarse en sistemas digitales, de la enorme cantidad de información que esto mismo ha generado en consecuencia y de cómo se debe gestionar de forma eficaz la atención del usuario, implementado sistemas que garanticen dicha atención al ofrecer sólo información relevante para éste. Tenemos demasiadas aplicaciones, canales, interfaces y audiencias por lo que se hace necesario tener capacidad de segmentación para captar ésta atención.
Al hilo de esta introducción, Jorge Ferrer continuó desarrollando los conceptos de content targeting y de continuidad de la experiencia de usuario y nos habló de cuáles eran los dos pilares fundamentales para sacar el máximo partido a Liferay:
- Servicios y componentes reutilizables para todo tipo de aplicaciones empresariales y dispositivos (PCs, Tablets/Móviles o Smartwatches) que facilitan la integración. Gracias a la modularidad de Liferay es posible desarrollar extensiones para alimentar estas aplicaciones y cubrir las necesidades de continuidad de experiencia multi-dispositivo.
- El ‘Desarrollo de experiencias en lugar de aplicaciones’. Con esta frase nos indicaba la importancia de poner el foco en el usuario usando como ejemplo un clásico: la petición de soporte/asistencia por parte de un cliente, donde habitualmente se pasa por varios canales (web, teléfono, ubicación física) e interlocutores que solicitan reiteradamente información por no disponer de un sistema con datos centralizados. La experiencia influye directamente en la conversión (en un 97% de los casos según Gartner) por lo que es imprescindible tratar de garantizar que sea satisfactoria.
Es en esta ponencia en la que empezamos a tener las primeras vistas y los primeros datos sobre el plugin Audience Targeting como base para construir esta experiencia de usuario, fluida y continuada, junto al potencial de integración de servicios que ofrece Liferay.
Sobre la integración de servicios en aplicaciones móviles continuaron más adelante Zeno Rocha, Juan Fernández y José Manuel Navarro en las ponencias “Mobile Apps” y “Liferay Screens”, dónde de una manera práctica (y con slides “starwarseros” muy divertidos) vimos el potencial del Mobile SDK y el desarrollo de Screenlets. Todas estas librerías nos permitirán consumir recursos de Liferay directamente en nuestras aplicaciones eliminando complejidad a las llamadas remotas, gestión de errores etc. desarrollando así aplicaciones nativas totalmente integradas. Los Screenlets además de contar con un origen de datos tienen una vista, que podemos personalizar con un theme, aspecto que particularmente me resultó interesante por la parte que me toca en desarrollos de front-end.
Julio Camarero y Eduardo García nos presentaron posteriormente la modularidad basada en OSGi para crear plugins extensibles y sus beneficios al reducir la inversión en mantenimiento y en la gestión del ciclo de releases, ofreciendo además la posibilidad a desarrolladores de ofrecer estos servicios modulares en el marketplace. Todo se iba orquestando magníficamente ya que, como veríamos en su siguiente ponencia y en la del día siguiente, dicha metodología es en la que está basado el desarrollo de Audience Targeting.
Dos ponencias más sobre aspectos técnicos tuvimos seguidamente, “Nuevos componentes de Liferay Faces basados en AlloyUI” a cargo de Juan González (no podía ser de otro modo ;) ) dónde vimos de nuevo su potencial y su capacidad responsive y “Single Page Applications in Alloy 3.0 and Liferay 7.0” a cargo del génio del Javascript Iliyan Peychev, enseñandonos aplicaciones de una sola página al más puro estilo Twitter/Facebook, más rápidas que la vista (como comento Manuel de la Peña), ‘cacheables’, optimizadas para SEO & “Boorkmarkability”, historial de navegación etc.
Llegado este punto ya teníamos todas las piezas para presentar uno de los platos fuertes del Symposium, llegó el momento de (redoble mental) la ponencia de
Audience Targeting a cargo de nuevo de Julio Camarero.
Comenzó hablándonos de cómo ha ido evolucionando la maquetación de contenido y de como la experiencia usando una web a acabado convirtiéndose en algo bidireccional.
“es un diálogo, escucho lo que quiere el usuario y se lo ofrezco”
A medida que nos iba mostrando las capacidades de este plugin me iba quedando más ojiplático con su potencial y es que tiene unas posibilidades tremendas!
En la gestión interna del plugin tenemos un gestor de reglas en el que podemos ir agregando patrones para ir segmentando comportamiento y características de los usuarios, desde la ubicación que tiene definida en el portal hasta las redes sociales que sigue. Dentro de esta gestión existen cuatro bloques principales para definir estas reglas
- Social: para aspectos relacionados con redes sociales como por ejemplo identificar páginas de Facebook a las que esté siguiendo el usuario.
- Behavior: Para definir comportamientos del usuario en el portal y crear reglas en base a éstos
- User attributes: Para segmentar en base a datos que pueda tener el usuario en su perfil del portal
- Session Attributes: Para definir parámetros en base a la sesión en la que se encuentra el usuario como su localización, navegador o dispositivo utilizado.
La gran ventaja es que no solo podemos crear segmentos para los usuarios del portal de los que tenemos mucha más información sino que también podemos segmentar contenido para usuarios no identificados.
Para probar todas las reglas que vamos creando contamos con un simulador que nos permite adoptar un tipo de usuario que cumpla determinadas características y observar así si el contenido que se le muestra es el que procede.
Acompañando a todo esto, el plugin Audience Targeting cuenta con un sistema de estadísticas que nos permite crear campañas, en las que podemos definir prioridad si tenemos más de una funcionando, y monitorizar sus resultados. El reporte inicial es muy básico pero otra gran ventaja es que es posible ampliar estos informes de modo que podamos obtener datos muy precisos tremendamente valiosos para el departamento de marketing.
Además, como vimos al día siguiente, al estar basado en OSGi podemos extender sus funcionalidades. Nos mostró un ejemplo muy ilustrativo en el que, integrándolo contra un API de un proveedor de servicios meteorológicos podíamos mostrar un contenido u otro en función de si el día era soleado o estaba nublado, algo que según nos indicaba Julio estaban haciendo algunas grandes compañías (no haré publi :P) para ofrecer unos productos u otros en sus websites.
Para estas ampliaciones contamos con un SDK en la Developer Network, de la que os hablaré más adelante, y en las próximas semanas añadirán tutoriales para hacer estas cosas paso a paso, incluyendo por ejemplo la personalización de la vista mediante Freemarker (de nuevo frontend yeah!!).
La guinda a todo este mundo del UX o experiencia de usuario la puso el segundo día Juan Hidalgo con su ponencia “Buenas prácticas para proporcionar una gran experiencia de usuario en tu portal” pero lamentablemente este año me la perdí ya que asistí al workshop sobre Temas de apariencia (themes) que daba Marcos Castro, del que salí con algunas ideas para próximos Themes.
Me ha quedado un post tremendo así que ahí va mi “disclaimer” :P
Esto no es todo el symposium de liferay ni muchísimo menos, he tratado de dar un enfoque centrado en uno de los temas que captó previamente e in situ toda mi atención.
Tuvimos muchísimas otras charlas interesantes como la de Jorge Ferrer sobre la
Liferay Developer Network, en la que se ha centralizado toda la documentación y se va a ofrecer la posibilidad de que sea ampliada y traducida por la comunidad o en la que nos contó 4 caracteristicas emocionantes para desarrollo que vendrán con
Liferay 7. También me resultó muy interesante la de Zeno Rocha y Chema Balsas sobre el concepto “Mobile First”, de cómo aplicar el
Progressive Enhancement (de móvil a desktop) en lugar de
Graceful Degradation (de desktop a móvil). Por supuesto no podía faltar una mención a la de nuestro miembro honorífico del
LSUG James Falkner, Community Manager de Liferay, sobre como contribuir a la comunidad con pequeñas acciones como crear una idea de una nueva funcionalidad, participar en los user-groups, blogs y foros o contribuir con aplicaciones, traducciones y documentación.
Y con esto tocó despedirse hasta el año siguiente dónde los miembros del LSUG, como viene siendo tradición al finalizar el primer día, volveremos a contarnos entre cañas nuestra experiencia con todas estas tecnologías que tanto nos apasionan.