That Time I Recreated Photoshop in C++

Scope of “Recreating Photoshop”

  • Many argue the project is far from full Photoshop parity; more like a basic editor or “MS Paint plus filters.”
  • Others emphasize that, as an undergraduate thesis from 2006, it’s extremely impressive—especially given the custom UI and feature set for the time.
  • Some note that marketing it as “recreating Photoshop” invites criticism, while others don’t see the title as clickbait.
  • Comparisons are made to products like Photopea and Krita as closer or better modern alternatives at this feature level.

UI/UX: Photoshop vs GIMP vs Others

  • Strong disagreement over GIMP’s UI: some find it “astonishingly bad” and uniquely user-hostile, others say it’s fine or comparable to Photoshop once learned.
  • One view: open source projects over-prioritize technical features and under-invest in usability and consistency; feedback on UX is often dismissed.
  • Counterview: users should be willing to learn workflows; calling open source “user hostile” is framed as entitlement.
  • Several people argue Photoshop’s UI is also a mess—nested menus, conflicting shortcuts, specialized dialogs (e.g., Liquify), and weak 3D/vector/animation tools.
  • Krita is generally seen as strong for digital painting but weaker for text, filters, and some workflows. Nostalgia appears for older tools like Paint Shop Pro 7.

Difficulty of UI vs Core Logic

  • Some developers say the real challenge in such an editor is the UI, not the image-processing algorithms.
  • Others recount how complex it is to hand-roll windowing, dialogs, and layout, especially without higher-level frameworks.

Single Executable, Installers, and the Registry

  • The project’s “single EXE, no installer, no registry” approach resonates strongly; many miss that era of Windows software.
  • Go is praised for making single-binary distribution easy; Rust/.NET and static linking raise build and licensing complications.
  • Debate over installers:
    • Pro: they add Start Menu entries, file associations, proper OS integration.
    • Con: they clutter the registry, scatter data (especially in AppData), and complicate backups and reinstalls.
  • Long tangent compares Windows (Registry, AppData, installers) to macOS (.app bundles, .DS_Store) and notes both ecosystems’ messiness.

Academic and Commercial Aspects

  • Commenters contrast this substantial thesis project with today’s often simpler CRUD-style theses.
  • Some suggest it might have been commercializable in 2006; others think even then competition and free tools would limit viability.
  • There’s reflection on how hard open source work often goes unrewarded, and on the desire for better compensation models.