berkes 2 days ago

Slightly unrelated:

> As an aside, I also use this technique for navigating code with Vim, where a single shortcut goes to a definition of a function in a new pane

I was intrigued by this, and searched the author's github for their .vim. This is how they do that:

nnoremap gF <c-w>vgF

https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...

and

nnoremap <silent>gD :call CocActionAsync('jumpDefinition', 'vsplit')<cr>

https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...

---

Edit: This is what I ended up with, lua, nvim: `buf_set_keymap('n', 'gds', '<c-w>v<cmd>lua vim.lsp.buf.definition()<CR>', opts)`

I made it a different map from the normal gd, so that I can choose to open in a new split or just jump to the one in my current window - I don't want a new split if e.g. a variable is define just 20 lines above my current one.

  • bee_rider 2 days ago

    For any vim feature we can think of, somebody has implemented it. So I say this knowing that I’ve almost certainly just not seen it yet. But, it would be sort of nice if there was a key combo that basically said “just bring me to this definition if moving there would still leave some of the currently visible text on my screen (so I’m not jumping out of my current context and getting lost), but if it is any further of a jump, open a split”

  • hellojebus 2 days ago

    this is great, added this to my nvim config. But changed it to 'gv' as 'gds' added a little bit of lag when I wanted to use 'gd'.

felipesabino 2 days ago

This is pretty neat!

And I strongly suggest that you contact Kay Xu <Kai.Xu@nottingham.ac.uk>, who is doing research on sensemaking [1] [2] and berrypicking [3], I think he is currently working on newer and better version of his approach with browser extensions (as opposed to a separate renderer), and you both would benefit from collaboration.

[1] https://vis4sense.github.io/sensemap/paper.pdf

[2] https://vis4sense.github.io/sensemap/

[3] https://web.archive.org/web/20080112091521/http://www.gseis....

  • arromatic 2 days ago

    No FF support :(

    Also [The old version of SenseMap is no longer being maintained. A new version called HistoryMap is currently under development ] > site is dead .

    • felipesabino 2 days ago

      As I mentioned, it is a research project, so I would not expect production ready code or multi-browser support. They are indeed not supporting the old version, as they are rewriting almost everything from scratch.

      Last time I had contact with them, they were exploring using Plasmo [1] as building block for the extension, instead of doing everything vanilla as they did in the 1st version, which would offer cross-browser support out of the box.

      But meanwhile, you can check the code [2] and add the FF manifest yourself to try it out.

      [1] https://github.com/PlasmoHQ/plasmo

      [2] https://github.com/Vis4Sense/HistoryMap

kristopolous 2 days ago

I made something like this over 20 years ago.

It also had full text searching of the contents of the page and also worked as a browser history.

I used it for a few years.

The real solution I saw in a roomful of butcher paper tucked in cabinets in the basement of a really dedicated guy who had a learning disability. He went through textbooks and had to come up with his own special syntax in order to comprehend the text by rearranging the contents on these giant rolls effectively making a hybrid between a mind map and a zui.

He had a "linking" idea that involved an indexing system where you'd get another roll of paper out of the cabinet earmarked with labels and then unrolled it to the "linked" region. Then he'd fold it back on a table and have them both side by side.

The general applicability was immediately apparent. I worked on it as a new way to browse the web over 10 years ago for a few months but then didn't stick with it.

I keep telling myself I'll work more on it but you know, anxiety and depression sucks. You can even use llms to do smart ontological labeling now.

The pieces are right fucking there. All I need to do is pick them up.

  • jacknews 2 days ago

    You can also pin papers, photos, notes, etc to the wall or a giant pinboard, and then use red string and thumb tacks to link related items, etc.

    • kristopolous 2 days ago

      Doesn't really work. The fidelity of the links is low. It needs to have an expressed ontology. It's a geometric and spacial language as bucky fuller wrote about. It's an extension of the written word that incorporates a semantic geometry.

      This only sounds wacky because it's new. Let's put it this way. Our rules for the written word doesn't really go high up in the abstraction. In English we have a character set that serves as phonetic and a bit of a fuzzy etymology history and that's it.

      We don't arrange the words in space differently depending on the expressed intent. There's no squares, circles or triangles that the words enfold upon. Lines or arrows are not part of the writing system.

      But if you look at how students take notes, you'll invariably find many invent their own extensions to accommodate for this oversight. Shapes, colors, squiggles, and other affectations carry semantic weight. It's been invented and reinvented millions of times.

      I've asked people whenever I see it in the past 10 years or so and almost nobody realizes they invented their own system. They are just doing "what makes sense to them". And there's lots of commonalities. People reinvent the same things.

      Semiotics is a natural tool of expression, comprehension and understanding. The wall between it and the written word is an artificial construct that people naturally ignore in their personal writings. I hear people think others won't be able to understand their notes - it's just for them. You'd be surprised how universal these linguistic extensions actually are.

      This interaction is an important tool in expressing the natures of corpi transclusions on the project we call the web. We've got the pixels to do it now. Let's go!

      Anyways. I'm sure this reads like I'm a nutjob. And yes, I've talked to Ted Nelson about this. He doesn't seem to get it. My email is in my profile if you're interested.

      The most important aspect to succeeding here is keeping it open, collaborative and free. The organizational structure has to mirror the desired organization of the output as Conway put it about 60 years ago.

  • skavi 2 days ago

    Could you explain the linking system in another way? it’s not quite clicking for me.

    What does it mean to unroll the earmarked “indexing” roll to the linked region?

  • deepnet 2 days ago

    I am intrigued. Please can you link to more about your project and its inspiration. Or write on it, do you have a blog or social to follow ?

    Sounds great, please so more - and tell others.

    • kristopolous 2 days ago

      I've gotten quite a bit of positive feedback when I describe it. My previous solution was some heuristic system based on regexs with weights as super-parameters and the Wikipedia corpus. It was not amazing.

      I think some kind of automated OWL system using all the modern magic that huggingface has to offer will produce better than trash results and is the way to go.

      We're really just tokenizing and lexing here and it's just a matter of putting in the hours and getting people on board.

      Some of my general problem is I don't care about money. I'm in this field to build a better future, not so I could personally live extravagantly. Benevolence, however, is not how society is organized.

  • precompute 11 hours ago

    That sounds like Zettelkasten + Transclusion.

projektfu 2 days ago

"I shared a preview on Twitter, to a surprisingly overwhelming response, but I got distracted with other things and never got back to the project".

Creates rabbit-holing browser, gets distracted....

All jokes aside, the description of the Vim functionality reminds me of the Whisper browser for Squeak, that had something of a depth-oriented SmalltalkBrowser to avoid the inevitable proliferation of windows in the normal course of things. Interesting that enough functionality for reorienting source browsing like that in Vim is about two lines of config. But, of course, the Whisper browser had stacking of things as well as sideways browsing, and new UI.

gmurphy 3 days ago

This is sweet! When we made Chrome some of us (OK only me) were enamoured with an IE shell browser named iRider - it had tree style tabs and pinning, so was useful in very similar ways

IIRC one of the things they did well that could work here is batch control of tabs by dragging across them - you could click on a close or pin button, then drag vertically across other tabs to apply that action - it made handling the glut ever-spawning tabs very easy

  • whiplash451 2 days ago

    I’ll use this comment to congratulate you and thank you and your team for your amazing work on chrome.

    - a happy chrome user

  • keepamovin 2 days ago

    I would like to add this horizontal historying to our "virtualized Chrome" (chrome as a client server app) BrowserBox, and its SaaS, CloudTabs. https://browse.cloudtabs.net

Yoric 2 days ago

Looks like the stuff of dreams and nightmares for a ADHD user.

Am I the only one who regularly ends up a browsing session with 300 tabs? This feels like a feature I'd overuse, and which would only make my life much worse.

  • cloverich 2 days ago

    I recently discovered the working memory component of ADHD and it became somewhat of a transformative moment for me. It helped me realize that clearing my plate was the most important activity I could do on any given day, because it created the space I needed to focus, and reduced the strain I felt in a day. It has taken time but I've now found when I look at tabs (or screenshots or whatever clutter) and think not about what I'll save or lose, but about how much more I will do if I don't have the clutter, I start to see it not as something lost but something gained, and it has helped. It doesn't always work, but sometimes it does, and its amazing on those days.

    • jasomill a day ago

      Agreed, but even more so, to the extent that I try to do this "plate-clearing" early and often, in between tasks over the course of a single day, and somewhat obsessively close both browser tabs and desktop windows.

      This doesn't mean that more comprehensive browser (and more general desktop) session management tools couldn't be useful!

      As it stands, for long-running tasks that necessarily need to be interrupted, I tend to use task-specific VMs, which is wasteful in cases where no background processing is involved.

      For example, it'd be useful to extend browsers' (and certain other applications, including macOS applications by UI convention) save/restore state on application quit/restart features to allow multiple state instances to be saved/restored (while still allowing usefully global state to be shared, unlike, e.g., Firefox profiles).

      Now imagine the same thing, but across applications and integrated with the desktop environment as, e.g., named, persistent virtual desktop sets.

      • yownie 7 hours ago

        I've been dreaming of this exact idea for a decade. Task specific workspaces.

  • wpietri 2 days ago

    For me tab accumulation is often related to fear of loss, sort of a digital hoarding of things that I might need someday. So it's possible I'd be better here knowing that my history was always there.

    I think it would be even more helpful if I could easily tag things along the way, and then quickly search both my tags and content of seen pages. Confidence I could find something again would make it easier for me to close tabs.

    For what it's worth, as a fellow ADHD person, these days I regularly go on tab-closing sweeps (generally at some related event, like starting or stopping work for the day or when starting or finishing a task). I try to have one window per ongoing task, and then find places for the other tabs. E.g., if a task represents or is related to a possible to-do, I'll put in in my kanban board. If it's a to-read, it goes to instapaper. If I just thought it was interesting and might want it again, I'll put a line in my LogSeq journal with a short description. The general theory being that if I'm not just hoarding, the I'm saving a tab for a reason, so I should articulate the reason and put the tab somewhere I'll find it again when the the time is right.

  • berkes 2 days ago

    I had exactly the same. I need something to keep me on track. Or, at least something that signals me "headsup! you are rabbit-holing" rather than encouraging me to rabbit-hole.

    OTOH, being able to quickly go back to the junction where I left the path I was supposed to follow, is invaluable too.

    In vim, I also never got my head around the undo-branching feature. I understand it, but fail to use it in practice. I guess my ADHD brain can handle linear history better than a branching history.

  • sumnole 2 days ago

    Offload tabs to OneTab when the amount is overwhelming.

  • dmvdoug 2 days ago

    I regularly have to declare tab bankruptcy. By which I mean I bookmark the several hundred still-open tabs in a folder named after the date of said declaration.

    …you know, in case I, uh, want to continue to work through them some other day... :|

    • pjerem 2 days ago

      Isn’t that the history feature ? :)

      • Dylan16807 2 days ago

        Well chrome only stores history for 90 days. And firefox has some mystery algorithm if you don't override it. But even if that gets fixed, raw history is a horrible mess compared to saving just the tabs that stayed open.

        Also a bookmark folder is itself inferior to actually saving tabs with the per-tab history intact.

  • t_mahmood 2 days ago

    I was thinking, this would be really useful for doing research. But you remind me, I also have 400+ tabs open in my browser right now without any chance of going down, and how this going to spiral out of control.

  • anthk 2 days ago

    For ADHD you'd love offpunk. It's an offline Gemini, Gopher and minimal web browser.

    You add bookmarks/RSS feeds or whatever, run

           offpunk --sync
    
    and then

           offpunk
    
    Finally you type down

           tour  (or t) 
    
    at the prompt and then keep pressing (t) until you finish all the blogs/news sites and such. The site is read with the space bar. If you want to read again, type down 'less', and you can enter the number of the links to access them. To go back, press 'b'.

    Everything is kept offline for further usage.

    URL https://sr.ht/~lioploum/offpunk/

  • smrtinsert 2 days ago

    I prune mercilessly. I currently use chrome grouping as the main way to reduce tab spam

  • hnadhdthrow123 2 days ago

    adhd, end up in a lot of rabit holes. Had 1500 tabs once. (It's possible to have these many tabs open)

    • Yoric 6 hours ago

      I worked on Firefox to make sure that it kept working (and in particular starting up and closing) when you reached several thousand tabs :)

      Might not have been a good idea in the end :)

    • precompute 11 hours ago

      4000+ here, I don't even bother pruning them anymore, I just switch browser profiles. I've got about 4 4000+ profiles.

      Excessive? Yep.

sigtstp 2 days ago

Interesting! Some overlap with these Firefox add-ons:

- Tree Style Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... (more simplistic, no session saving functionality)

- Tree Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-tabs (more complex, can also save sessions, but incompatible with some other add-ons and not evaluated for security by Mozilla)

Neither rearrange tabs in the window, just offer an alternate tree listing of open tabs.

  • ta988 2 days ago

    Sideberry is a more advanced version of those.

  • Izkata 2 days ago

    Firefox did have an addon to show tabs in a grid in the same window, but it died along with XUL.

  • johnofthesea 2 days ago

    Wish there was also something with Miller columns.

  • minhaz23 2 days ago

    i’ve only ever seen foxytab rearrange tabs in the window

Kydlaw 2 days ago

Everybody is talking about the existential risk posed by AI but this guys release this tool in the wild without any rail guards... concerning, really.

A bit more seriously, it can be really useful to have a graph of ArXiv tabs instead of a linear range of tabs, this can be very handy when doing a dive in scientific literature.

  • berkes 2 days ago

    How does this related to "AI"?

    • wpietri 2 days ago

      The joke is that this tool is compelling enough that people might die from it.

  • forgotpwd16 2 days ago

    Graph approach can be extended to entire web browsing. From page A, you open page B, but you also open page B, from page C. Tree-style browsing will result in opening/seeing page B twice and also not (easily) seeing that came to B from both A and C.

alexpotato 2 days ago

Best line ever from a post about someone who built a browser optimized for rabbit-holing:

   I shared a preview on Twitter ↗, to a surprisingly overwhelming response, but I got distracted with other things and never got back to the project.
foul 2 days ago

>Yes, it's sometimes good to know how you ended up somewhere, but I think what's most valuable about "research" is the synthesis part — grabbing parts of larger wholes, rearranging, recombining, thinking with the material. A small step in this direction could be persisting scroll position or maybe selection, and making the history editable — allowing users to remove dead ends, add notes, etc.

I need to know how this guy will escape the curse of reimplementing a less-VR version of XanaduSpace over HTTPS. Will search his RSS.

underlines 2 days ago

I specifically just switched back from chrome to Firefox after about 10 years, because there were still no native hierarchical tab solutions in chrome.

FF + sideberry for every day use and rabbit holing.

est 2 days ago

yes bring us back proper "hypertext".

A browser should behave just like browsing documents, we can go back and forth, each "view" should be cachable and savable, not the 20MB main.min.js SPA crap!

gillesjacobs 2 days ago

The parallel browsing has strong resemblance to Xanadu from Ted Nelson's, which was a proposed web protocol and browser.

But I am vague about Xanadu's browser as I only seen it as a brief flash in Werner Herzog's Lo and Behold, Reveries of the Connected World.

btbuildem 2 days ago

I've been using Gingko Writer [1] since it was "gingkoapp" -- it's similar in how information is structured (hierarchical vs linear), but focused on creating, not consuming. The tool permits a rather free-flow approach to compiling things in various scopes [2], and can render a final linear work product from it.

OP's browser and gingko mashed up together would be the perfect thing -- find/explore/learn, annotate, synthesize, organize, and combine into a finished thing, be it a reference or a proof.

1: https://gingkowriter.com/

2: https://vimeo.com/639232763

bloopernova 2 days ago

I really would like to implement that multiple panes feature into Emacs, that "column-mode" could be interesting for code browsing.

And a column mode for Tree Style Tabs in Firefox (or Orion/Servo/etc)

unsigner 2 days ago

This is also how search in IDEs should work.

Each new search term should open a new results panel, with space for the source code on top, and a list of hits at the bottom. Results panels are in an infinite horizontal row.

semo 16 hours ago

Similarly Sidebery has been immensely useful for my browsing / work flows.

alfanick 2 days ago

This brings back memories. Szymon is/was also active in minimal/experimental music scene [0] back in the days. I think in my hometown (Poznan, Poland) back those 10-15 years ago, there was some self-made small art-hacker community. Great to see his work again!

[0]: https://flic.kr/p/9jz4Gh

amadeusw 2 days ago

This is great, I appreciate the ability to save and restore the "trails".

Similarly to OP and many other like-minded commenters, I've also built an interface for rabbit-holing [0]. This is a 10 year old, purely JS+CSS solution you can open in your browser. It's limited to Wikipedia and its UI seems broken after Wikipedia's style updates, but nevertheless wanted to share the source code [1] for anyone who's interested

[0] https://amadeusw.com/WikiDive/ [1] https://github.com/AmadeusW/WikiDive

082349872349872 2 days ago

As a "Watership Down" fan, if I were ever go down the rabbit-holing rabbit hole, I'd be tempted to name the resulting tool "flayrah" (or maybe "Rabscuttle").

But in the meantime (my current rabbit holing technology being a text file in a side window), I'm more than happy to try out everyone else's!

ashkankiani 3 days ago

I had this exact idea and I've described it to colleagues before. Fun to see parallel evolution. It feels like a simple concept that should already exist, so I'm surprised it's not more commonly attempted. But you're missing a few of the features that I came up with that build on the initial idea. I haven't gotten around to implementing it yet, but it's on my todo list for this year/next year.

I was planning to build it with ultralig.ht, but I'm not 100% sure if it's ready for it. But since most of the content I'm interested in for research is textual/reader mode, and the rest can be viewed with yt-dlp, I think it can render them and it seems the lightest weight. Otherwise it's webkit or servo that I could think of for this.

Good to know there's interest in this.

  • anougaret 2 days ago

    would be curious to know what other features you thought about

Nevermark a day ago

This is a little like I a features I wish macOS spaces or Vision Pro screen arrangements provided.

To be able to group, name, save, browse and retrieve multi-space/screen contexts.

I would end up with some projects I open and close frequently. And a growing list of started projects, which would be much more likely to continue for being so easy to resume.

Not being able to put away and resume contexts (of any kind) is a significant cognitive and productivity impediment.

A separate do-undo chain or tree for context edits, in addition to content, would be nice too. I.e. see a context history of what windows I closed, to quickly reopen something.

Seeing a lot of this in a browser is inspiring.

noisy_boy 2 days ago

I raised the feature of side by side panes as something desirable in Firefox and got pushback in replies[0] proclaiming people couldn't imagine why anyone would want it / that it was solely a domain of the DE. Happy to see that someone figured out that it did make sense.

[0]: https://news.ycombinator.com/context?id=40786937

forgotpwd16 2 days ago

Looks similar to TST extension. Actually not sure what the difference is. Even the outline is available in TST. Based on first screenshot more design-y?

madrox 2 days ago

Lately, I've been thinking about how you might bring notebooks to web browsing...something that would make it easier for an LLM to interact with your browsing and thought process. This was timely because it got me thinking more about how what I'm thinking of relates to rabbit-holing.

matltc 2 days ago

Cool, thanks for sharing.

Been using the grouping and pinning feature in chrome for a bit then saving the groups i care about to try to emulate this behavior, but still a long way off from ideal; the one dimension of tabs at the top level means the UI gets crowded quickly.

Had the tree-style tabs extension for a bit but didn't love its interface and found it to be more trouble than it was worth.

sourcepluck 2 days ago

I wonder if someone will implement this in Nyxt... it seems appropriate for such a browser.

  • anthk 2 days ago

    https://nyxt.atlas.engineer/article/global-history-tree.org

    Already done

    As Nyxt is for browsers what Emacs is for editors, you can put crazy stuff on it with very little.

    • sourcepluck 2 days ago

      I guess it does count... I knew about global-history-tree, but maybe the visualisation in the blog fooled me into thinking this was somehow a bit /different/. Maybe Nyxt could use some slick demo videos :)

danbruc 2 days ago

Is there a way to get this running without having to install the tool chain to build this? Is this an Electron app? Is Electron Fiddle [1] what I am looking for? Can I have Electron Fiddle in the browser?

[1] https://www.electronjs.org/fiddle

jeffhuys 3 days ago

Orion - Safari with support for FF/Chrome extensions (ALSO on iOS. For free), and has tree-style tabs if you enable it.

My browsing has become so much more enjoyable. Also, since it’s almost the same as Safari, great resource management, great gestures, great performance. Definitely recommended

deepnet 2 days ago

This is brilliant. I currently do this in org mode, pasting bookmarks in long indented trees of research.

This is that but next level, many thanks for sharing your work.

Following rabbit holes, if the trail is preserved, turns my ADHD from inconvenient distraction into a research superpower.

mikojan 2 days ago

You can do this in a generalized fashion using a paper WM and hitting shift+click on links.

xrisk 2 days ago

Needs a 2021 tag.

dbspin 2 days ago

This is exactly how the old OPML browsers used to work back in the web 2.0 era. Always thought it was a neat interface, although I'd keep content in one pane, scrollable back to previous windows.

solarkraft 2 days ago

We can definitely still innovate in the browser space - I quite like the history concept.

Firefox‘s history could definitely use a remake, I find it pretty close to useless currently.

mikewarot 2 days ago

This is the first time I've seen actual utility in being able to stuff a "web browser" in a pane of a GUI program developed in the language of your choice. The ability to take the metadata of browsing, the links, and especially the knowledge of the connections between clicked URLs, as the basis of a knowledge graph, is the closest I've seen someone come to the Memex[1] in a long time.

Add the ability to add notation, ratings, etc... to that knowledge in a structure, and I think you've got a winner.

Oh.. and store EVERYTHING required to show the page, or save a view of it that's independent of the live internet... that's the other key part of the Memex.

[1] https://www.theatlantic.com/magazine/archive/1945/07/as-we-m...

  • anthk 2 days ago

    Nyxt is that. A WebkitGTK4 window (commonly used by browsers like Surf, Luakit...) with a Common Lisp UI. The Common Lisp interface gives you suporpowers such as creating graphs on bookmarks to extract closely related information.

nihatemreyuksel 2 days ago

Love this idea! A browser tailored for wiki-style exploration would be amazing, especially for diving deep into interconnected topics.

emrah 2 days ago

Chrome apparently also keeps track of "trails" but i did not find the implementation particularly useful unfortunately

DaanDL 3 days ago

I love this idea, I've been using Arc Browser for a while now and it looks like this would be a very nice addition to that browser.

whitmank 2 days ago

I can't seem to get it to run, electron-webpack not found after npm install. 404 for electron github?

chankstein38 2 days ago

I would LOVE this on mobile! It's so hard to keep track of mobile tabs. Android would be nice!

wganger a day ago

I often wish that slack had this same feature

G_o_D 2 days ago

Isn't Chrome Journeys similiar feature that tracks which site you opened from which

laurentlassalle 2 days ago

How does it compare to horse browser?

  • ukuina 2 days ago

    I was going to suggest this. https://browser.horse is more feature-complete for daily usage.

    • davidcollantes 2 days ago

      Yes, but it costs $100 (currently on discount, original $200).

      • ukuina 2 days ago

        True, and it is perpetually "discounted". A free trial would be neat.

opem 2 days ago

I was just thinking about something like this yesterday XD

smrtinsert 2 days ago

I've been wanting something like this for a while now. Very cool idea!

maverick74 2 days ago

Amazing!!!

I want this in my regular browser (you ear me Mozilla && Servo devs?!)

satisfice 2 days ago

I followed the installation instructions and I just get errors.

deepsun 2 days ago

Curious why it cannot be an extension to an existing browser.

PS: awesome idea!

anougaret 2 days ago

I love this, I think there is the same problem with IDEs

snshn 2 days ago

I use Firefox with Tree Tabs extension for that.

  • nsonha 2 days ago

    What's with the TST comments in this thread, this thing has more in common with PaperWM than with TST. Maybe you people should read.

  • forgotpwd16 2 days ago

    Based on comments here either people don't know TST or don't actually care about this functionality beyond seeing it as interesting.

vfclists a day ago

On Firefox just use TreeStyleTabs and its companion addons, such as Copy This Tree To Clipboard

K0IN 2 days ago

i need this as a chrome plugin asap :)

It looks really cool and clean!

atx2bos 2 days ago

need this for LLM chatbots

baq 2 days ago

I mean this is amazing if panes on the left are what the back button history is!