Yo, canibal
Notas

10min

Yo, canibal

¿Podemos usar software para administrar software? ¿Qué es una API?

Ya hace varios años que se viene diciendo que el software se está comiendo al mundo. Particularmente, a un mundo cada vez más y más conectado.

La incursión de la tecnología en distintos ámbitos de nuestra vida pública y privada ya tiene larga data. A fines de los años ‘90 empezábamos a tener Internet de banda ancha mediante ADSL, cable y otras cosas más raras como Millicom (que para algunos no significa nada, para otros, que ese ruido que escuchamos recién fue nuestro DNI impactando violentamente contra el piso). Por aquel entonces algunos jugadores importantes como Microsoft ya nos ofrecían un sistema de correo electrónico completamente integrado en un sitio web mediante HotMail, y Yahoo! nos daba un sinfín de juegos on-line para perder madrugadas enteras en partidas de dominó contra completos desconocidos. Así fue como los millenials (así nos dicen) crecimos acostumbrados a volcar en Internet ciertos aspectos de nuestra vida, tales como ocio y comunicación, al punto que se convirtió en lo que nos define. Millenial se volvió una forma de identificar a los que tenemos esta relación con la tecnología y la comunicación, no simplemente un rango de edades.

Esta ‘primera revolución del software conectado’™ tuvo como motor de vapor la masificación de Internet y la computación personal. Desde el punto de vista económico, se volvieron viables a nivel masivo algunas proezas tecnológicas que en la década del ‘70 eran sólo asequibles para gobiernos del primer mundo. Nunca dejemos de tocarnos el bolsillo y maravillarnos entendiendo que en ese aparatito hay más poder de cómputo que en el que usamos para mandar personas a la Luna, y también muchísimo más ancho de banda.

Si hacemos fast-forward al presente nos encontramos con que hoy en día toda gran empresa es de tecnología, una afirmación osada que voy a tener que defender. Para empezar, hay dos formas de entender esta afirmación. Una forma es pensar que la gran mayoría de las empresas grandes son de hecho empresas que se piensan a sí mismas como empresas tecnológicas. Hoy hay 71 empresas de tecnología en en la lista de las Fortune 500. No es un número tan grande si lo comparamos con otros rubros como energía y petróleo, pero este número era la mitad hace sólo 3 años, y ya sabemos lo que pasa cuando nos descuidamos ante lo exponencial y la realidad nos sorprende. Así, hoy las 5 empresas de mayor valor de mercado (por capitalización bursátil) son de software: Apple, Google, Amazon, Microsoft, Facebook.

La otra forma de entender mi envalentonada afirmación anterior es también (creo) interesante: los bancos son empresas de tecnología aplicada a las finanzas, las prepagas son empresas de tecnología aplicada a los seguros de salud. Esto no es excluyente del ámbito privado; la AFIP puede pensarse en la actualidad como un organismo que construye tecnología para fortalecer el sistema tributario (y establecerse como la única entidad que para hacer cualquier trámite te exige que tengas Internet Explorer 5 corriendo exclusivamente sobre Windows ME, accedido a través de dial up).

La cuestión es que, como suele ocurrir últimamente, el presente nos sorprendió; la pregunta es si ahora vamos a poder estimar mejor o si va a volver a atropellarnos. ¿Qué es entonces lo que viene? Si ‘el software se está comiendo al mundo’ es el mantra de la primera revolución del software conectado, ¿cuál es entonces el slogan de la segunda? ¿Qué le quedará al software para comer cuando haya terminado de comerse al mundo? La respuesta es… ¡software! Sí, lo que creo que viene como segunda revolución es la canibalización. El software que ya se comió al mundo, ahora se va a comer al software.

El motor a vapor de esta segunda revolución del software conectado llega de la mano de la masificación de Internet móvil y los dispositivos hiperconectados tales como celulares inteligentes, la domótica, el internet of todo y los smart-lo-que-sea.

Así como la banda ancha y los microchips baratos de los años ‘90 impulsaron el desarrollo del software de escritorio y las primeras .com, hoy estos nuevos ingredientes en el mundo del hardware también están dejando su huella en el software que usamos día a día.

Al conectarse todo con todo, el software ya no necesariamente aporta un valor en sí mismo, sino que se define como un agregador de valor en función de otros softwares. ¿Trabalenguas, humo, disrupción, innovación, futuro, calefón? No necesariamente. Un ejemplo claro de software sobre software puede ser un administrador de contraseñas que tiene como único fin ayudarnos a almacenar de manera segura las credenciales que usamos para acceder a otras piezas de software. Era impensable tener un administrador de contraseñas allá en la época del Windows 95, para empezar porque simplemente no teníamos más que una o dos contraseñas que recordar. Ahora, por otro lado, Instagram, Facebook, Twitter, Pinterest, Gmail, WordPress, Snapchat, Tinder, ICQ (?), y la imposibilidad de retener si la clave tenía que incluir mayúsculas, caracteres especiales, frutas tropicales, o números primos de más de 8 dígitos. El administrador de contraseñas, súbitamente, empieza a parecer una buena idea.

Otro ejemplo paradigmático es el de las tiendas de aplicaciones como la App Store (¿o es el App Store?) de Apple o Google Play para Android: una pieza de software cuyo propósito principal es la compra/venta de piezas de software. Como decíamos, software que vende software; software que administra software. El software caníbal.

Disrupción, integración, futuro, creatividad, innovación, neurofractalidad, paralelepípedo.

Pero ¿qué implicancias tiene este software caníbal, introspectivo e hiperconectado con sí mismo y con terceros, para quienes nos dedicamos a construir software? El mayor cambio está en su interfaz, es decir, la superficie de contacto del software. La pieza clave entre programas de dos patitas redondas y usuarios (u otros programas) de dos patas paralelas, o ese coqueto enchufe esloveno de tres patas cuadradas, una medialuna y la distribución electrónica de un orbital p.

Por suerte, tomamos el ejemplo de la industria eléctrica y todas las APIs son perfectamente intuitivas y compatibles.

Aun a riesgo de insistir con los adaptadores de enchufe, hay interfaces de todo tipo; desde las de línea de comandos como el viejo DOS (o las consolas de Linux <3), las interfaces web o móviles que son quizás, hoy por hoy, las más comunes o hasta interfaces mediante comandos de voz como Siri o Alexa, etc.

Íbamos a hacer un chiste sobre reconocimiento de voz, pero se lo dictamos al teléfono y escribir el rematan para el otro.

¿Qué tiene que ver el software caníbal con las interfaces? Principalmente que omití un pequeño gran detalle: no estamos hablando de cambios en estas interfaces humano-máquina sino en las interfaces máquina-máquina. Estas interfaces son también conocidas como APIs (Application Programming Interfaces), y son la ‘ventanilla’ que un software les ofrece a otras piezas de software para que interactúen con él.

El concepto de APIs no es ninguna novedad, pero su relevancia no tiene precedentes. Hoy en día grandes empresas de software triunfan o fracasan no sólo por la calidad de los productos que ofrecen, sino también por la calidad de las APIs que los sustentan. Se habla por lo tanto de las APIs como producto o incluso de la economía de las APIs. Así como a mis tíos o mis primos les interesa saber si WhatsApp agrega o quita tal o cual botón para sacar fotos desde su pantalla principal, como desarrolladores de software nos es igualmente relevante saber si la API de WhatsApp nos da acceso para integrar con dicha función.

Hagamos un ejercicio mental. Supongamos que quiero lanzar mi nueva app ‘GatoCaja’. Esta app le permite a cualquier persona pedir cajas para que sus gatos puedan jugar con ellas. La app tendrá también una API que les permita a otras apps tales como Facebook, WhatsApp o la-que-sea.com integrar con GatoCaja. Cuanto más amena y completa la API de GatoCaja, más probable es que sea adoptada por la comunidad de desarrolladores. Cuanto más adopción de la API haya por parte de esta comunidad, mayor cantidad de otras aplicaciones tendrán integración con el producto original. Integraciones para pedir GatoCaja desde GoogleMaps, para mandar las fotos de mis GatoCajas directo a Instagram, para que el servicio de motos me avise cuando las GatoCajas que encargué están ya listas para ser entregadas, etc. A mayor cantidad de integraciones, mayor mercado y mayores ingresos tendrá GatoCaja.

Por el contrario, si la API de GatoCaja es nula o difícil de usar, es muy poco probable que la misma sea adoptada por los desarrolladores de otras apps. No tendremos integraciones y nuestra brillante idea pronto pasará al gran cementerio de start-ups fallidas.

Las APIs cobraron hoy tal relevancia que hay líneas completas de software dedicadas al diseño y puesta en producción de APIs. Hay cientos de empresas que se dedican exclusivamente a ofrecer productos y servicios que dan soporte a las APIs de otras empresas. Y, recordemos… canibalización: estas empresas a su vez ofrecen sus propias APIs.

Si bien el progreso de este rubro nos permiten entender algunas de estas dinámicas de canibalización, hay también un aspecto sociológico que acompaña. Nosotros, los usuarios del software, también cambiamos mucho en los últimos 25 años. Como lo anticipó el gran Louis CK, vivimos en una epoca increible y sin embargo nadie es feliz.

Como usuarios estamos cada vez más demandantes. Todos fuimos el que dice ‘Uy, no me digas, ¿tu banco tiene una app? Bienvenidos al siglo XXI, llegaron un toque tarde a la fiesta, ¿no?’. Así de rápido, también, nos adaptamos a que las cosas sean ‘como son’ y extrapolamos eso a ‘como deberían ser’. Porque, OBVIO que si hoy puedo ver películas en HD desde mi celular mientras viajo en el subte, voy a exigir el mismo nivel de calidad al resto de los actores de mi vida, ya sea una empresa de seguros, un banco, un hotel o un maxiquiosco.

King KiosKong: el primer polirrubro 4K de Colegiales.

Y esta tendencia va a seguir en aumento: ya en alguna parte del mundo nació la última persona que va a tener que hacer una fila en un banco (cuando sea grande, claro. Primero porque aún falta para llegar a eso y segundo porque sería raro ver a un bebé haciendo fila en un banco).

Dado que los usuarios estamos cada vez más demandantes, la única forma de estar a la altura es integrando soluciones. Eso hace que las empresas que vamos a empezar a ver ya no necesariamente van a generar disrupción en mercados existentes, sino que vamos a empezar a ver (también) empresas cuyo principal valor agregado sea la orquestación de todo nuestro ecosistema tecnológico con el fin de satisfacer a un público cada vez más ¿infeliz?

Lejos de terminarse, empieza a empezar, y lo que estamos comenzando a ver de manera muy temprana es software que se anticipa a nuestras necesidades. Hoy somos nosotros quienes arrancamos una interacción con el software al realizar un trámite o prender una app. Esto gradualmente va a ser más balanceado y será el software en muchos casos quien tome la iniciativa y arranque interacciones con nosotros, desde ofrecernos información que infiere nos es relevante a ofreciéndonos la música o películas que van a gustarnos.

¿Cómo vamos a seguir eligiendo en un mundo donde las opciones las plantean aplicaciones? ¿Qué queda del que decide cuando el que propone es el algoritmo? No está claro, pero tengo la sensación de que googlearlo puede no ser el mejor camino para encontrar una respuesta.