Solamente se requieren un par de clicks para materializar un "me gusta", agregar un tweet a tu lista de favoritos o añadir a alguien en uno de tus círculos de Google+. Este tipo de operaciones se complican de forma exponencial cuando se tienen que plasmar en una aplicación. Existen multitud de lenguajes que podemos utilizar para construir nuestros programas y hacer uso de las diferentes APIs sociales, pero en todos es complejo, y siempre hay que pensar en términos de almacenamiento, rendimiento, permisos, access tokens , etc.
Desde el Media Lab del MIT (Massachusetts Institute of Technology), el profesor e investigador (especialista en computación social) Sep Kamvar, Salman Ahmad y Zahan Malkani han desarrollado un nuevo lenguaje de servidor llamado Dog, y que viene a solucionar los problemas que comentaba un poco más arriba. La idea es poder crear apps sociales utilizando una sintaxis más cercana al lenguaje natural que la sintáxis clásica de los lenguajes de programación de alto nivel (como Java, C++), o los lenguajes de script (como PHP, Python o Ruby).
Sep Kamvar se sentía profundamente frustrado cuando tenía que escribir un programa que representase lo que tenía en la cabeza. En lugar de pensar en interacciones entre perfiles, segmentación, compartir o enviar, tenía que desviarse devanándose los sesos con temas técnicos de más bajo nivel. Así que pensó que sería una gran idea crear un lenguaje que sirviese para abstraer los detalles técnicos. Se puso manos a la obra y enfocó el proyecto al campo de las Redes Sociales.
Dog utiliza lenguaje natural (inglés) para describir los procesos. Por ejemplo "LISTEN TO PEOPLE FROM mit VIA http FOR posts". Esta simple instrucción fácilmente comprensible monitoriza las conversaciones generadas en la Web por parte de un grupo de usuarios agregados (en este caso el grupo es "mit"). En general los comandos son auto descriptivos, como "listen", "ask", "notify" o "compute". Algo curioso es que en Dog, el tipo de dato "People" es un tipo de dato básico (como en otros lenguajes lo son "integer", "char" o "bool"), y se puede utilizar como tal, con sus métodos y propiedades características.
La intención colateral de Kamvar es, entre otras, que sea un lenguaje fácil de aprender por los perfiles profesionales no enfocados al desarrollo, como project managers, directores comerciales o community managers. Esto servirá para que en todo momento ellos puedan echarle un vistazo al código, entender qué está pasando y cómo podrían mejorarlo o controlarlo.
Sin embargo, su creador se enfrenta a duras críticas, como la de Robert Harper, profesor de informática de la Universidad Carnegie Mellon que estudia la teoría de los lenguajes de programación. Según él, no hay motivo para crear un lenguaje específico para medios sociales. Es lógico crear lenguajes que sean más fáciles de adoptar y que se acerquen más a los los lenguajes naturales, pero si utilizas algo así para situaciones estereotipadas se descompondrá muy rápido. No será consistente y provocará que a la larga sea incluso más difícil de mantener. Quizás los esfuerzos deberían centrarse en crear un lenguaje más fácil de comprender pero con un potencial más amplio.
De hecho, ya existía una solución "parecida" por parte de la compañía Involver (adquirida recientemente por Oracle). Uno de sus productos estrella es el Social Markup Language o SML. Una extensión de HTML (se utiliza con una sintaxis de plantilla parecida a Twig) que permite a los desarrolladores front-end integrar funcionalidad social sin esfuerzo y sin preocuparse por los procesos que se llevan a cabo. Es, por tanto, otra capa de abstracción.
En cualquier caso, para los curiosos, la beta privada de Dog estará disponible en las próximas semanas y se prevee que la release oficial se lance en primavera de 2013. Será totalmente gratis.