Boxing: an open-source new tab where bookmarks live in boxes on an infinite canvas (Apache-2.0)
I'm the author. Boxing turns the new tab into a canvas: big boxes hold small boxes, small boxes hold bookmarks, and you can drag, connect and zoom.
The part that might interest people here: every design call is written up as an ADR in the repo, including the ones I reversed. A free hue slider got replaced by 5 hand-tuned themes because it allowed ugly combos (ADR-0012). The font sizes all derive from one base value with an 11px floor (ADR-0019). WebDAV sync went from last-write-wins to a per-box three-way merge with a snapshot before anything gets overwritten (ADR-0009). There's also a contrast check in CI that fails the build if a clickable control relies on a too-faint border.
No analytics, no tracking. Data lives in browser storage; WebDAV or Gist backup is opt-in. Plain JS, Manifest V3, 14 languages, on the Firefox and Edge add-on stores.
https://github.com/Xxx91n/boxing
Happy to hear where the design or the code is wrong. Translation fixes are very welcome too.
11 replies
Despite being pretty universally anti-LLM the existence of your own ticket and change management system at least indicates that you've thought a lot about this.
Like others have said I wouldn't expect a great deal of community or outside contribution, it's LLM generated and, quality aside, that sort of thing rarely generates excitement from others. LLMs are atomizing like that.
But if this fits your use case than I'm happy for you. Maybe make some human commits? The idea of an infinite canvas tab bar is fun at the very least and reminds me of vxwm
What's an ADR?
Apparently "architecture decision records", I found that in
START-HERE.md- It looks to me like an internal ticket system.ADR = Architecture Decision Record. Not tickets, more like short notes, one per decision: what the problem was, what I picked, what I gave up. e.g. why there's no free hue slider anymore, or why boxes have zero shadow until you hover. Mostly so future me doesn't undo something I already argued with myself about. They're in docs/adr if you're curious.
Mostly so future LLMs don't undo something they already argued with themselves about.
This is very AI, but it also seems like one of those things that OP has probably been dwelling on in their head and made it just for themselves. This will be unpopular, but its not the worst thing.
I'd advise OP to be content being the only one to use it. Make it for yourself exactly as you would use it. Don't bother with design decision documentation no one will ever read or user config options that are irrelevant to anyone but you. Get the concept working as you imagine, stop, and see if you can try doing the next commit without the LLM.
Honestly this is exactly the kind of blunt feedback I was hoping for. It helps a lot, thanks.
I feel like this is over engineering. We are talking about bookmarks here. I don't get what the reason is to have this. Bookmarks can already be organized in folders and have tags and description.
Fair question. It started with Obsidian's canvas. I used it for bookmarks for a while and liked how it felt like tying a bunch of links together with string, kind of branching out like neurons. But I didn't want to open Obsidian every time, so I just built a canvas with drag and drop and connecting lines into the new tab page instead.
I see. Well that makes sense at least. I would recommend to leave that information in the README too, as it brings it into perspective.
Yeah, you're right, it should be in there. Honestly this makes me want to rework the README in general. Right now it reads a bit like a showcase, and it doesn't really say why the thing exists. I'll put the canvas / tied-together-links idea up front so people can tell quickly whether it's for them or not.
Also, I'm enjoying the vibe here. People just say what they think, which is what I wanted.