Siguiendo con el experimento/proyecto, hoy toca contar un poco cómo fue que avanzamos en la decisión y qué variables se consideraron.
En un fin de semana de limpieza de mails y revisión de backups, encontré el proyecto, y escribí por curiosidad, para ver qué había pasado, hacia dónde habían decidido ir.
La sorpresa fue, en parte, recibir respuesta. Pero lo más llamativo era el contenido inicial.
Si bien este es un ejemplo mínimo, me resulta una gran muestra de cómo muchas veces no miramos con atención el objetivo real. El primer problema de este merchant no fue técnico en si mismo. El problema era funcional. El cómo se resuelva técnicamente suele no ser de importancia (salvo que se convierta en una pelota de nieve imparable).
En una segunda parte del mail, me contestaba lo siguiente.
Otra vez, la forma de verlo adhiere más a lo funcional que a lo técnico.
¿Por qué hago referencia a lo obvio?. Porque creo que muchas veces no lo vemos y entramos en una espiral de discusión y decisiones que se alejan rápidamente del objetivo primario.
Con ese planteo inicial, y entendiendo qué necesitaba la tienda y qué elementos jugaban a favor o en contra, hice un primer pequeño análisis basado en la experiencia personal y la de otros desarrolladores independientes. También estuve haciendo algo de investigación y hablé con agencias que eran partners de otras tecnologías.
Casi como una charla de café comenzamos a evaluar las opciones cercanas (recordar la hipótesis planteada en el post inicial).
Las opciones
Primero separé, casi por reflejo, las plataformas Off Premise (SaaS) de las On Premise.
Las candidatas fueron 3:
Prestashop fue descartado por una serie de factores:
- Falta de experiencia real: hace ya muchos años desde que probé un poco esa herramienta, por lo que no puedo hacer un ofrecimiento de servicio sólido.
- Feedback de otros usuarios: hablé con algunos conocidos que usan la plataforma, y la verdad no logré ser seducido, a pesar que el backend me pareció mucho más agradable que las versiones previas.
- La mayoría de las funcionalidades que provee, que no son pocas, están en Magento. Esto hizo que sea difícil intentar justificar el cambio de plataforma para obtener más o menos lo mismo que ya se tenía.
Sylius es uno de los nuevos jugadores en el ecosistema. Viene creciendo de forma sólida desde hace algo más de un año, y realmente es una tentación para nos, los programadores.
- Es una opción tentadora dada su arquitectura más nueva y menos compleja.
- Tiene un backend agradable.
- Tiene los tipos de productos (simples y configurables) que el proyecto puede necesitar.
- No encontré plugins de los gateway de pago de aquí.
Claramente es una opción que, como desarrollador, me interesaría mucho explorar en un caso de la vida real. Pero para el proyecto en cuestión, no dan las variables.
Finalmente revisé WooCommerce.
- Funciona sobre WordPress.
- De forma muy rápida se puede tener funcionando un catálogo y transacción.
- Los problemas de seguridad (que si bien solucionables, demandan atención casi constante) no me motivaron demasiado.
- La gestión en backend me parece una experiencia no tan amigable (tengo en contra que el punto de comparación es Magento, por una cuestión de uso y costumbre).
- Tiene muchos plugins que pueden servir.
- Tiene muchos plugins que pueden ser vector de ataque.
- Tiene plugin para gateway local disponible.
Al comparar las 3 opciones On Premise contra Magento 1 y 2, sencillamente no me pareció que estuviera ganando. Persistió la idea de pérdida de funcionalidad y prestaciones out-of-the-box. Ni hablar de los módulos.
Entonces fue el momento de revisar las opciones Off Premise. ¿Qué lista revisamos?.
BigCommerce no se muy bien por qué entró en la lista. Para nosotros no tiene integraciones con medios de pago ni opciones de logística. Posiblemente haya formas de adaptarse, pero otra vez, en este experimento las variables no cierran con ésta opción. Ni siquiera la presenté como posibilidad.
MercadoShops. Sería una opción válida para salir del paso rápidamente, pero las comisiones y tratos generales de MercadoLibre no suelen ser algo que se escuche como cosa positiva por parte de los merchants. Se presentó la opción, pero no sedujo tampoco. Además, la idea es intentar construir marca.
Con Shopify pasó algo similar a lo de BigCommerce. Si bien conozco tiendas argentinas que la usan, no está pensada realmente para nuestro país. O mejor dicho, aún no estamos incluidos. Ni siquiera se presentó la opción.
Tiendanube fue una opción que me causó grata sorpresa. Revisando los precios y funcionalidades se presentó como un buen equilibrio entre tiempo de disponibilidad, precio mensual y funcionalidades. Incluso pasando a un plan intermedio obtendría la posibilidad de un diseño más moderno, una App mobile (que ni se lo que hace, pero algún tipo de reporte mínimo o gestión básica deberá permitir) y la integración con MercadoLibre como marketplace de cabecera. Me pareció una opción coherente y la sumé a la lista de alternativas.
Finalmente Vtex, la cual conozco poco y nada desde el lado de atrás. Para esto me apoyé en partners (en sus developers y gente de venta). El feedback que recibí nos dejó fuera de carrera. Por ser una tienda tan pequeña, no somos material para esa plataforma. Ni hablar sobre que los costos se van fuera de escala.
El filtrado
Luego de repasar todo, se opté por no presentar una opción On Premise (más allá de Magento 2), pero me quedé con muchas ganas de probar Sylius. Sin dudas tendré que buscar alguna excusa para algún pequeño caso con esa plataforma.
De las opciones Off Premise, Tinedanube sonaba el candidato ideal. Además, un detalle que hasta ahora no había mencionado, la tienda vende minorista y mayorista.
Tiendanubre ofrece una opción, que aunque no parezca de lo más cómoda, no deja de ser una alternativa.
Así fue entonces que pusimos sobre la mesa migrar a Tiendanube o a Magento 2 (en formato on-premise de la edición Open Source, ya que los costos de la versión Commerce y/o Cloud son tan privativos como el caso de Vtex).
Los motivos
Tiendanube sonaba como una opción válida en general, mucho mejor en términos de costos, pero la gestión de minoristas y mayoristas generó incomodidad.
Incluso propuse migrar a Tiendanube y probar durante, no se, ¿1 año quizás?. Luego, si la tienda mejoraba su performance, podría evaluarse un camino más sólido y más de mediano plazo.
¿Pero entonces por qué Magento?
La flexibilidad que otorga Magento ya comenzaba a generar nostalgia. La sola idea de caer en una plataforma que no te permita llevar adelante ajustes casi caprichosos (en términos de desarrollar cualquier funcionalidad) comenzaba a restarle puntos a Tiendanube (o cualquiera de las opciones SaaS).
Quedó claro siempre que Magento trae consigo un costo de implementación más alto. Tampoco tendríamos una integración automática con MercadoLibre como ofrece TiendaNube. Sumado a eso, el costo de hosting subiría comparado al actual debido a la mayor necesidad de recursos.
El esfuerzo de migración hubiera sido similar para cualquier caso, ya que en todas las opciones habría que migrar.
Quien debía tomar la decisión final consideró que la posibilidad de ajustar el manejo de Minoristas y Mayoristas era más que relevante.
El canal de MercadoLibre no fue considerado un deal breaker.
Con todo esto, para el cliente, Magento estaba siendo aún el mejor candidato. Hubo un especial hincapié en tener una tienda independiente.
Algunos comentarios finales
Creo que no hace falta aclarar cuál es mi preferencia. Aún así, se intentó no darle más lugar que el que le corresponde, y es por eso que, en la mayoría de las comparaciones, recurrí no sólo a documentación (lo cual seguiría estando sesgado por mi mirada), sino a otros profesionales (que trabajan con Magento, con Magento y otras herramientas, o que no trabajan con Magento).
Ninguno de los motivos por los cuales otra plataforma no fue seleccionada como opción tienen que ser 100% acertados o válidos para otro proyecto (sea cual sea su envergadura).
Todo lo revisado aquí se adaptó al proyecto. Para esto se consideró desde el presupuesto, hasta los usuarios (los administradores), pasando por la realidad local, posibilidad de proveedores, integraciones, etc.
Posiblemente otra tienda de similar tamaño, pero con alguna variable diferente, encuentre en otra herramienta su mejor aliada. O no.
El post no hace a una discusión infantil sobre quién es mejor, ya que esa apreciación es relativa siempre a la tienda, al merchant, a la marca y a su proyecto.
De aquí en más, los posts comenzarán a ser un poco más técnicos y operativos. Lo próxima será mostrar qué trabajo se hizo/hace para llevar adelante la migración ahora que ya sabemos desde dónde se parte y hacia dónde se quiere ir (y por qué).