Powered by SnapDock Rendering

SnapDock — History

History of SnapDock

← Back to SnapDock Index

History of SnapDock

The Viewer Era: SnapDoc (v0)

SnapDock began as a Python‑based Markdown viewer. You’d drag a .md file into the UI and it would render — no editing, no saving, just clean display. It was called SnapDoc, named after the core feature: snapping a document into place.

But the need for something better than Tkinter was real. After experimenting with PyQt, the decision was made: Electron was the future. HTML, CSS, and JavaScript offered the flexibility and polish SnapDock needed.


The Dock Arrives: SnapDock v1

With the move to Electron came the file tree — a true dock. SnapDoc became SnapDock, reflecting the new layout and ambition. But v1 had upload/download logic that made editing frustrating. The codebase was messy, packed into a single scripts.js like a webpage. A full refactor was needed.


The Refactor: SnapDock v2

That refactor was brutal. Logic was separated, architecture strengthened, and the file system evolved. This became the foundation of SnapDock 2.x — the first public release.

  • v2.0.0 introduced update logic (which didn’t work)
  • v2.1.0 fixed it (mostly)
  • v2.1.1 broke it again during the CSS divide
  • v2.2.3 finally stabilized everything
  • v2.2.5 brought cross‑platform support with the first .deb build

The LTS Decision

As SnapDock grew, Electron started to feel heavy. Expanding further risked bloating the app. So SnapDock 2.x was marked for LTS — stable, reliable, and maintained. Not abandoned, but preserved.


The Future: SnapDock v3

SnapDock v3 was born from this realization. Originally planned in C#, it shifted to Rust — faster, lighter, and more scalable. The goal: rebuild SnapDock’s logic in a modern runtime, freeing it to grow without compromise.

SnapDock v3 will be the next evolution — a premium writing environment with room to expand.


Philosophy

SnapDock has no finish line. It’s not trying to compete. It’s unique — clean, simple, and built for the people who use it every day.