Desde hace unas semanas ya está disponible en modo beta 1 la primera versión de Picly, un servidor de imágenes con transformaciones al vuelo a través de la misma url. Han pasado ocho meses desde su primer prototipo y, aunque en unas semanas liberaremos la versión comercial, hemos comenzado a "comunicar al mercado" este nuevo producto por aquello de que si sales con demasiadas características, es que sales tarde... 

Hay muchísmo trabajo detrás de este proyecto en el que participa todo el equipo de desarrollo de Solid Stack, realizado en Node JS, usando una base de datos en Redis y mucho, muchísimo testing antes de liberar estar pimera versión.

¿He dicho "muchísimo trabajo"?

Se suele ignorar que detrás de una simple web comercial (que ya tiene lo suyo en diseño, usabilidad, calls to action, etc.), existe toda una infraestructura que le dá soporte para implementar todos los procesos de negocio.

Las personas no demasiado técnicas, incluso muchos desarrolladores que se lanzan a probar una idea, no tienen claro el enorme esfuerzo que existe para coordinar, desarrollar y, sobre todo, mantener, una infraestructura software y hardware para comercializar un producto que con el tiempo tendrá diferentes versiones y se podrá usar en distintas modalidades comerciales (gratuita, profesional y empresarial).

Me temo que no, que esto no es publicar una web atractiva y ya te pones a hacer caja desde el minuto uno...

Tan solo para poder lanzar una primera beta, resumo a continuación todo lo que necesitamos desplegar y desarrollar:

  • Una web responsiva y con un diseño atractivo y comercial: www.picly.io
  • Una aplicación web también fácil de usar y responsiva para el panel de los usuarios que se registran, lo tenemos publicado en account.picly.io
  • Una API Rest para dar soporte a lo anterior, publicada ahora mismo en api.picly.io
  • Y, claro está, el mismo producto descargable y listo para ser ejecutado en una máquina en local.

Tan solo para desarrollar todo lo anterior, nos ha hecho falta:

  • Desarrollar el producto con la suficiente calidad como para poder publicarlo como beta 1 (con tests, pruebas manuales y exploratorias, etc.). Esto es, en sí, un reto, al tratarse de algo más o menos complejo a nivel técnico y que pretende ofrecer una solución de menor coste y mucho más flexible que servicios como Cloudinary.
  • La gestión de la configuración y procedimiento de "compilación" de la versión requiere de un esfuerzo considerable: selección de los assets a publicar, ofuscación de las partes más sensibles del código, minificación de las librerías y css para las distintas web y el panel de control de Picly, etc.
  • Conocer en profundidad las tecnologías y librerías que hemos utilizado: Node JS, Redis, Bootstrap, diseño de una arquitectura distribuida, Graphics Magick, OpenCV, etc.
  • Poner en marcha un mecanismo de "inversión de control" para la incorporación de los plugins de Picly que son los que hacen las transformaciones al vuelo.
  • Infinidad de reuniones para consolidar lo ya implementado y definir los próximos pasos.
  • Integración de la pasarela de pago a través de Stripe.
  • Integración de muchos otros servicios como Google Analytics, Hotjar, etc.

Todo esto parece abrumador al principio, y, en realidad lo es, sin embargo, lo importante es ir dando pasos continuamente poco a poco pero con la dirección clara hasta cumplir la funcionalidad mínima para salir y dar a conocer al mercado este nuevo proyecto.

Para mí, la esencia de un buen trabajo que parece enorme es el refinamiento continuo.

Y a partir de ahí, ¿qué?

A partir de este momento, el trabajo duro continúa pero en una fase diferente, ya que hay que poner en marcha lo que se denominan los procesos de negocio mediante procedimientos bien establecidos y ordenados, como los siguientes:

  • Comunicación regular al mercado mediante noticias, tweets, etc.
  • Campañas de divulgación, webinars, meetups, listas de correos, contacto directo a compañías como potenciales clientes, etc.
  • Mecanismos para recoger, recopilar y analizar el feedback.
  • Procedimiento de soporte.
  • Auditorías internas de seguridad de toda la infraestructura creada y que soporta Picly.
  • Tracking para las licencidas vendidas.
  • Monitorización de la actividad de los usuarios.
  • Procedimiento para la liberación de nuevas actualizaciones (tanto de las webs como del producto en sí).
  • Definición de métricas no vanidosas para comprobar el impacto de cualquier comunicación al mercado.
  • etc.

Todo esto es muchiíisimo trabajo, pero, que, estando bien definido y ordenado, se puede llevar a cabo con la disciplina necesaria para tener éxito con un producto como Picly.

Picly es un producto en el que se ha puesto mucho esfuerzo para mantener un diseño limpio, claro, con módulos sencillos soportados por tests, clean-code y todas las buenas prácticas para el desarrollo de un producto mantenible y evolucionable. Durante este tiempo, han surgido muchas anécdotas que iré contando poco a poco, como la razón por la que no hemos usado ningún framework como Angular, React, etc. para las distintas aplicaciones webs, por qué tomé la decisión de diseño de usar Redis como base de datos y muchas más.

Continuaré hablando de todo lo anterior, tanto a nivel técnico sobre Picly como todos esos procesos de negocio específicos que estamos poniendo en marcha ahora mismo.

En cualquier caso, animo a que descarguéis el producto y nos machaquéis con sugerencias y feedback!

Comparte esta entrada...

¿Por qué leer El Libro Negro del Programador?

Adquirir desde:
Amazon (kindle eBook / papel)
CreateSpace (papel)
PayHip (epub / mobi / pdf)

El libro negro del programador.com
Segunda Edición - 2017

Archivo

Trabajo en...

Mis novelas...