← Blog

Episodio 4

Cuando LowFlow ya no podía quedarse completamente solo

Al principio, quería algo simple.

Una aplicación local.

El trader instala LowFlow en su computadora, sus datos se quedan con él, y la aplicación hace su trabajo sin necesidad de enviar toda su vida de trading a algún lugar en la nube.

Esa fue siempre la filosofía. Y lo sigue siendo hoy.

Pero a medida que LowFlow avanzaba, el proyecto se volvió más serio. Y apareció un problema en el que realmente no había pensado al principio.

¿Cómo convertir una aplicación local en un verdadero producto comercial?

Quería mantenerme local

No tenía ningún interés en convertir LowFlow en un SaaS.

No quería que las operaciones del cliente tuvieran que enviarse a mis servidores para que su diario funcionara. Tampoco quería que sus fotos, sus históricos o los datos necesarios para el replay dependieran de una nube.

El principio era simple: el trader conserva sus datos. Sus operaciones se quedan en su máquina. Sus capturas se quedan en su máquina. Sus históricos se quedan en su máquina. Sus datos de replay se quedan en su máquina. Incluso sus copias de seguridad pueden quedar bajo su propio control.

Era una decisión importante. Y no quería cambiarla solo porque LowFlow se estaba volviendo comercial.

Pero el proyecto había cambiado

El problema venía de otro lado.

Una aplicación que desarrollo para mí mismo puede funcionar de cierta manera. Una aplicación que quiero distribuir a clientes tiene que manejar muchas más cosas.

Hay que poder identificar una instalación. Gestionar las licencias. Saber qué versión del software se está usando. Permitir las actualizaciones. Gestionar las cuentas. Controlar los accesos. Distribuir las nuevas versiones.

Y sobre todo, quería poder hacer todo eso sin convertir a LowFlow en una aplicación que dependiera completamente de un servidor.

Fue ahí cuando empecé a entender que necesitaba otra capa. No para los datos del trader. Para todo lo que rodea a la aplicación.

La aplicación se queda con el trader

Esta es probablemente la parte más importante de entender.

LowFlow está instalado localmente. La aplicación está en la computadora del trader. Sus datos son locales. Pero la aplicación ahora necesita poder comunicarse con mi infraestructura para ciertas funciones.

Es un poco como un celular. El teléfono está en tu mano. Tus aplicaciones están instaladas en tu dispositivo. Algunos datos pueden quedarse directamente ahí. Pero para ciertos servicios, el teléfono necesita comunicarse con la red.

LowFlow funciona con una lógica parecida. Local no significa necesariamente sin conexión.

La aplicación se mantiene local. Pero necesita una conexión a internet para comunicarse con la infraestructura de LowFlow y verificar ciertos elementos necesarios para su funcionamiento.

Y apareció el Control Panel

A partir de ahí, el proyecto volvió a cambiar.

Ya no tenía solamente una aplicación. Ahora necesitaba un lugar donde pudiera gestionar todo lo que pasa alrededor de la aplicación.

El Control Panel se convirtió en esa pieza central. Ahí es donde gestiono lo necesario para el funcionamiento comercial de LowFlow: las cuentas, las licencias, las versiones, la distribución, y los controles necesarios entre la aplicación y mi infraestructura.

Y eso me permitió mantener una separación clara. El trader conserva sus datos. Yo gestiono el producto.

Una conexión obligatoria, pero no un diario en la nube

Ahí es donde la diferencia se vuelve importante.

Si la conexión a internet no está disponible, LowFlow no puede simplemente seguir como si nada. La aplicación necesita verificar ciertos elementos con mi infraestructura. Sin esa conexión, se queda en la pantalla de ajustes.

Pero los datos del trader no desaparecen: sus operaciones, sus fotos, sus históricos y sus datos de replay siguen ahí. La aplicación simplemente no puede continuar su funcionamiento normal hasta que se establezca la conexión necesaria.

Ese era el compromiso que buscaba. Los datos se quedan locales. El control del producto se mantiene centralizado.

No había previsto nada de esto al principio

Y esta es probablemente una de las cosas más interesantes de toda esta aventura.

No empecé LowFlow con un gran plan de arquitectura comercial. Estaba construyendo una herramienta que necesitaba.

Luego la herramienta creció. El diario creció. Las funciones aumentaron. Llegaron los addons. La aplicación se convirtió en un verdadero producto: con una aplicación local, datos locales, addons, clientes potenciales, licencias, un Control Panel, una infraestructura, y todo un sistema que tenía que funcionar en conjunto.

Y finalmente, en agosto, tuve que aceptarlo. Podía mantener a LowFlow local. Pero ya no podía gestionar todo lo que rodeaba a LowFlow únicamente desde la computadora del cliente.

Necesitaba una infraestructura. No para quedarme con sus datos. No para alojar su diario. Sino para poder hacer funcionar correctamente un producto que ahora quería distribuir a otros traders.

Una nueva etapa

Es en este punto donde LowFlow empezó a parecerse mucho menos a un simple software que construía para mí mismo.

Y apareció una nueva pregunta.

¿Cómo hacer para que todo esto se pueda entregar automáticamente al cliente?

Porque una cosa es construir un software. Otra muy distinta es construir un sistema capaz de entregarlo correctamente a alguien a quien ni siquiera conozco.

Y ahí es donde estaba a punto de comenzar la siguiente etapa de LowFlow.

← Volver al blog