Mostrando entradas con la etiqueta software. Mostrar todas las entradas
Mostrando entradas con la etiqueta software. Mostrar todas las entradas

jueves, 17 de noviembre de 2011

Verboice: Escucha y responde las voces de tu comunidad...


Verboice es la nueva herramienta tecnológica de InSTEDD que permite utilizar el poder de la voz para propiciar mejoras en materia de salud, seguridad y desarrollo. Se trata de un conjunto de recursos de código abierto y gratuitos que hemos ido desarrollando con el objetivo de simplificar significativamente el despliegue de aplicaciones de voz. Verboice les posibilita a organizaciones y comunidades crear sus propias plataformas de IVR (Interactive Voice Response –respuesta de voz interactiva–) a partir de las habilidades e infraestructuras de las que dispongan.

¿Por qué desarrollar una herramienta de estas características?

Durante estos últimos años hemos venido trabajando en unos cuantos proyectos vinculados con el intercambio de mensajes de texto, y nos ocupamos de desarrollar un servicio de SMS que sirviera de soporte para nuestras herramientas, y que verdaderamente nos facilitara la creación de otras nuevas: nos referimos a Nuntium. Sin embargo, en dicho período también nos dimos cuenta de la gran necesidad que teníamos de dar un paso más allá de los SMS...

Ya habíamos diseñado soluciones low-tech, de muy bajo costo, para resolver algunos de los problemas que se nos habían ido presentando, como en el caso de la Reporting Wheel, pero eventualmente decidimos comenzar a trabajar con la voz. Y al decir "voz" nos estamos refiriendo a configurar TICs capaces de hacer o recibir llamadas telefónicas de los usuarios, y permitirles interactuar escuchando las opciones de un menú, oprimiendo la teclas correspondientes en sus celulares y grabando mensajes de voz.

La voz es prácticamente independiente de la ubicuidad y de los caracteres (no importa si tu teléfono móvil no está preparado para soportar el alfabeto de tu idioma, siempre podrás hablar y escuchar en tu propia lengua a través de él), y por lo tanto constituye la clave para desplegar soluciones tecnológicas mucho más adaptables a los más variados contextos.

En InSTEDD trabajamos de una manera ágil e iterativa, creando prototipos con celeridad y saliendo a testearlos en el campo lo antes posible, junto con aquellos que serán sus beneficiarios. Ponemos el foco y nuestro énfasis en la simplicidad y la escalabilidad a lo largo de este proceso. Por ello procurábamos obtener una herramienta que les confiriera a las aplicaciones de voz la misma flexibilidad, escalabilidad y simplicidad que ya habíamos alcanzado respecto de los SMS.

¿Por qué no utilizamos simplemente aquellas aplicaciones que ya estaban disponibles?

Existe una gran cantidad de herramientas disponibles basadas en aplicaciones de voz. Algunas son gratuitas, algunas son open-source, otras están alojadas en la Nube, pero después de haber pasado un tiempo relevándolas y de haber revisto cuáles eran nuestras posibilidades, no pudimos encontrar en ninguna de ellas la solución integral que estábamos buscando...

He aquí una reseña de algunas de las heramientas que ya existen:

Tropo

Tropo es un excelente servicio web que les permite a los programadores desarrollar y ejecutar aplicaciones de voz. Esta herramienta constituiría una solución fantástica en el contexto de algunos de los escenarios de trabajo que se nos podrían llegar a presentar, a saber:
  • En caso de que debamos aplicarlo en alguno de los 40 países (la mayoría de ellos, países en desarrollo) para los cuales Tropo dispone de números telefónicos habilitados a tal efecto. 
  • Si tuviéramos conectividad vía internet entre la infraestructura de nuestros usuarios y Tropo.
  • Si no precisáramos recurrir a la infraestructura de algún operador telefónico local.
  • Si no necesitáramos que nuestros usuarios sean capaces de crear o modificar sus aplicaciones por sí mismos.
Por el contrario, en otras numerosas circunstancias Tropo no nos serviría, como por ejemplo:
  • Si no hay soporte en la región en la que debemos desplegar la aplicación. La mayoría de los países de América Latina, el sudeste asiático y África carecen de este tipo de soporte.
  • Si tenemos que conectar la infraestructura de nuestro cliente –bases de datos, sistemas preexistentes, etc.– con la aplicación de voz, pero se carece de conexión a internet. Tropo está alojado en la Nube, así que cualquier aplicación que uno pretenda que interactúe con él precisará indefectiblemente acceso a internet.
  • Si necesitamos trabajar en el marco de la infraestructura de una compañía telefónica y conectarnos a sus líneas telefónicas. Tropo provee sus propios números telefónicos, con su facturación respectiva. En la mayoría de los escenarios a gran escala que hemos visto, el proyecto involucra un acuerdo con un operador telefónico que provea la capacidad de efectuar llamadas desde el servidor de VoIP a los usuarios de la red telefónica, y viceversa. Con un poco de suerte, dicho acuerdo incluiría la reducción de costos para esas llamadas. En un contexto de estas características no nos serviría la tecnología de Tropo.
  • Si queremos que nuestros clientes puedan desarrollar sus propias aplicaciones de voz sencillas o mantener las que hemos diseñado para ellos. Tropo requiere que un programador de software diseñe dicha aplicación. Carece de una interfaz gráfica que le permita al usuario resolver la cuestión por sí mismo.
Adicionalmente, pensamos que podíamos desplegar una solución completamente open-source y gratuita. Si bien Tropo ha liberado parte de su plataforma bajo la modalidad de código abierto, la mayoría de sus componentes fundamentales están siendo desarrollados en un repositorio privado desde mediados de 2009, y el repositorio público no ha sido actualizado ni mantenido desde entonces. Nos pasamos dos semanas intentando instalar nuestro propio servidor de Tropo, y a pesar de que los miembros de su servicio técnico fueron sumamente atentos con nosotros, no logramos hacerlo funcionar. Necesitamos algo mucho más simple para nuestros proyectos...

Twilio

Twilio es otro servicio de aplicaciones de voz, muy parecido a Tropo. Todo lo que ya hemos dicho más arriba se aplica también a esta alternativa, con la agravante de que Twilio sólo provee números para EE.UU. y Canadá.

Asterisk y Freeswitch

Asterisk y Freeswitch son dos magníficos proyectos de código abierto que cuentan con grandes comunidades y un muy buen soporte técnico. Las características principales de ambos son similares, y proveen capacidades de PBX (Private Branch Exchange –mini-central privada para extensiones telefónicas–). El rol del PBX solía ser (y aún lo es en la mayoría de los casos) cubierto por una caja gris ubicada en algún punto de la oficina, con todas las líneas telefónicas entrantes de un lado y todas las líneas de las extensiones –o internos– del otro. El PBX provee funcionalidades tales como conectar llamadas entrantes con las extensiones, correos de voz, mensajes de aviso del tipo "Estoy fuera de la oficina", etc.

Prácticamente cualquier aplicación de voz puede ser desarrollada a partir de las plataformas Asterisk y Freeswitch. El problema reside en que ambas requieren conocimientos de programación altamente especializados, y están muy lejos de ser simples de desplegar, configurar, utilizar y mantener. De todos modos, ellas proveen un increíble nivel de soporte a dispositivos muy interesantes para interconectar tus líneas telefónicas (y ésa es la razón por la que son compatibles con Verboice –¡continúa leyendo!–).

Awaaz.De

Awaaz.De es un foro de mensajes de voz –de código abierto– relativamente nuevo. Permite que la gente llame a un número telefónico, deje mensajes de voz y escuche los que han sido enviados por otros. El equipo de Awaaz.De provee un servicio alojado en la India, razón por la que tú no necesitarás tener tus propias líneas telefónicas ni infraestructura si estás trabajando en dicho país.

Awaaz.De es el típico ejemplo del tipo de desarrollo que nosotros intentaríamos simplificar al máximo... El sistema ha sido diseñado sobre una plataforma de herramientas de IBM (Spoken Web y WebSphere Voice Server), y requiere no sólo acceso a software propietario comercial sino también un experimentado equipo profesional capaz de desarrollar la aplicación que correrá sobre dicha plataforma.

Freedom Fone

Freedom Fone provee una manera sencilla de construir menúes interactivos de voz y encuestas. Constituye otro gran ejemplo del tipo de aplicaciones articuladas con Verboice que uno podría desplegar muy fácilmente.

Freedom Fone fue construido sobre la base de Freeswitch, el PBX de código abierto mencionado más arriba. La creación de aplicaciones que interactúen con Freeswitch o Asterisk requiere la experiencia de un desarrollador de software habilidoso, con conocimientos acerca de cómo instalar y configurar el sistema, sumado al conocimiento acerca de cómo desarrollar otras aplicaciones por encima de aquéllas.

Freedom Fone es fantástico para desarrollos a pequeña escala, porque no necesitas una conexión a internet y puedes ejecutar la aplicación en tu propio servidor. Pero, por contrapartida, necesitarás tu propio servidor, además de algún dispositivo de hardware al que puedas colocarle las tarjetas SIM que serán utilizadas para realizar las llamadas telefónicas. No hay manera de conectarlo con líneas de Voice over IP, o a una infraestructura como la de las centrales que usan las grandes empresas.

¿Entonces, en qué consiste nuestro desarrollo..?

La solución tecnológica que hemos diseñado consta de varias capas. Cuando tú usas una de las capas más externas, no ves ni debes preocuparte por lo que hay debajo. Si esa capa no es lo suficientemente flexible como para satisfacer tus necesidades, simplemente la "pelas" y recurres a la que yace por debajo.

Comenzando por la capa más externa y yendo hacia adentro, tenemos seis capas:

1. Una interfaz gráfica online para crear aplicaciones de voz simples
Esta herramienta estará alojada online, y tú podrás crear aplicaciones de voz interactivas sencillas, configurando visualmente los pasos en tu cuenta. No son necesarios ni un programador de software ni un servidor en este nivel. Por ahora, sin embargo, lo que sí precisarás es un proveedor de línea telefónica del tipo VoIP (Voice over IP: Voz sobre Protocolo de Internet). Nosotros confeccionaremos una lista de proveedores recomendados en varios países, y con mucho gusto te ayudaremos a encontrar uno en el tuyo.


Si el VoIP no te funciona, siempre tendrás la alternativa de descargar Verboice en tu propio servidor y conectarle tu línea telefónica. En este caso aún podrás prescindir un desarrollador de software, en tanto continuarás creando tu aplicación visualmente, pero tal vez precises a alguien que pueda instalar y configurar el servidor.

Esta herramienta soportará las interacciones de voz más comunes, confiriéndoles una gran flexibilidad, sin dejar de ser fácil de usar. A continuación podrás ver algunos de los pasos que podrás incluir en tu aplicación:



2. Un servidor web para que puedas almacenar y ejecutar tus propios scripts
Si precisas más flexibilidad para crear tu aplicación que la que suministra la interfaz gráfica de usuario, soportamos dos estándares de voz basada en XML: Twilio Markups Language (TwiML) y VoiceXML.

Estos lenguajes XML le permiten a tu programador escribir fácilmente el script de una aplicación de voz completa. No necesitas tu propio servidor, aún puedes subir tu script a los nuestros y hacerlo correr desde allí, pero sí deberás proveernos tu línea telefónica de VoIP.

De todas formas, como en el caso anterior, siempre tendrás la alternativa de poder desacargarlo y desplegarlo en tu propio servidor, conectándole tus líneas telefónicas.

3. Un servicio web que te permite programar tus propias aplicaciones customizadas
Si el script no te resulta suficiente y dispones de un programador de software bien predispuesto, puedes aprovechar nuestro servicio web de programación para potenciar tu aplicación de voz. Lo bueno es que tu desarrollador puede trabajar en el lenguaje que él prefiera: .net, Java, Ruby, PHP, Python, etc. Cualquiera de ellos puede interactuar con nuestro servicio web. De esta manera podrás hacer que tu aplicación de voz pueda articularse con cualquier base de datos o sistema preexistente.

Éste es el nivel en el que podrías recurrir a Tropo y Twilio.

Una vez más, si dispones de tu propio servidor, podrás alojar allí tu aplicación sumada a Verboice, pudiendo prescindir de una conexión a internet.

4. Una librería que interactúe directa y sincronizadamente con Verboice
Si aún necesitas un control más refinado y no quieres depender de que tu aplicación se comunique con Verboice vía internet, puedes hacer que interactúe directamente con Verboice por código.

5. Un motor de aplicaciones de voz de código abierto y gratuito
Todo lo detallado arriba es open-source, al igual que los componentes centrales que permiten la funcionalidad de voz. En caso de que tú estés desarrollando alguna aplicación de complejidad extrema, o que presente requerimientos específicos que Verboice no pueda satisfacer, siempre tendrás la posibilidad de  modificar el código fuente y adaptarlo a tus necesidades: https://bitbucket.org/instedd/verboice/wiki/Home. ¡Tu aporte para mejorar el código será bienvenido!

6. La posibilidad de conectarse a cualquier tipo de infraestructura telefónica para recibir y realizar llamadas
Si aún continúas leyendo, en este punto la cosa se torna un poco más complicada... Si ninguna de las alternativas anteriores te han permitido solucionar el problema de que tus usuarios se comuniquen con tu aplicación, tal vez en este apartado encuentres la respuesta. Verboice ha sido creado como una aplicación "PBX-agnóstica", lo cual significa que puede ejecutarse en sea cual fuere la plataforma encargada de recibir y hacer llamadas telefónicas que estés utilizando. Hemos desarrollado soporte para líneas telefónicas SIP (el estándar VoIP), Asterisk y Freeswitch. Estas dos últimas cubren un amplio espectro de opciones de hardware.

Si estás trabajando con un hardware que no soporta Asterisk ni Freeswitch, y el VoIP no te sirve, siempre tendrás la posibilidad de crear tu propio adaptador para la infraestructura que precises usar, o bien puedes contactarnos, y nosotros lo desarrollaremos para ti.

Ejemplos

Hemos diseñado una herramienta llamada Watchfire, que utiliza Verboice. Fue desarrollada originariamente para la Cruz Roja, con financiamiento de Cisco, para ayudarlos a alistar voluntarios ante situaciones de emergencia, pero también puede ser utilizada para cualquier procedimiento de reclutamiento masivo geo-localizado, que requiera confirmación por parte de los destinatarios. Aprende más acerca de Watchfire: http://blog.ilabamericalatina.org/2011/09/la-herramienta-de-instedd-que-le.html.

Junto con PopCouncil hemos ganado una subvención para desarrollar una plataforma de monitoreo clínico de salud materno-infantil, para antes y después del parto. Baby Monitor será desplegado a partir de Verboice.

Próximos pasos

Estamos trabajando con mucho empeño en completar e ir mejorando todos los componentes mencionados arriba, mientras vamos aprendiendo a partir de la experiencia cosechada en la implementación de nuestras aplicaciones de voz en curso. Por favor, ponte en contacto con nosotros si tienes preguntas, ideas o sugerencias respecto del tipo de desarrollos que te gustaría que implementáramos o apoyáramos, o de qué manera Verboice te podría resultar útil: https://groups.google.com/group/instedd-tech/?pli=1.

sábado, 18 de junio de 2011

Open Source Ecology: "Nada es tan poderoso como una idea a la que le ha llegado su hora"

La cita del título fue pergeñada por Víctor Hugo en el siglo XIX, y hoy, en vista del auge del fenómeno DIY (Do It Yourself), cobra una vigencia inusitada. Open Source Ecology es una red de agricultores, ingenieros y voluntarios que durante los últimos tres años han estado desarrollando un kit básico de 40 máquinas necesarias para construir una pequeña civilización autosostenible desde cero, sin renunciar al confort y eficiencia que pueden proveer los artefactos modernos. Lo han denominado Global Village Construction Set (GVCS).

El GVCS vendría a ser algo así como un juego de piezas encastrables Lego pero de tamaño natural, y producidas a partir de material reciclado... Un kit en el que las partes y unidades de fuerza motriz pueden intercambiarse e interactuar unas con otras. Hasta el año pasado se llevaban desarrollados 8 prototipos de las 40 máquinas proyectadas, y se han publicado abiertamente –modalidad wiki– los planos diseñados, esquemas, videos instructivos y presupuestos detallados. Cabe destacar que las máquinas del GVCS son 8 veces más baratas en promedio que aquellas de fabricación industrial convencional.

  • La Compressed Earth Brick Press (Prensa Compactadora de Ladrillos de Tierra) fue el benjamín desarrollado por Open Source Ecology, y constituye el primer modelo industrial de alto rendimiento de código abierto del mundo. Esta máquina le permite a un solo operador cargar la tierra directamente del terreno en el que se encuentra. Compacta 16 ladrillos por minuto y 5000 en un día, suficientes como para construir una vivienda.
  • El MicroTrack Walk-Behind Tractor es un tractor reducido que representa la solución perfecta para la agricultura a pequeña escala, o allí en donde las características del terreno requieren herramientas más flexibles que un vehículo de trabajo de tamaño ordinario. La parte frontal admite accesorios intercambiables según las distintas tareas rurales a desplegar (desmalezar, roturar, etc.).
  • El LifeTRack Multi-Purpose Tractor es la espina dorsal del GVCS. Combina el poder de una excavadora resistente con la funcionalidad de un tractor aprovechable tanto para la agricultura como para la construcción. El inventario del GVCS también incluye taladradoras de columna, hornos de pan, arados, desmalezadoras, etc.

Jakubowski: "Podemos lograr una vida completamente autosustentable sin sacrificar nuestro estándar de vida"

El fundador de Open Source Ecology es Marcin Jakubowski, un granjero polaco-estadounidense, con un Doctorado en Energía de Fusión Nuclear en su haber, que actualmente está desarrollando el Civilization Starter Kit, la saga del GVCS, una serie de planos open source de 50 herramientas y máquinas para agricultores que pueden ser fabricadas desde cero, incluso a partir de materiales reciclados, a muy bajo costo.

En Factor E Farm, en la zona rural de Missouri, él ha venido poniendo en práctica todas estas ideas innovadoras junto con su comunidad de colaboradores. Alguien ha dicho acerca de su trabajo: “No está reinventando la rueda, simplemente la está transformando en una herramienta de código abierto...”.

Marcin narra que a los veintipico obtuvo su Doctorado en Energía de Fusión, pero descubrió que en realidad era un inútil total... Casi no tenía ninguna habilidad práctica. Compró una tierra en Missouri y comenzó a levantar una granja. Aprendió Economía Agrícola. Se compró un tractor. Luego éste se rompió... Pagó para que se lo repararan, y luego se descompuso otra vez... Muy pronto él también estaba en la ruina, y finalmente quebró...

Se dio cuenta de que las herramientas verdaderamente apropiadas, de bajo costo, que necesitaba para desarrollar una granja y un establecimiento autosostenibles simplemente no existían... Precisaba herramientas robustas, modulares, altamente eficientes, económicas, hechas de materiales locales fácilmente obtenibles, e incluso reciclados, que durasen toda la vida, y no las diseñadas para caer rápidamente en la obsolescencia (es decir, todas las herramientas que conocemos...).

Ahí fue cuando tomó conciencia de que tendría que crearlas él mismo. Y eso fue precisamente lo que hizo... Y las testeó, y llegó a la conclusión de que la productividad industrial puede lograrse a pequeña escala. Así que publicó los diseños 3D, los planos, videos tutoriales, esquemas y presupuestos en una plataforma wiki.

En palabras de Jakubowski,"Luego comenzaron a aparecer los colaboradores de todo el mundo, con prototipos de máquinas nuevas... Hasta ahora tenemos 8 prototipos de un total de 50 máquinas, y ahora el proyecto está empezando a crecer por sí mismo... He plantado cien árboles en un solo día. He moldeado 5000 ladrillos en un día, a partir de la tierra que había debajo de mis pies. Y construí un tractor en seis días...".

A continuación te presentamos su brillante disertación en TED en marzo de este año, subtitulada en español:

sábado, 28 de mayo de 2011

Random Hacks of Kindness (RHoK): el hacking mancomunado puesto al servicio de causas nobles

"Hacker", "hacking" y sus derivados son términos controversiales que ameritan una pronta desambiguación. Podríamos aventurar una definición poco ortodoxa, diciendo que los hackers son expertos en informática –que no necesariamente recibieron instrucción formal– que comparten con sus pares sus conocimientos tecnológicos con entusiasmo cuasi juvenil. Sus habilidades les permiten, entre otras hazañas, infiltrarse en sofisticados sistemas de seguridad de entidades gubernamentales o de instituciones de peso, lo que a los más inescrupulosos les ha valido la calificación de "piratas informáticos", bastardeándose así a todo este noble gremio, acaso injustamente...

Como sea, lo cierto es que hace años que vienen asomando al mundo nuevas camadas de hackers –en el mejor sentido de la palabra– alineados con la defensa del software libre, de código abierto y gratuito, que disfrutan de aliarse en la búsqueda proactiva de soluciones tecnológicas que contribuyan a la construcción de un planeta mejor. Random Hacks of Kindness (RHoK) es el máximo exponente de este tipo de alianzas cooperativas.

RHoK nació como una iniciativa por parte de Microsoft, Google, Yahoo!, la NASA y el Banco Mundial, con el objeto de congregar a expertos en gestión de ayuda ante desastres naturales y suministro de respuestas en el marco de crisis diversas, junto con desarrolladores de software y diseñadores, a efectos de encontrar soluciones de alto impacto en esas áreas, que cada vez requieren una mayor especialización que garantice la optimización en la gestión de ayuda humanitaria.

Random Hacks of Kindness es una comunidad de desarrolladores, geeks eclécticos y amantes de la tecnología que trabajan conjuntamente para desarrollar soluciones de software que respondan a los desafíos que enfrenta la humanidad hoy en día en orden a mitigar los efectos devastadores de los desastres naturales y demás situaciones de emergencia.

Un hackathon RHok es una competencia de ritmo acelerado en la que desarrolladores de software tienen un breve tiempo preestablecido para afrontar los desafíos que se les presentan. Las problemáticas específicas a resolver se definen previamente, y los equipos de hackers deben desplegar todo su ingenio para encontarles soluciones prácticas en muy poco tiempo. Al final de cada una de estas maratones de hacking, que duran dos días, un panel de expertos revisa cada resultado, y los ganadores pueden irse con premios y la oportunidad de ver sus aplicaciones puestas en marcha en el mundo real.

El primer hackathon (RHoK #0) se llevó a cabo en MountainView, California, en noviembre de 2009, y de allí surgieron aplicaciones que luego fueron utilizadas con gran provecho durante los devastadores terremotos de Haití y Chile.

El segundo (RHoK #1) tuvo lugar en Washington DC los días 4 y6 de junio de 2010, al cual se le sumaron eventos "satélite" simultáneamente en Jakarta, Sidney, Nairobi, São Paulo y Santiago de Chile, y una de las aplicaciones ganadoras del maratón de Washington DC ya está siendo implementada por el Banco Mundial en el Caribe. Se trata de una herramienta que permite a los ingenieros visualizar fácilmente el riesgo de catástrofes en ciertas zonas, para planificar concienzudamente el desarrollo de la infraestructura rural y urbana a partir de esos datos.

La tercera edición (RHoK #2) transcurrió durante los días 4 y 5 de diciembre de 2010, esta vez en 21 ciudades de 5 continentes. El anfitrión en Buenos Aires fue Globant, empresa argentina que se dedica a la creación de productos de software innovadores para audiencias globales. El proyecto elegido en primer lugar en la competencia fue YerBus, plataforma que emplea las redes sociales como medio para promover la solidaridad, además de facilitar la recaudación de donaciones y de dotarlas de un marco de transparencia.

El próximo hackathon (RHoK #3) será los días 3 y 4 de junio de este año en Buenos Aires, nuevamente de la mano de Globant, y los días 4 y 5 de junio en ciudades como Berlín, Atlanta, Kampala, São Paulo, Trento, Toronto, Seattle, Santiago de Chile, Bangalore y muchas otras más.

Algunos de los múltiples problemas a tratar en esta nueva edición serán los siguientes:
  • Alertas sobre riesgo inminente de deslizamientos de tierra.
  • Tecnología aplicada a disminuir los niveles de corrupción en los gobiernos.
  • Herramientas localizadoras de personas.
  • Reportes geo-localizados sobre posibles terremotos.
  • Confirmación de riesgo real de inundaciones.
  • Logística de envío de víveres.
  • Notificaciones de tornados.
  • Aplicación para smartphones de rastreo ante emergencias.
  • Historia clínica en celulares.
  • Sistema de comando para equipos de bomberos.
  • Sistema de alerta temprana y monitoreo de inundaciones para América Latina.
Si deseas inscribirte u obtener más información acerca de este evento, de los problemas que serán tratados y de alguna propuestas preliminares que serán abordadas por los concurrentes, puedes hacerlo aquí: http://www.rhok.org/.