Captura de Pantalla 2021-02-21 a la(s) 20.38.51

Cómo me ahorré USD 65 al año construyendo un App

Quizás USD 65 al año no es tanto, pero ese no es el punto.

Hace un par de meses me cambié de trabajo y como todo cambio, te da una oportunidad para hacer cosas de un modo distinto a como uno las ha venido haciendo antes.

Uno de esos cambios, o adiciones en este caso, es el de lo que yo llamo ‘tocar base’. Sí, un poco agringado el término: tocar base se refiere a mantenerte en contacto con personas de tu red: amigos, familia, ex-colegas o con quien quieras generar y desarrollar un vínculo. Para un montón de gente esto es algo súper cotidiano y muchos no requieren más que el sentido común para mantenerse en el radar de ciertas personas, sin embargo, para otros, no nos es tan fácil, a menos de que lo estructuremos.

Así que me puse manos a la obra y armé una lista de ex colegas con quienes quiero estar al día y la agregué como tarea a Things, la app que uso para mis to dos, y que si operas en el ecosistema Apple, recomiendo con ganas. La lista hizo lo suyo pero claro, con limitaciones: al poco rato me di cuenta de que si quería ser metódico con esto, Things se iba a quedar corto en algunos detalles, como en llevar notas de las conversaciones o definir frecuencias distintas de comunicación para distintas personas, por lo que me puse a buscar apps desarrolladas para esto. Y como las buenas ideas no tienen dueño, rápidamente encontré varias que hacían esta pega (con mas o menos esteroides) como Garden, Contact Journal y Revere, pero oops: para tener las funcionalidades completas, había una suscripción de por medio. Garden es gratis pero muy básica (no soporta diferentes frecuencias de comunicación entre contactos y la información sólo estaba disponible en mi teléfono); Contact Journal por su parte, por sincronización entre múltiples dispositivos pedía una suscripción anual de $35.900 (USD 49), mientras que Revere cobraba $44.400 (USD 65) por tener el feature premium de organizar a las personas por grupos y por tener sincronización entre dispositivos.

Soy el primero en pagar por buen software (¡al menos a esta altura de la vida!), pero los precios de las suscripciones -y el modelo de suscripción en general- me parecen excesivos contrastado con el valor que entregan. Como referencia, pago anualmente por la versión familiar de suite Office 365 unos $71.900 (USD 100). Esta suite la usa toda mi familia y si consideramos sólo el valor de OneDrive, que viene incluido con 1TB por usuario en la suscripción, comparado con Dropbox (que cobra USD 200 anuales en el plan familiar), Office se paga solo.

Volvamos a tocar base. Si bien necesitaba esta funcionalidad, simplemente no estaba dispuesto a sumar un servicio mas a mi presupuesto de apps, así que decidí construir una para mi. Sí, tal cual, pero no me lancé a estudiar Swift ni a descargar Xcode. Simplemente conecté Airtable con IFTTT para lograr lo que andaba buscando.

IMG_6A6F1F54E163-1Por si no lo conocen, Airtable es un servicio cloud que es una fusión entre lo que hace una planilla de cálculo con las capacidades de una base de datos. Para los mas antiguos, piensen en FileMaker o en Access, pero cloud (y con algunos bemoles, ya que a Airtable aún le falta para llegar a lo que se podía hacer en los años de gloria de esas dos aplicaciones). Con Airtable ya tengo un par de bases de datos personales, las que puedo acceder desde sus apps nativas para móviles o en la web. Todo perfectamente sincronizado. IFTTT (IF This, Then That – Si esto, entonces esto) es un servicio que te permite conectar distintos productos online. Por ejemplo, si aparece un registro nuevo en una hoja de cálculo cloud de Google, lo puedes configurar para que detecte este evento y envíe un mail a un destinatario que tu decidas o envíe una notificación a un canal de Slack. Y así, miles de combinaciones para resolver ese tipo de interacciones entre dos o mas productos o servicios.

Construir la aplicación fue sencillo y me permitió estirar los dedos escribiendo una que otra lógica simple a base de IFs y Group By. Básicamente creé una nueva base de datos en Airtable con tablas Personas, Notas, Empresas y Notificaciones. En Personas van los datos de cada contacto, el grupo al que pertenecen mas la frecuencia de comunicación (mensual, trimestral o anual) y un campo calculado en función de la frecuencia, que muestra cuántos días faltan para volver a ponerme en contacto con esa persona. Con un trigger, cuando ese contador está en ‘0’ para alguno de los contactos, se escribe en la tabla Notificaciones un mensaje. IFTTT por su parte, está ‘escuchando’ la tabla Notificaciones y cada vez que aparece un registro nuevo allí, me envía una notificación a la aplicación de IFTTT que tengo en mi teléfono. Voilà. Tengo grupos, frecuencia de comunicación, notas personalizadas, notificaciones en mi teléfono y todo sincronizado para accederlo desde cualquier dispositivo. ¡Incluso corre en Windows!

Más allá del ahorro y de lo entretenido de resolver un problema por uno mismo con una inversión cercana a cero, esto se enmarca dentro de una tendencia en la industria del software que vengo siguiendo hace algún tiempo: el No code y su hermano Low code. Se trata de herramientas que con cero (No code) o poco código (Low code), te permiten resolver necesidades ‘construyendo tu propio software’. Siempre he sido mas hincha de configurar sobre personalizar y estos conceptos llevan al extremo el configurar. Herramientas como Airtable tienen ya resuelto prácticamente todos los atributos que uno espera de aplicaciones modernas (cloud, múltiples usuarios trabajando concurrentemente, mecanismos de integración, disponibilidad en distintas plataformas, etc) y son tan genéricas que te permiten resolver muchos escenarios con unos pocos clicks. El surgimiento de estas herramientas no hace mas que aumentar el alcance del desarrollo de software a un mayor espectro de personas y creo que mientras la tecnología más se hace parte de nuestras vidas, cada vez será mas sencillo resolver cosas por nuestros propios medios. El desafío estará en conocer las herramientas que están disponibles y claro, entender cómo lograr hacer que todo converse.

Con la tecnología disponible, ¿qué va a ser lo primero que desarrolles?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *