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.
And I strongly suggest that you contact Kay Xu <[email protected]>, 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.
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.
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.
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.
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
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.
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.
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... :|
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.
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.
>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.
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.
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.
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.
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!
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!
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.
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.
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?
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.
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.
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.
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
> 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.
And I strongly suggest that you contact Kay Xu <[email protected]>, 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....
Also [The old version of SenseMap is no longer being maintained. A new version called HistoryMap is currently under development ] > site is dead .
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
[1] http://sensemap.io/
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.
Sounds great, please so more - and tell others.
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.
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
- a happy chrome user
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.
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.
…you know, in case I, uh, want to continue to work through them some other day... :|
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.
It kept track of all tab opens & showed it in a node structure.
Screenshot: https://github.com/Taborniki/node-search/blob/pre-alfa/demo....
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.
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.
FF + sideberry for every day use and rabbit holing.
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!
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!
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.
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.
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...
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.
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
It looks really cool and clean!
I want this in my regular browser (you ear me Mozilla && Servo devs?!)
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.