from Hacker News

Show HN: Desktop app displaying files on a 2D canvas

by limandoc on 10/18/24, 12:35 PM with 27 comments

Hey all! I always wanted to arrange my text/markdown/pdf files on a 2D canvas and visualize them without opening all the windows. An extra feature I added is also visualizing folders within - so kind of a 3D visualization? It was also important to be an offline desktop app, rather than online tool like Miro or Mural, because once I edit files in Sublime or AdobePDF then I want changes to sync in the canvas right away.

Some technical points and lessons learned: being Android developer helped a lot with this project since I used Kotlin Multiplatform with Compose Desktop renderer (actually skiko). It runs on JVM under the hood, which was exciting at first since I can use the app on all of my Mac/Windows/Linux machines. Right? Wrong. One lesson I learned wasn’t “write once - run everywhere”, it was “write once - test everywhere; repeat”. On the other hand, using Kotlin Multiplatform will allow me easily to port to Android and port the logic to iOS.

Anyways, I released LimanDoc v1.0.3, still in Proof-Of-Concept, so I hope to get some feedback and features you think would be helpful.

I was thinking these features would be great for future releases: - adding a local LLM support to search/summarize your docs, books, videos, etc; - sync on local network (including future mobile apps) - Templates, groups, and better diagram integration like in Drawio.

  • by pilgrim0 on 10/18/24, 4:56 PM

    Gave it a try on macOS.

    My first impression is that it breaks expectations for common operations:

    1. Two-finger sideways panning does not work, it zooms erratically; 2. Click and drag pans instead of drawing a selection box; 3. Shift + Click or Cmd + Click does not add item to selection; 4. Two-finger vertical swiping does not zoom when hovering an item; 5. The zoom disregards mouse coordinates, always anchors from the center of viewport;

    Still not sure how to select multiple items. I'd recommend you get the fundamentals of navigation/edition right, otherwise it's unworkable. Even for a POC. I can't even explore the scope of built features with excitement because these issues make it super frustrating, makes me wanna give up immediatelly.

    Misc:

    6. I expected snap to grid; looking for the option but there's no app menu; 7. Adding icons successively stacks them on top of eachother, which is adds repositioning overhead; 8. Very easy to wrongfuly scale small items while attempting to move them; 9. I'm seeing at least 250ms of lag for openning sidebars and getting visual focus feedback;

    This last one is tough feedback, please don't take it personally. I want to join the waitlist for notifications of more mature versions. But since you shipped publicly too early, it makes me question if it's worth and the team behind it can actually deliver up to my expectations. In other words, I feel like it jumped the gun. Bad first impresssion for a technical audience.

    The bar for minimal UX polish nowadays is very high, all the fundamentals have to be solid, I would gladly trade a thousand features for these solid fundamentals. That's my expectation of a POC: low on features, high on polish.

    If it's any conforting, consider that the only reason I bothered to test it and write this feedback (in a rest day with very acute right hand tendinitis) is because I think it's a very cool project idea.

  • by zelos on 10/18/24, 3:27 PM

    Nice. Kind of like Jef Raskin suggested in The Humane Interface?

    https://en.wikipedia.org/wiki/Archy_(software)#Zoomworld

  • by wishawa on 10/19/24, 4:26 AM

    Also check out [Eaglemode](https://eaglemode.sourceforge.net/)!
  • by dr_kiszonka on 10/19/24, 5:16 AM

    It looks neat. One aspect that I didn't quite get from the clips was accessing "distant" documents. Let's say I work with two files. One file on the very surface and another a few levels deeper. Do I need to zoom in and zoom out all the time to compare the documents? In other words, is there an equivalent of two windows opened next to each other, even if the documents come from two very different locations?
  • by j0d1 on 10/18/24, 2:21 PM

    That's really cool! I am working on a diagramming editor and I wondered if I could expand the use cases to include knowledge organization. The challenge is mainly to display a lot of data on a canvas and don't kill the CPU/GPU in the process. How do you handle displaying that much information at once?
  • by seltzered_ on 10/18/24, 6:45 PM

    Worth noting an old school mac-only app in this vein is Tinderbox: https://youtu.be/bSYy6uK94Lw

    Neat to see someone attempting a cross-platform approach!

  • by ttoinou on 10/18/24, 10:02 PM

    Seems nice, but why would we need synchronization between devices ? if the layout is stored in that hidden file, it will be synced with any sync tool like dropbox, google drive etc.
  • by oulipo on 10/18/24, 1:10 PM

    Really cool! This would be a nice integration with Obsidian if you had an open / textual format (and possibly open-source it!)
  • by mqoca on 10/18/24, 5:43 PM

    Any reason why this needs admin rights in windows?
  • by SuperHeavy256 on 10/18/24, 3:54 PM

    You're onto gold here, my friend.
  • by tcper on 10/19/24, 2:49 PM

    Great idea, it is very inspiration
  • by puppycodes on 10/18/24, 10:11 PM

    I love this idea but its a mistake not to open source it. Especially at an early stage the feedback and work from dedicated contributors is worth it. Not to be rude or presume but I venture to guess nothing in your source code is actually of proprietary value as the app is pretty simple and I think thats a good thing! You only lose by closing the source at this stage of the game.