1 puntos por GN⁺ 2025-03-17 | 1 comentarios | Compartir por WhatsApp

Aquella vez que recreé Photoshop en C++

  • Contexto del proyecto

    • En el verano de 2006, el autor, tras terminar un curso de C++/Windows API, comenzó a desarrollar una app de lectura de cómics que podía manejarse solo con el mouse. Esta app se llamaba Fiew.
    • En otoño tenía que decidir el tema de su tesis, y con base en el desarrollo exitoso de Fiew, decidió crear un editor de imágenes. El objetivo era implementar funciones similares a las de Adobe Photoshop.
  • Desarrollo de Fedit

    • Fedit fue desarrollado con C++, Windows API y la biblioteca gráfica GDI+.
    • Fue creado como un único ejecutable que no requería instalación, consumía pocos recursos del sistema y podía ejecutarse directamente desde una unidad USB.
    • Implementaba una interfaz similar a Photoshop e incluía ventanas de herramientas movibles libremente, selector de color, gestión de capas y filtros de imagen.
    • También se añadió una función de visor para grandes bibliotecas de imágenes traída desde Fiew.
  • Desafíos y logros del proceso de desarrollo

    • Durante el desarrollo surgieron muchos problemas, pero el autor los resolvió analizándolos y depurándolos por su cuenta.
    • La implementación de la interfaz de usuario fue la parte más difícil, y se esforzó por reproducir un flujo de trabajo similar al de Photoshop.
    • Al final, la tesis fue presentada con éxito y Fedit recibió evaluaciones positivas en línea.
  • Resultados y carrera posterior

    • Gracias al éxito de Fedit y Fiew, el autor consiguió trabajo como desarrollador de C++ en GoldenLine, donde se encargó de desarrollar una app WinAPI para procesar cargas masivas de imágenes.
    • El código fuente de Fedit y Fiew puede consultarse en GitHub, y el documento de la tesis está disponible en PDF.
  • Antecedentes del desarrollador

    • El autor obtuvo en 2008 una maestría en Ciencias de la Computación en el Oxford University Computing Laboratory y ha participado en diversos proyectos.

1 comentarios

 
GN⁺ 2025-03-17
Opiniones en Hacker News
  • Leer la frase "sigue cinco reglas de ser un único ejecutable, sin instalador, archivos comprimidos, claves del registro ni runtimes adicionales" me dio una sensación cálida y feliz
    • Entiendo por qué existe el registro y cómo funciona el ecosistema actual de software en Windows, pero extraño cuando el software de escritorio solía ser así
    • Hoy en día intento usar instalaciones portables cuando es posible, pero ojalá fueran más comunes
    • Evito reinstalar Windows por el tiempo, la molestia y la incertidumbre sobre si podré restaurar por completo todas las configuraciones
  • Photoshop tiene muchísimas funciones, pero algunos filtros de imagen no se consideran una reinvención
  • Comparto un enlace directo a este genial programa: fedit-image-editor
  • "Pero no lo promocioné. Unos meses después conseguí un trabajo en C++. Al final, todo el esfuerzo dio frutos"
    • Instintivamente sabemos que nuestro esfuerzo debería ser recompensado, pero da pena que muchas veces los desarrolladores de código abierto pongan mucho esfuerzo en su código y no reciban recompensa
    • Eso explica por qué buscan crédito por reputación, por qué NPM agregó la función de "quizá deberías donar al autor de esta librería" o por qué GitHub creó Patreon
    • Necesitamos un mejor modelo que no se aproveche de jóvenes idealistas y trabajadores
  • A comienzos de los 2000 hubo un proyecto llamado "pixel32", que después pasó a llamarse "Pixel Studio Pro"
    • Se vendió como acceso anticipado, pero terminó convertido en vaporware, la gente que pagó estaba muy enojada, y quien lo hizo pasó rápidamente de héroe a villano
    • Enlace relacionado con Pixel Studio Pro
  • A veces la gente no da a conocer al mundo las cosas que crea
    • Me alegra que esté en GitHub y me parece muy impresionante
  • Pregunta si se bloqueaba cada 30 minutos
    • Si no, se pregunta a cuánto lo venderían
  • Recomienda revisar Photopea
    • Lo usa todos los días, y la persona que lo creó es increíble
  • El autor del artículo dice que se graduó en la Universidad Tecnológica de Varsovia
    • Siempre se la consideró una de las mejores universidades de aquí
    • Hace poco escribió una tesis en una universidad tecnológica de otra gran ciudad, y el 90% de las tesis de ingeniería eran de muy mala calidad
  • Funciona bien en Wine