DEV Community

Cover image for Por qué creo software pequeño, local y con una sola función
Matt Senter
Matt Senter

Posted on Originally published at mattsenter.com

Por qué creo software pequeño, local y con una sola función

La IA ha vuelto trivialmente barato generar una aplicación grande. Describe un producto descomunal y en minutos te devuelven miles de líneas de código plausible.

Así que conviene decir con claridad qué es lo que yo publico de verdad: herramientas pequeñas. Comoji, Burly, Premail. Aplicaciones que hacen una cosa, se ejecutan en tu propia máquina y no te piden crear ninguna cuenta.

Eso no es una limitación por la que me esté disculpando. Es toda la estrategia.

La tentación es construirlo todo

Cuando generar código es casi gratis, el tirón natural va hacia más. Más funcionalidades, más ajustes, más superficie, porque nada de eso parece costar nada por adelantado.

Pero el código es la parte barata. Todo lo que viene después de generarlo es donde vive el coste real: darle soporte, explicarlo, mantenerlo seguro, arreglarlo cuando se rompe y decidir qué debe negarse a hacer. Un modelo puede escribir una funcionalidad en un minuto. No puede cargar con esa funcionalidad los tres años siguientes.

Así que la disciplina más útil en un mundo asistido por IA no es escribir código más rápido. Es decidir qué no construir. El alcance pequeño es como mantengo honesta esa decisión.

Una app, un trabajo

Mira lo que he sacado de verdad y el patrón es difícil de no ver.

  • Comoji añade atajos de emoji con dos puntos, al estilo de Slack, a los campos de texto en los que ya escribes. Eso es todo lo que hace.
  • Burly coge un enlace que pulsas y lo abre en el perfil de navegador correcto. Eso es todo lo que hace.
  • Premail filtra el ruido de tu correo antes de que llegue a la bandeja de entrada. Eso es todo lo que hace.

Ninguna intenta convertirse en una plataforma. Cada una resuelve una molestia concreta y luego se aparta. Puedes explicar cualquiera de ellas en una frase, y eso no es casualidad. Si no puedo describir una herramienta en una frase, normalmente aún no he decidido qué es.

Una herramienta que hace una cosa es además una herramienta que puedes terminar. Una herramienta que lo hace todo es una que mantienes para siempre y nunca acabas de acertar.

Local por defecto

Lo segundo que comparten estas aplicaciones es que se ejecutan en tu dispositivo y mantienen ahí tus datos. Comoji hace su autocompletado en local y lo que escribes nunca sale del Mac. Burly enruta tus enlaces en la máquina y ninguna URL se envía a ninguna parte. Premail clasifica tu correo en tu propio ordenador en vez de canalizarlo por los servidores de otro.

Es el mismo instinto detrás de StockCar, sobre el que escribí aparte: sin cuenta, sin vinculaciones, tus posiciones no se guardan en un servidor. Acabo siempre en el mismo sitio porque me sigo haciendo la misma pregunta.

Antes de añadir cualquier cosa que necesite un servidor o un inicio de sesión, me obligo a responder:

  • ¿Esta funcionalidad requiere de verdad recopilar datos, o solo me lo pone cómodo a mí?
  • Si guardamos esto, ¿quién pasa a ser responsable de protegerlo?
  • ¿Qué es lo peor que ocurre si ese almacén se filtra?
  • ¿Le sorprendería al usuario enterarse de que esto sale de su máquina?

La mayoría de las veces la respuesta honesta es que la cuenta existe en beneficio de la empresa, no del usuario. Lo local por defecto elimina toda una categoría de riesgo, porque los datos que nunca recoges son datos que nunca puedes perder.

Lo pequeño es una estrategia de negocio, no un premio de consolación

Es fácil leer «pequeño, local, de un solo propósito» como la opción modesta, aquello con lo que te conformas cuando no puedes construir algo mayor. Yo lo veo al revés.

Una herramienta pequeña es una que una sola persona puede poseer de punta a punta. Eso significa:

  • que puede llegar a publicarse, en lugar de vivir para siempre a medio construir
  • que puede entenderse por completo, así que los fallos no tienen dónde esconderse
  • que puede mantenerse sin un equipo, lo que mantiene cuerda la economía
  • que puede merecer confianza, porque tiene poca superficie con la que traicionarte

Con la IA acelerando las partes que antes exigían un equipo, una sola persona puede diseñar, construir y publicar una app nativa pulida. Pero ese apalancamiento solo se sostiene si la app sigue siendo lo bastante pequeña como para que una persona la siga sosteniendo. El alcance es la variable que decide si el apalancamiento de la IA se acumula o se derrumba.

Qué significa «terminado» en una herramienta así

En una app de un solo propósito, terminado es un estado real, no una diana móvil. Terminado significa que la única cosa que prometía funciona con fiabilidad, se siente rápida y se mantiene fuera de tu camino.

Eso hace que el trabajo más duro sea decir que no. Comoji podría criar un panel de ajustes con cuarenta opciones. Burly podría intentar gestionar tus navegadores en lugar de limitarse a enviarles enlaces. Premail podría convertirse en un cliente de correo entero. Cada una de esas incorporaciones haría la app más grande y la promesa más borrosa.

Firmar y notarizar una app de Mac, hacer que un selector responda al instante, filtrar el correo con la discreción suficiente para que olvides que está funcionando: ahí es donde debería ir el tiempo. La contención no es ausencia de ambición. Para este tipo de software, la contención es la ambición.

El dividendo de la confianza

Construir así tiene un beneficio acumulativo que es fácil pasar por alto. Cuando una app es pequeña, local y sin cuentas, una persona puede adoptarla sin un acto de fe.

No hay registro que abandonar, ni datos que entregar, ni preguntarse qué pasará después con tu información. La descargas, hace su trabajo y no llama a casa. Eso reduce el coste de probarla casi a cero, y significa que la confianza que ganas es real y no extraída.

En un momento en el que la IA facilita inundar el mundo de apps genéricas y hambrientas de datos, lo escaso es el software que la gente se siente realmente cómoda dejando entrar en su día. Pequeño y local es mi forma de incorporar esa comodidad desde el principio.

La regla a la que vuelvo siempre

La generación barata cambia lo rápido que puedes construir. No cambia qué merece la pena construir. Si acaso, cuando todo el mundo puede producir más, la disciplina de producir menos de lo correcto se convierte en el diferenciador.

Así que aplico la misma prueba a cualquier cosa nueva que empiezo:

  1. ¿Puedo decir en una frase qué hace?
  2. ¿Puede ejecutarse en la máquina del usuario sin cuenta?
  3. ¿Puede una sola persona poseerla por completo?
  4. ¿Sé qué aspecto tiene «terminado»?

Cuando las cuatro respuestas son que sí, la herramienta suele merecer la pena. Cuando no, normalmente estoy a punto de construir algo más grande de lo que puedo respaldar.

Pequeño, local y terminado le gana a grande, alojado e interminable. Esa es la apuesta, y la sigo haciendo.

Top comments (0)