Experimental web browser optimized for rabbit-holing

(szymonkaliski.com)

193 points | by cernocky 2 days ago

32 comments

  • 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.

  • felipesabino 2 days ago
    This is pretty neat!

    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....

    • 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.

    • 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.

  • gmurphy 2 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

  • 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.

  • 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.

    • 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... :|

    • 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.

    • 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.
    • sumnole 2 days ago
      Offload tabs to OneTab when the amount is overwhelming.
    • smrtinsert 2 days ago
      I prune mercilessly. I currently use chrome grouping as the main way to reduce tab spam
  • NeroVanbierv 2 days ago
    While writing my thesis, I made a similar thing as a chrome extension.

    It kept track of all tab opens & showed it in a node structure.

    Screenshot: https://github.com/Taborniki/node-search/blob/pre-alfa/demo....

  • 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.

  • 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.

    • 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.
    • berkes 2 days ago
      How does this related to "AI"?
  • 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.

  • 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!

  • 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!

  • ashkankiani 2 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
  • 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.
  • 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?
  • 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.

  • 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...

  • 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.

  • jeffhuys 2 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

  • K0IN 2 days ago
    i need this as a chrome plugin asap :)

    It looks really cool and clean!

  • maverick74 2 days ago
    Amazing!!!

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

  • xrisk 2 days ago
    Needs a 2021 tag.
  • laurentlassalle 2 days ago
    How does it compare to horse browser?
  • snshn 2 days ago
    I use Firefox with Tree Tabs extension for that.
    • 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.
    • 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.
  • DaanDL 2 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.
  • smrtinsert 2 days ago
    I've been wanting something like this for a while now. Very cool idea!
  • 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.
  • qwertox 2 days ago
    (2021)
  • dwayne_dibley 2 days ago
    Love this idea.
  • baq 2 days ago
    I mean this is amazing if panes on the left are what the back button history is!
  • anougaret 2 days ago
    [dead]