Tu API merece más respeto: ¡trátala como un producto!

En Esendex se dedican a simplificar las comunicaciones profesionales a través de SMS. De entre todos sus productos, el más popular es su API, que permite a sus clientes integrar la comunicación SMS en sus aplicaciones, permitiendo automatizar este potente canal de comunicación en sus procesos, para notificaciones, recordatorios o alertas, entre otros muchos usos.

_MG_0289Sin embargo, hace unos años descubrieron que tení­an un problema: a pesar de que su API era uno de sus principales productos, no hablaban de ella. La API era un concepto técnico, casi mí­stico, con el que los trabajadores no se sentí­an cómodos. Por ejemplo, no eran capaces de decir nada más que que una API era un estándar entre dos sistemas para comunicarse. Mientras su API no paraba de cosechar éxitos, Esendex no estaba transmitiéndoselo a nadie, con todo lo que ello conlleva.

Andrew Seward, Technical Product Manager de Esendex, ha explicado en APIdays Mediterranea cómo su empresa logró establecer un entendimiento común de la API y cómo toda la organización, desde los desarrolladores al equipo de ventas, descubrió cómo tratar su API como un producto.

Fotografí­as de Mariano Cuesta.

Búsquedas visuales en moda: objetividad y eficiencia

Una imagen vale más que mil palabras, dice el refrán. Cierto es que los seres humanos somos visuales: utilizamos las imágenes desde tiempos inmemoriales como modo de aprendizaje y forma de comunicación. Y aun así­, los principales buscadores utilizan la semántica como principal motor de búsqueda, obligándonos a transformar en palabras pensamientos que generamos en forma visual.

En determinados campos como el de la moda, la búsqueda por palabras ha demostrado ser inefectiva por su alto componente de subjetividad: existen tantas descripciones como percepciones. Es ahí­ donde entran en juego los buscadores visuales como el que han desarrollado en Wide Eyes: un motor de búsqueda, objetivo y eficiente, en el que una imagen vale una imagen. Encontrar y comprar a partir de una imagen es una realidad factible gracias a su tecnologí­a de visión por computación: permite encontrar cualquier tipo de prenda a partir de una foto o captura, y ofrecer artí­culos visualmente similares a los buscados. El reto consiste en aportar soluciones tecnológicas que den paso a una experiencia de compra innovadora, más efectiva y natural, rompiendo las barreras entre el mundo offline y online.

_MG_0201En su charla, Rodolfo Guichón, ha explicado que convertir la investigación de más alto nivel en servicios basados en APIs no consiste solo en “productificar” algoritmos escritos en un paper o pasar modelos desarrollados en simuladores matemáticos a lenguajes aptos para entornos de producción, sino en acompañar activamente el desarrollo, desde la concepción de la idea hasta el mantenimiento de las APIs, cuando estas ya están en producción. Esta metodologí­a es una adaptación de la “Ingenierí­a de Requerimientos” de Pressman con sus siete fases (Inception, Elicitation, Elaboration, Negotiation, Specification, Validation y Management) adaptada a Agile Development y un entorno de investigación colaborativo.

El resultado final es un producto que cumple tanto con los requerimientos funcionales como cualitativos especificados. Las APIs crean una capa de abstracción de la complejidad inherente a los algoritmos de visión por computador e inteligencia artificial de tal manera que usuarios no expertos en este tipo de tecnologí­a puedan integrar nuestras soluciones con una curva de aprendizaje inexistente.

Fotografí­as de Mariano Cuesta.

Trabajan en APIs para acceder a los datos escondidos en archivos de sonido y ví­deo

APIdays Mediterranea está a punto de acabar y Paul Murphy de Clarify ha venido a hablarnos de gestión de archivos multimedia. Cada dí­a más aplicaciones nos permiten grabar sonido y ví­deo, y empezamos a preguntarnos qué hacer con los archivos que generan. Y volver a reproducirlos para saber qué contiene cada uno no es una opción. El caso es que los archivos multimedia contienen muchos datos que los desarrolladores pueden explotar gracias a unas tecnologí­as emergentes de procesamiento de la señal acústica, visual y del lenguaje, a las que pueden acceder mediante APIs.

_MG_0317La riqueza de un archivo multimedia es enorme en cuanto a datos se refiere, y estas tecnologí­as de procesamiento pueden extraer de ellos palabras e interpretar las emociones, identidades, objetos, hechos… a los que hacen referencia. ¿No serí­a genial disponer de toda esa información de forma ordenada?

La mala noticia es que todo el trabajo que sale de los laboratorios de investigación es complicado de explicar y, muchas veces, también difí­cil de entender. La buena noticia es que hay gente que se dedica a divulgarlo y hacerlo más accesible a todos.

Fotografí­a de Mariano Cuesta.

Detectar cambios en el contenido palabra por palabra: una API para procesamiento de lenguaje natural basado en web

_MG_0239Luis Leiva ha presentado una API orientada a la extracción de textos de un sitio web, de la que cabe destacar tres caracterí­sticas interesantes:

– Trabaja a nivel de frase y para sitios web completos, a partir de una URL de partida, gracias a un sofisticado crawler.
Funciona en páginas de contenido dinámico, pues el crawler ejecuta el código JavaScript de las mismas.
Utiliza webhooks para enviar notificaciones push. Las notificaciones se enví­an cuando se ha producido algún cambio en alguno de los textos de las páginas del sitio web.

En su charla en APIdays Mediterranea se ha comentado un caso real de uso de esta API. En concreto, la startup Sciling la ha usado para desarrollar una aplicación web que estima lo que costarí­a traducir un sitio web.

Aunque esta API aún no está abierta al público, se espera que lo esté en un futuro.

Fotografí­a de Mariano Cuesta.

FreeLing y TextServer, procesamiento del lenguaje natural basado en la nube

Después de más de doce años en funcionamiento, FreeLing, una librerí­a de análisis del lenguaje de código abierto, se ha convertido en una herramienta madura y bastante conocida y utilizada no solo por investigadores de procesamiento del lenguaje natural, sino también por unas cuantas compañí­as del sector tecnológico.

Siguiendo la moda de llevar las utilidades básicas a la nube, la Universitat Polití¨cnica de Catalunya lanza TextServer, un repositorio de APIs que ofrece funcionalidades de análisis del lenguaje disponible para varias lenguas. Lluí­s Padró ha estado en APIdays Mediterranea presentando su funcionamiento y sus ventajas. En vez de tener que desarrollar un programa para cada una de las plataformas disponibles, ofrecer una API tiene la ventaja de que ella sola se adapta a cada plataforma y, por tanto, es accesible a más gente.

_MG_0219Además, es más ágil en cuanto a la obtención de licencias se refiere: la solución es ofrecer una versión gratis y otra de pago, y el cliente final es quien elige entre las diferentes licencias.

Por último, una caracterí­stica muy interesante para investigadores, que suelen trabajar unos sobre el trabajo de otros, es que es reutilizable. Mediante una API, pueden compartir fácilmente los mismos resultados de búsqueda para una determinada petición, y no van a tener problemas derivados de que cada usuario tenga una versión distinta del programa, equipo, etc.

Se espera que TextServer incluya en un futuro servicios basados en FreeLing y otras funcionalidades posibles gracias al procesamiento del lenguaje natural.

Fotografí­as de Mariano Cuesta.

Cocinar con APIs: crear valor con imágenes y palabras

Seguimos inmersos en el mundo de las APIs en APIdays Mediterranea, esta vez de la mano de Enrique Otero y Nieves íbalos.

Las APIs nos ayudan a crear valor reduciendo el tiempo de prototipado, pudiendo idear y validar pruebas de concepto rápidamente con nuestros clientes. Así­, se acelera el proceso de aprendizaje y se reduce el time to market. Además nos facilitan iterar desde la idea inicial a la solución o producto final siguiendo metodologí­as inspiradas en lean startup. En áreas como la inteligencia artificial y la computación ubicua está emergiendo un ecosistema de APIs que acerca las posibilidades de estas tecnologí­as a desarrolladores, emprendedores y startups.

Como investigadores y tecnólogos del departamento de Innovación de BEEVA, Enrique y Nieves han desarrollado varios prototipos en las áreas del machine learning y la internet de las cosas. Estas pruebas de concepto les han permitido avanzar rápidamente en aquellas lí­neas o tecnologí­as que son más prometedoras. Por ejemplo, han podido profundizar, entre otras áreas de investigación, en sistemas basados en contexto, sistemas de recomendación, procesamiento de lenguaje natural y en los últimos avances en deep learning para análisis de imágenes.

En BEEVA se dedican a «cocinar» soluciones tecnológicas pensando en el futuro y apostando por tecnologí­as como big data, cloud computing y API strategy. Para ellos, las APIs se han convertido en ingredientes fundamentales en su apuesta constante por innovar.

Fotografí­a de Mariano Cuesta.

¿Qué se necesita para diseñar y ejecutar una API?

Diseñar y ejecutar una API es difí­cil, y va mucho más allá de los aspectos tecnológicos. En esta charla de APIdays Mediterranea, Manfred Bortenschlager ha tratado varios elementos crí­ticos que determinan si una API tiene éxito o no, como por ejemplo: los objetivos de la API, su diseño, la experiencia del desarrollador, los socios, los recursos, su coste o el valor que genera.

También ha mostrado una herramienta interactiva de apoyo al proceso de reflexión sobre el diseño y la ejecución de la API de forma satisfactoria: API Model Canvas.

APIModelCanvasLa charla, dirigida a actuales o futuros proveedores de APIs, ha dado una visión completa de los distintos factores clave de una API y de la estrategia relacionada con ella, así­ como una metodologí­a sencilla de seguir. En su presentación se pueden encontrar ejemplos prácticos de cómo funciona.

Manfred es un entusiasta de las APIs y trabaja para 3scale aportando soluciones para gestionarlas. Su trabajo consiste, entre otras cosas, en concienciar a los mercados sobre el valor de las APIs y enseñarles a implementarlas. Además, escribe y selecciona artí­culos sobre estrategias y tecnologí­as para APIs para API Magazine.

Fotografí­as de Mariano Cuesta.

Un marco de referencia de APIs de grafos que incorpora el panorama de los servicios basados en la nube

captura-5

Actualmente la proliferación de servicios basados en la nube ha revolucionado la manera en que la gente se comunica, conecta entre sí­, comparte sus archivos y, en última instancia, dirige sus negocios. Así­, tanto las grandes como las pequeñas empresas se ven obligadas a proveer su producto principal mediante una API.

_MG_9867El enfoque OPENi presentado por Michael Petychakis en APIdays Mediterranea analiza y clasifica en categorí­as el panorama de los servicios basados en la nube que existen hoy en dí­a, así­ como las APIs que tienen disponibles de forma pública. Mediante una serie de pasos repetitivos, se diseña un mapa de servicios basados en la nube repartidos en varias dimensiones, y se dirige un análisis en profundidad del conjunto de APIs seleccionadas.

Se propone un conjunto de APIs genéricas (junto con los objetos, funcionalidades y relaciones con otros servicios basados en la nube que aquellas llevan asociados), extrapolando la funcionalidad para varias categorí­as en las que entran otros servicios basados en la nube que unen a distintos proveedores de servicios. Para hacer que esos mapeados sean interoperables y extensibles, se propone un modelado de grafo que consiste en mapear las APIs genéricas con el vocabulario de schema.org.
Además, Michael ha presentado la herramienta API Builder, una plataforma que, sirviéndose de una comunidad, facilita a las empresas la adopción de una API grafo que unifica la experiencia de los servicios basados en la nube y los cloudlets personales. Así­, permite a las empresas construir y mantener fácilmente sus propias aplicaciones de software a pesar de los cambios que puedan realizarse en los CBS de las APIs.

En lí­nea con el debate que se presenta en primer lugar, Michael describe un enfoque novedoso que permite enriquecer los estándares actuales de APIs con las reglas de los negocios. El objetivo es aprovechar los principios REST para habilitar la creación de clientes genéricos que puedan operar como máquinas de estado finitas y navegar de forma autónoma por la enorme Web semánticamente enriquecida.

Fotografí­a de Mariano Cuesta.

Matteo Figus nos habla sobre usar los componentes como microservicios en el mundo front-end

Hoy en dí­a escribir código front-end es todo un reto cuando además debes ser resiliente y robusto dentro de una gran corporación. Tras trabajar en una web junto a docenas de ingenieros que viven en tres continentes distintos, Matteo Figus ha aprendido que la complejidad no se manifiesta solo en el propio código. Permitir a la gente desarrollar nuevas caracterí­sticas e implementar el código varias veces al dí­a, sin que dé ningún problema, es muy difí­cil de conseguir: preferimos que los equipos pequeños sean independientes y no interfieran unos con otros, para que sean rápidos y trabajen a gusto; pero a la vez también queremos optimizar la cooperación cuando esta sea necesaria.

En el mundo front-end los componentes son unidades muy pequeñas de código que proveen de funcionalidades a la aplicación, y todas estas unidades están conectadas para ofrecer una página web completa.

Durante su charla, Matteo ha hablado sobre cómo intentan enfocar los componentes en OpenTable. Siguiendo los principios SOA, elevan los componentes a la categorí­a de servicios, para hacer que los ingenieros puedan crearlos y consumirlos mediante contratos e interfaces claros y bien definidos. Esta manera de trabajar les permite poner en práctica la infraestructura necesaria para optimizar el testeo y para llevar a cabo cientos de cambios cada dí­a sin generar un solo conflicto.

Fotografí­as de Mariano Cuesta.

Marcos Placona, de twilio, nos habla sobre APIs de comunicación

¿Cuántas veces has tenido que hacer que dos APIs distintas se comuniquen entre ellas y te has preguntado cuál serí­a la mejor manera de conseguir que se hablen? ¿Por XML? ¿JSON? ¿HTTP?

¿Te resulta familiar esta situación?

Has usado arquitectura orientada a servicios, pero resulta que tus proyectos hablan idiomas diferentes. Así­ que te toca la ardua tarea de hacer de traductor entre ellos.

Sin embargo, la vida es muy corta y ¡solo se vive una vez! Ya puedes haber dado con la tecnologí­a más apropiada, un correcto patrón de diseño y unos algoritmos optimizados al máximo, que si no consigues que tus aplicaciones hablen correctamente, harán su trabajo igual que lo harí­a un plato de espaguetis.

_MG_9711En esta presentación de APIdays Mediterranea Marcos Placona de Twilio nos ha enseñado el secreto que muchas compañí­as llevan años guardándose y que les permite ser capaces de escalar y responder más rápido a las peticiones. Por ejemplo, una de las caracterí­sticas que debes procurar que tenga tu API es autonomí­a: que dependa del menor número posible de servicios externos para funcionar.

También ha explicado los factores a tener en cuenta en el momento de elegir cuál será nuestro sistema de mensajerí­a y en el de cómo desarrollarlo.

Fotografí­as de Mariano Cuesta.