Aunque en un principio todos querían ejecutar aplicaciones localmente, y esa fue la razón de la popularización de las PC’s para liberarse del yugo de los centros de procesamiento de datos, el casi universal acceso a las conexiones de banda ancha cómo ADSL/Cable/WiMax, han creado ese híbrido llamado Web 2.0, que ofrece las ventajas de una arquitectura de procesamiento de datos centralizada, con la libertad, movilidad y personalización que todo usuario reclama. Y es así cómo hemos visto que la idea de SAAS (Software As A Service), ha comenzado a ganar popularidad, primero fueron pequeñas compañías quienes introdujeron editores de texto y hojas de cálculo que operaban sobre la web, hasta que llegó Google y lanzó su Google Docs, que ofrece toda una suite de oficina que opera sobre la Internet.
Definitivamente esto ha cambiado el panorama de las suite de oficina cómo las conocíamos hasta el presente, y ha sido tanto su impacto que Microsoft ha respondido con un híbrido llamado OfficeLive, que es una aplicación propietaria que usa Internet para grabar los archivos remotamente, pero donde aún se depende de Microsoft en todo, por ejemplo sólo se puede correr el OfficeLive desde Windows.
Sin embargo he encontrado que ZOHO, es en muchas formas el ideal de aplicación web 2.0. En primer lugar ellos ofrecen una interface web mucho más llamativa a los ojos que Google Docs, aunque aún no tan lograda cómo la de OfficeLive. Pero al igual que Google Docs, zoho puede correr en cualquier browser (lo he probado en IE 6 y 7, Firefox, Opera), y tanto en Linux cómo en Windows.
Pero una de las cosas que vuelven a zoho interesante, es el hecho de que se puede tener acceso a sus servicios de procesador de texto, hoja de cálculo y programa de presentaciones, sin tener que usar sus servidores para almacenar los datos, esto es una gran diferencia entre zoho y sus otros dos competidores inmediatos Google Docs y OfficeLive. En pocas palabras podemos guardar los documentos generados en nuestros propios servers.
Para ello zoho ofrece una opción llamada remote API, aunque por el momento sólo esta disponible para sus productos write (procesador de textos), sheet (hoja de cálculo) y show (programa de presentaciones). Aunque zoho ofrece muchas más opciones cómo administrador de base de datos, CRM, etc. Sólo estos tres ofrecen la opción de API remota.
También hay disponible otro API para desarrollo de aplicaciones usando los servidores de zoho, llamada storage API, sobre la cuál no comentaremos aquí.
El uso de estas API remotas es gratis para propósitos no comerciales, es decir la etapa de desarrollo, educación o proyectos GPL. Lo único que necesitamos hacer es registrarnos en zoho. En la documentación hay unas líneas de ejemplo que describen cómo usar el API remota en PHP, y aunque son pocas, claramente nos dicen cuál es la mecánica del componente. Lo que hacemos es simple y llanamente "POST" el archivo a el componente zoho, este lo abre dependiendo de la aplicación que seleccionemos write,sheet o show, el componente nos permite editar el documento en nuestra PC y cuando decimos "save", zoho hace lo inverso "POST" el documento a una URL previamente establecida, donde debemos de recibirlo y guardarlo localmente.
En el párrafo anterior use la palabra "POST", para hacer referencia al método POST en el protocolo HTTP, pues no he encontrado una traducción apropiada al español que no pueda ser mal interpretada.
He hecho una pequeña aplicación de prueba haciendo uso de CodeIgniter, sólo para probar la idea y ver que problemas hay en llevarla a la práctica. El resultado me agradó, mientras el archivo no sea de más de un megabyte funciona de maravilla. El problema es cuando tenemos que mover archivos grandes, esto requiere tanto la transmisión del archivo desde nuestro servidor a zoho que tomara un tiempo, así como el procesamiento del archivo enviado de vuelta desde zoho luego de la edición. Para archivos realmente grandes 10 MB o más, el tiempo es sencillamente inaceptable para un usuario convencional. Por otro lado ¿quien necesita un documento word de más de 100 KB o 200 KB, cuando está de viaje y necesita consultar un documento?
Otro posible problema que encontré fue la seguridad, pues el documento debe de estar en un lugar accesible por la web, y sin ninguna protección de usuario/password, lo cuál es suicida si vamos ha tener información sensible en esos documentos. Un paliativo es restringir el acceso por IP’s al directorio donde estarán nuestros archivos a través del Apache. Aunque lo ideal sería que zoho ofreciera una validación en dos vías para asegurarnos de que zoho sólo recibe archivos de nuestro server y nuestro server sólo recibe archivos de zoho. Aunque cómo dice el refrán: "a caballo regalado, no se le mira el diente".