Al menos una vez al año, recibimos un comentario de lo más curioso de parte de un cliente, amigo, socio o navegante de internet: Si odoo ya tiene su aplicación oficial, ¿por qué desarrollan una? Muchas veces esta pregunta se extiende y se le agregan otras como: ¿por qué hacerla a medida si es más complicado de mantener? ¿por qué no está en la Play Store y en al App Store, al menos una versión reducida? Por todas estas dudas y más, decidimos hacer esta entrada.
¿Por qué desarrollamos una app si odoo ya tiene una?
La lista de motivos es larga, el original es porque la App de Odoo es solo EE y no se puede usar en CE, haciendo que ciertos clientes deban buscar otra alternativa. No obstante, diría que el problema en nuestra experiencia va más allá. La App de Odoo oficial no es más que un IFRAME de HTML que renderiza Odoo con su correspondiente plantilla responsive en una Aplicación. Esto a nivel desarrollo para Odoo está bien, ya que reduce la cantidad de tiempo para desarrollar la App al migrar y solo deben concentrarse en el template. De hecho, en su día logramos habilitar una versión IFRAME para Odoo Community y renderizarlo en lo que llamamos odoo-app obteniendo el mismo resultado que la aplicación Enterprise si usábamos algo como el OCA responsive. Claramente, no funcionó.
La razón es muy simple: el negocio que busca llevar su Odoo en su celular rara vez quiere simplemente ver Odoo en versión responsiva. Puede parecer una contradicción pero les aseguro que es una realidad, ya que la odoo-app en el año 2019 solo se comercializó dos veces hasta que decidimos hacer Codize. El tema es concreto, Odoo operativamente puede ser muy bueno pero hay procesos donde requiere muchos pasos. Algo que está bien desde una computadora, pero desde un celular y para distintos operarios se hace imposible. El ejemplo clásico son los pickings, imaginemos que somos operadores de despachos de salida y entrada en un depósito donde todo el día está llegando mercadería y saliendo; si mis tareas están ligadas a los pickings de Odoo ya voy a tener problemas en ver lo que tengo que hacer en la vista clásica de Odoo (hay demasiada información y demasiados menúes). Pero el problema más grande es que posiblemente tenga que ponerme a escanear productos, etiquetas y operaciones; cosa que Odoo no me facilita. Y el módulo de Códigos de Barras de la versión EE puede buscar resolver este problema pero no conozco ninguna empresa que la utilice sin modificación. Y el gran problema es que se vuelve extremadamente dificil de presupuestar, ya que no se sabe de antemano que cosas va a permitir Odoo y que cosas no. Por tal motivo, nace Codize como motor para construir aplicaciones que permitan operaciones más ágiles o cosas que Odoo en sí no va a hacer.
¿Por qué hacerla a medida si es más complicado de mantener?
Aunque no lo crean, es al revés. Mantener una versión única de Codize que sirva para todos los clientes es, sin dudas, mucho más costoso que mantener una a medida para cada uno. La razón: Odoo permite tanta flexibilidad que no hay dos Odoo iguales como para armar solo un caso. Lo hemos intentado y no ha sido posible, más si debe mantenerse Odoo desde la versión 8 hasta la actual y llevar una actualización anual de campos y procesos.
¿Por qué no está en la Play Store y en al App Store?
Las normas de carga y mantenimiento de aplicaciones en los dos servicios de marketplace de los dos sistemas más usados son realmente odiosas por decirlo suavemente. En Apple han llegado a rechazar la aplicación porque no les convencía la estética de los botones o la tipografía. Ya de por sí se la pasan validando el funcionamiento de cada versión subida, lo cual es molesto porque no siempre entienden para que sirve la aplicación, pero que validen la estética nos resulta muy molesto. En el caso de Android, en su día era mas permisivo pero ya hace varios años que rechaza aplicaciones sin una razón concreta, y su sistema de soporte está demasiado automatizado con bots. Hay casos dando vuelta por internet de aplicaciones históricas de Android que quedaron bloqueadas en una versión porque no terminan de validarse y no hay información específica de por qué ocurre eso. Con eso en mente, hemos preferido cargar la aplicación como APK directo en el caso de Android, y para iOS siempre existirá la confiable PWA, que actualiza sola en el momento, no valida, no hay gestores de App Store que cobran fortunas por "saltearse" la validación y se puede llevar directamente por el equipo de desarrollo. Nuestras aplicaciones no son juegos, son herramientas fundamentales para algunos negocios, no se puede tener una empresa sin trabajar o parcialmente bloqueada durante meses solo porque a Apple o a Google se les ocurre bloquear una App.