Reflexiones sobre FileOptimizer

Desde la evolución de FileOptimizer, no os ponía un poco al tanto del estado del proyecto. Desde entonces, han ido ocurriendo bastantes cosas que me han hecho pensar acerca de él, unas reflexiones, que me gustaría compartir con vosotros.

Me resulta muy curioso, que la fecha de lanzamiento de FileOptimizer 9.00, fuera el 15 de agosto de 2016, una fecha que para mi fue muy importante, y desde la cual, mi vida ha ido cambiando paulatinamente, afortunadamente en un sentido muy positivo, pero que innegablemente, han alterado mis prioridades vitales.

De esta manera, aunque he continuado actualizándolo, con la última versión 9.80, exactamente 8 meses después, el 15 de abril de 2017, los cambios no han sido radicales, ni revolucionarios. Lo que queda patente, es que es una media de una nueva versión cada mes, algo que exige tiempo y esfuerzo, y de lo que la mayoría de usuarios no son conscientes. Imaginaros lo que representa aprovechar días festivos, o de vacaciones, para ponerse al día con el código, o aprovechar los pocos ratos libres que nos deja el día a día, para dar prioridad a FileOptimizer, y mejorarlo, probarlo, corregir errores, actualizar plugins, implementar sugerencias, o atender a los usuarios. No quiero ponerme medallas, pero es un gesto, que los hechos confirman que muy pocas personas están dispuestas a realizar.

Casi 200 usuarios, han apoyado económicamente el proyecto. Tal vez parezca una cifra elevada, pero si estimamos que el total de descargas, debe andar rozando el millón (sólo de Sourceforge hay más de 500.000), nos deja un porcentaje irrisorio. Vamos, que económicamente más interesante lo que recibo de Amazon.es, eBay.es o incluso la tienda de relojes rusos Meranom.com, que visto así, apenas me requieren colocar un enlace, y cruzarme de brazos.









Ya os comentaba también, la poca generosidad por parte de Microsoft, al haber retirado la licencia gratuita de uso para la interfaz ribbon, que ha hecho que finalmente se haya eliminado en FileOptimizer. Eso por no hablar de Embarcadero, que ha publicado C++ Builder 10.2 Tokyo, un software que cuesta 1.955€ en su versión más económica (Professional) y que llega hasta los 7.823€ (Architech), y que deja patente claramente que ni lo han probado, pues cuando compilamos para Win64, enlazando estáticamente con la VCL, faltan cadenas de recursos, que causan que nuestra aplicación parezca que muestra textos de sistema en chino.

Influye también que es un proyecto que va creciendo en complejidad, que cada vez requiere más esfuerzo, y que a su vez, cada vez tiene menos posibilidades de mejorar. Además, y pese al cuidado que pongo en revisar regularmente el código, en documentarlo, y en optimizarlo, cuanto menos tiempo puedo dedicar a su mantenimiento, más tiempo necesito después para volver a trabajar en él. Es normal, su familiaridad, acaba por olvidarse, así que retomarlo es cada vez más laborioso.

Si entonces me preguntáis, como es que sigo en actualizándolo y mejorándolo, no sabría que deciros, salvo que a pesar de todo, me gusta. Me gusta FileOptimizer, me gusta C++ Builder, me gusta el software libre, me gusta tener el control total de todo el ciclo de vida del proyecto, y me gusta resultar útil a los demás, y poner un granito de arena para que el mundo sea algo mejor.

Pero a mi también me sorprende, en estos casi 5 años de historia, se ha convertido en un proyecto, que es grande para sólo una persona, y que no suele ser como los que llevo desarrollando desde que tenía 8 años, que eran cosas más del estilo a PatchPE. Ideas que cumplen una necesidad particular mía, que intento programar de una forma lo más brillante posible, y que a las pocas versiones, cuando ya no hay nada que añadirles se estancan. Programas que al fin y al cabo, apenas utiliza nadie, pero con los que me lo he pasado muy bien trabajando.

Pero no todo son malas noticias, Dorel de Megaleechers.com, contrató a un diseñador que creó los nuevos iconos de FileOptimizer, y que cedió gratuitamente al proyecto, Sourceforge nominó a FileOptimizer como Proyecto de la Semana del 3 de Abril, y los creadores de plugins no pararon, con nuevas incorporaciones a la cadena de proceso: guetzli (Google Inc), pingo (Cédric), smpdf (Coherent Graphics Ltd), etcétera. Por supuesto también, a la comunidad de usuarios, que sugieren características, informan de errores, e intentan ayudar.



21 comentarios en “Reflexiones sobre FileOptimizer”

  1. Es evidente que esas cosas no se hacen por el lucro, sino por altruismo. Hombre, estaría bien ganar algo al menos que fuera para compensar un, digamos, 50% del tiempo que inviertes en él, pero eso pasa muy pocas veces. Sabes de sobra que tampoco eres un caso aislado, yo llevo desde mediados de los noventa lanzando aplicaciones freeware (ya prácticamente no lo hago porque ni me molesto en subirlas, para qué), no te hablo de ganar con ellas, sino que si te dijera el porcentaje de personas que te dan al menos las gracias es para echarse a llorar. Pues nada, ale, que vayan a las tiendas de Apple y que paguen las apps.

    No obstante con medio millón de descargas (que se dice pronto), es una aplicación con un calado impresionante. De poco sirve, pero a nivel curricular dice mucho sobre la persona que ha cargado con el proyecto y sus cualidades como programador que, por otra parte, tampoco descubrimos nada nuevo para quien te conocemos un poco.

    ¿8.000 € una RAD? Buah, se nota que están en crisis 😀

    Yo soy como tú, a mí tampoco me gustan los proyectos grandes. Intento «acertar» a la primera y de hecho los programas que desarrollo sufren muy pocas mejoras y revisiones. Obviamente, en el sentido comercial esto no interesa, cuanto más se actualice la aplicación y más se maree a los usuarios, mejor, porque así les obligas a adquirir nuevas versiones o volver obsoletas las antiguas.

  2. Así es Bianamaran. No hacemos estas cosas por dinero, sino por afición. Algunos somos así de generosos en este gremio. Ahora busca personas de otros gremios que no estén relacionados con las artes, como mecánicos, albañiles, camareros, o administrativos, y encuentra uno que se por hobby a lo suyo.

    Sin embargo, cuando ves ese medio millón de descargas, te das cuenta que los usuarios, no son tan generosos ni tan altruistas como tu eres. Y eso da que pensar… No digo que un 10% hayan agradecido el trabajo, pero al menos un 1%, que serían 50.000, y de esos, un 10% que hubieran donado, que serían 5.000.

    Por eso gente como tu o yo, que valoramos el trabajo de los demás, intentamos agradecer un buen post, o un buen programa, aunque no paguemos por él. Yo también llevo haciendo programas desde los 90, bueno desde los 80, y mi sensación es como lo tuya. Cuento con los dedos de las manos, los que me han dado las gracias. Y eso que alguno de ellos, tuvo relativo éxito.

    Si decido publicarlos, es para que no se pierdan. Me da mucha pena todo el código fuente que he perdido. Así perdurarán, para que en el futuro, alguien pueda aún mantenerlos, o al menos revisarlos. ¿Cuántos libros no tuvieron éxito al lanzarse, y luego son obras de culto? Si no se hubieran publicado, nos los habríamos perdido.

  3. Gracias Manuel. Lo que ocurre es que cuando piensas en todo el tiempo invertido, en todo a lo que has renunciado para desarrollarlo, y lo poco que has recibido a cambio, te dan ganas de ser egoísta, y que cada uno se apañe como pueda.

    No creo que lo haga, es mi hobby, y disfruto programando, sobre todo con FileOptimizer. Pero sí que es cierto que me lo voy a tomar con más calma. Justo como al principio, atendiendo menos a la comunidad, y más a lo que me apetezca.

  4. Hello Javier,
    thank you for FileOptimizer!

    Do you know if somebody already build binaries for Linux? Especially for Ubuntu?

    thanks
    Jochen

  5. Jochen, most of FileOptimizer code is based on VCL, so it should not be hard to port to Linux or OS/X, even if there is still some Windows code in there for performance reasons. Nevertheless, no one has compiled it yet. Probably because most plugins used, are not available in Linux.

  6. Acabo de llegar aquí buscando un optimizador de imágenes para mis webs, y he flipado con tu proyecto.
    Enhorabuena!
    Estoy probándolo en estos momentos pero la verdad es que es una pasada.
    Gracias!
    ¿Te has planteado monetizar de alguna manera el proyecto?
    Porque puede seguir siendo open source y que tu ganes dinero con ello perfectamente.

    Un saludo!

    Ángel

  7. Muchas gracias Angel.
    La forma de monetizarlo que hay, es vía donaciones, pero ya te digo, que no compensan ni el 5% del tiempo y esfuerzo que le he dedicado. Sinceramente, no veo la forma de hacer que funcione, pero se aceptan ideas, por supuesto.

  8. Lo pensé también Manuel. Pero lo que vi, es que la mayoría de plataformas de banners, están destinadas a webs, o a Apps para smartphones. No contemplan el ser integradas en aplicaciones nativas. Incluso algunas de ellas, como Google Adsense, prohíben expresamente integrarlos en ese tipo de aplicaciones.

  9. Muchas gracias por continuar la labor de mantener el software. Aunque sólo lo he usado dos veces para optimizar gráficos de la web que les hice a dos amigos, ya participé yo en su momento en el proyecto infozip y siempre he pensado cómo es posible que software muy utilizado (themes para wordpress, etc) no envíen sus imágenes de stock optimizadas teniendo en cuenta que van a ser usadas millones de veces.

    En fin, sólo quería darte las gracias y aprovechar que este es un modo de comunicarme sin tener que registrarme y cosas por el estilo que pingo.exe (32 y 64bits) crashean absolutamente siempre en mi win10-64 y que, desde tu reciente versión 1844 de hace unos días, también lo hace ECT.exe (solo el de 64, el de 32 corre bien). En las versiones anteriores funcionaba bien. Lo único que se me ocurre es que esté relacionado con opciones usadas en su compilación y que uso un AMD X6. Y sí, las opciones del menú salen raras, con cosas «en chino», tamaño de letra enorme, etc, pero eso es lo de menos.

    Gracias mil veces más y te animo a que sigas ayudándonos a todos aunque sea desde tras las bambalinas.

  10. Muchas gracias por tus palabras Vago.

    El problema con ECT es conocido, estoy usando las versiones en desarrollo, que son de momento algo inestables: https://sourceforge.net/p/nikkhokkho/tickets/17/

    De pingo, si que he notado que está perdiendo estabilidad. No hay nada que pueda hacer, pues el autor las considera versiones finales, y no ha sido receptivo a ninguno de los dos emails que le he enviado comunicándole problemas.

    Siento no poder hacer nada más.

  11. Saludos,

    – Apenas ayer me entero de la existencia de FileOptimizer, desde siempre utilizo RIOT + pingo, me dan excelentes resultados, lo bueno de estos es que los puedo «ajustar» a gusto, FileOptimizer es más automático y si que tarda bastaaaaante XD.

    – Estas semanas he estado ocupado buscando buen software compresor de PDF con mínima pérdida: Nitro, Foxit, Acrobat DC, PDF Reducer PRO, FileOptimizer, etc. Los mejores resultados los obtuve con Acrobat DC (fea interfaz) seguido por FileOptimizer y PDF Reducer Pro.

    – Foxit Reader gratuito, veo que hace exactamente lo mismo que Acrobat DC (inluso tiene la misma interfaz y opciones), solo que me convierte al curvas el texto de un PDF a PDF optimizado x_x, voy a investigarlo, alguna manera habrá para que trabaje bién. De cualquier otro fichero a PDF si que es igual que Acrobat DC.

  12. Como veo que te desenvuelves bien con la linea de comandos EdSon, puedes experimentar directamente con mutool, Ghostcript y cpdf que son las herramientas que usa internamente FileOptimizer. Así podrás adaptarlo a tus necesidades de rendimiento y compresión.

    En cuanto al grado de compresión, recuerda que en FileOptimizer puedes establecer el Profile y los DPI, para ahorrar más espacio, a costa de algo de pérdida de calidad, que es lo que hace Acrobat.

  13. Correcto, los plugins de FileOptimizer me han ayudado bastante, puesto que en su día busqué software que permita recomprimir «cosas» y gracias a FIleOptimizer me estoy enterando de varios muy interesantes que además tienen otras funcionalidades, por ejemplo en PDF lo «normal» es utilizar pdfTK, también qPDF, y ahora agrego a mi lista cPDF :-).

    Ahora explicar un pequeño test improvisado que acabo de hacer:
    – PNG original (1262x842x24 115.86KB): https://edson.neocities.org/img/avast-setup-or.png
    — Reduccion con FIleOptimizer
    —– Tiempo: 10 minutos en un Core i7 de 8 nucleos a 2.6GHz XD
    —– Peso original vs peso optimizado: 115.86KB vs 107.49KB XD

    Jeje, supongo que este es un PNG «grosero» o algo anda mal en mi PC o mi instalación de FileOptimizer, haber si haces la prueba y me cuentas.

    Al final utilizé RIOT + Pingo:
    — RIOT: Lossy a 16 colores con Xiaolin Wu = 15.1KB
    — Pingo -s4 = 14.38KB
    — Tiempo: 2 minutos en estar ajustando, comparando y buscando pérdidas inapreciables.

    He visto de que FileOptimizer tiene una opción para mostrar LOGs, pero no veo dichos LOGs. Serial genial verlos: script utilizado, tiempo, tamaño, etc. SI que se ve el avance individual en status, jeje espero que este no sea el LOG XD.

    Para terminar, voy ha empezar a estudiar lo que me recomiendas para el PDF, ya he visto que Foxit Reader se puede utilizar también por línea de comandos, algunos están documentados y otros están ocultos, muy interesante.

  14. Bueno EdSon, FileOptimizer está optimizado para obtener tamaños pequeños, no para ser rápido. Puedes probar a ajustar el nivel de compresión en las opciones a uno más bajo, y así se aceleraría el proceso.

    En cuanto a RIOT, como bien dices, hace compresión con pérdida, aunque no la aprecies a simple vista, el resultado final es un archivo distinto, con menos calidad. FileOptimizer también puede trabajar de ese modo, simplemente en el archivo FileOptimizer.ini, pon los valores de GIFAllowLossy, JPEGAllowLossy y PNGAllowLossy a true, y entonces aceptará ciertas pérdidas de calidad. Te avanzo que menores que con RIOT, por lo que los tamaños, tampoco serán comparables.

    La opción del log, crea un archivo llamado FileOptimizer.log. Está en el mismo sitio que FileOptimizer.ini, es decir, en la carpeta del programa, si hay permisos de escritura, o sino, en tu carpeta de usuario. Lo más cómodo es que hagas una búsqueda de ese nombre de archivo.

  15. A la mejor no ganas mucho (o nada) con FileOptimizer (hablando de dinero), pero somos felices con tu herramienta (yo la uso a diario prácticamente), y también otros, por ejemplo ahorita se está reportando que aún no trabaja en Reactos y que se hagan las correcciones necesarias a ese sistema para soportar tu aplicación, en hora buena 🙂
    https://jira.reactos.org/browse/CORE-13611

  16. No me refería solamente al dinero Manuel. Si mi subsistencia dependiera de FileOptimizer, sería mejor que destinara los esfuerzos a otra cosa. A lo que me refiero son a las exigencias de muchos usuarios, donde casi te faltan al respeto porque algo falle (aunque no sea tu culpa), donde critican sin argumentos, etcétera. Esos usuarios, que además de exigir, no se implican para nada en el proyecto.

    Cuando te dan algo gratis, es justo ser agradecido. Puede ser con dinero, pero también haciendo un manual de usuario, traduciéndolo, dándolo a conocer, haciendo pruebas serias, y reportando fallos, ayudando a responder las dudas de otros, etcétera. De hecho, estoy preparando un nuevo artículo a este respecto, porque con este tipo de gente, uno se siente como si en vez de colaborar en hacer que el mundo sea un poco mejor, uno esté haciendo algo mal, cuando en realidad es justo lo contrario.

    Muchas gracias por el enlace a Jira. Había probado FileOptimizer algunas veces sobre ReactOS, y lo vi bien. No me di cuenta que no era capaz de copiar los contenidos a la papelera de reciclaje. Me gusta como trabajan en ReactOS desde hace un par de años. Está evolucionando muy bien.

  17. A lo que me refiero son a las exigencias de muchos usuarios, donde casi te faltan al respeto porque algo falle (aunque no sea tu culpa), donde critican sin argumentos, etcétera. Esos usuarios, que además de exigir, no se implican para nada en el proyecto.
    ————-
    pues si no aportan nada (ni dinero, ideas, difusión, etc) simplemente ignóralos 🙂 , a mi también me parece injusto que algo gratis te exigan (o exigir uno mismo) como si estuvieran pagando. Cuando a mi me gusta un proyecto, si puedo (está bien dificil la economía) doy algun donativo por paypal, pero mis principales aportes son ideas, reportar errores y hacerle publicidad.
    si, va bien Reactos, ya no falla tanto como hace algunos años 😉

  18. A eso me refiero Manuel. Que cuando no aportan nada, y sólo hacen que molestar, y menospreciar tu trabajo voluntario, no vale la pena perder el tiempo con ellos. Por eso he formalizado, que voy a ignorarlos. Es decir, que no les daré soporte ni nada parecido.

    La economía está mal en muchos lugares. No pretendo, ni voy a exigir que la gente done dinero, como tu si que hiciste. Es igualmente loable que inviertan su tiempo, como hago yo. Publicitándolo, mostrándolo a sus amigos, resolviendo dudas, reportando errores. El caso es que los usuarios ayuden también al creador, porque sino, es como si yo hubiera malgastado mi tiempo.

    De ReactOS, espero que con este nuevo enfoque, en 2 o 3 años podamos tener una alternativa real a Windows. Me gustaría muchísimos. Es algo que desde los tiempos de Freedows, ando esperando.

Deja un comentario