We’re focused on making a web browser for programmers to improve their workflow. It helps you look up docs and search information. You can toggle it on with a hotkey and it can overlay on your IDE. Tabs are grouped by domain for easy organization. The history data structure is a tree which shows how pages are back-linked to each other and to spatial workspaces. Both open tabs and pages in your workspaces are just pointers to a node in your history tree!
You can watch a 2 minute video walkthrough here https://www.loom.com/share/93c7c0012f514c37b58a42fa65badc88 or download it from our website
How did we end up here?
Initially we wanted to make a citation manager because myself and a friend had an unconnected workflow moving research articles from Chrome -> Zotero -> Emacs org-mode. After talking to some other PhDs/postdocs the takeaway was that everyone has very different ways of doing research. This would mean that it would be impossible to make a citation manager that everyone would want to use.
Later, a friend in industry mentioned that he had a hard time finding ‘cloud documents’ as part of his job. We then considered making a spotlight application to find and organize these documents. It turns out that this already been done and it seems that people actually just pull up their documents once at the beginning of the day anyway.
We now think that the main problem is that web browsers are actually not currently suited for doing research. The current mixing of research type browsing with web-documents creates a mess and makes people think they want a ‘cloud file search’.
Instead of an add-on solution to Chrome which would create more noise, we are creating a fully functioning, organized way of managing information overload and keeping you on task as you go through your work day.
We are fixing up our Linux and Windows versions for public use.
I hate that it's only for Mac so far, but glad to see others are on the way. I've been thinking about picking up a cheap older mac for development work, though, and this is one more reason in favor.
Will definitely have to give this a try when it makes its way to other operating systems.
You might find The Humane Representation of Thought by Bret Victor useful, where he demonstrates by example, how existing tools/software (generally speaking) doesn't utilize all the 'superpowers' that we acquired via evolution.
Edit - grammatical fixes
know you're referring to browser, but an OS - I think Oberon - had desktop as much larger than screen leading to ability to zoom around and create piles of windows
If you like visual layouts like the one offered then OK, but not me, I think it's distracting and unnecessary.
BTW the headline is blown af
It's always good to have more players in this game and to me what they are trying to do seems more approachable than the examples you showed.
I agree with your overall points but this but stood out to me because it's not clear if Bonsai uses its own rendering engine of it is just another reskin of Blink / Chromium. What we really need is more competition with browsers which use their own rendering engines. Or at the very least, more browsers using Gecko (Firefox). If this is another Chromium-based browser then it's still definitely good to see some new ideas in UI but we don't really see much other benefit having more players in the game.
What worries me the most is that this is closed source but presented as if it is open source. Their binaries are stored on Github but there's literally nothing in the repo aside a README (https://github.com/hyferg/bonsai-browser-public). This is of particular concern given the sensitive content that people use browsers for these days (banking, shopping, research on potentially sensitive topics, etc). It would be trivial for a malicious browser to do some real damage to people and there's no way to prove this browser's intentions are sincere given how little information (ie "none") is published about its developers or even the code.
I'm mainly using Firefox, but it's really becoming a resource hog and making my laptop fan spin more violently. I have a lot of tabs open.
But innovation in how to manage lots of tabs is welcome and this is what these guys seem to address too.
Our website got 1TB of traffic yesterday (which it turns out I have to pay for) and thats without hosting the binary on our site!
the message wasn't about me or you, it was about browser space
I'm confused why the thread got so much upvotes, and a lot of comments made me more confused. Not trying to be rude, but I don't really understand the usefulness ..
wat? I responded to this:
> this is the most innovative thing in the browser space for a long while
I simply mentioned how there have been some other browsers for a while that have an equivalent feature set, therefore this isn't so innovative.
The fucking snowflakes. Where every opinion must be cherished and never argued with.
Your tone makes it seem like you just want to toot your own horn and not like you want to actually have a conversation about the topic.
Maybe you could’ve said “there is this other application that I’ve been using that’s been out for a while and has innovated the browser in similar ways, check it out”
Do whatever you want, I just think you might promote healthier conversations if you don’t come across as pedantic. Unless you’re a troll or proud of your tone, either way, thanks for your time.
The big concern I would have if I were these guys is their magic is their UI, apparently, and they've given it away. If they truly have something good, it's some Electron windows inside a gui kit. Not to understate the work, but the work is ahead of them, too.
Visual organizational tools are very important to me. Even if I'm in the IDE and thinking in code, when I jump tot eh browser for something I want the experience to visual and low-friction, so I don't have to push brower things onto my mental stack, which will slow me down when I want to switch back to the IDE.
I'm very good at remembering where things are, I can pick up a book I haven't touched in months and remember the page I was on, or the last sentence I read to find my place with a few seconds. On the other hand, large scale sorting and rearranging tasks are miserable drudgery so I have a lot of stacks and my bookshelves are, ah, suboptimal.
That, combined with relatively small units of work (most of my kanban cards are in the 0.25-2.0 day range) means that I can just go on tab closing sprees frequently.
I ended up liking this approach because having a zillion open tabs introduces a subtle stress and anxiety that's sort of like when I visit a hoarder.
Sort of like when I'm being a hoarder, for me... :-( Gotta try and learn something like your approach. (I'll do that as soon as I can get around to it, i.e. when I'm done with all the procrastinating that's piling up on my to-do lists.)
On any Ubuntu/debian system this is pretty trivial try using apt install. You've i3 which is an old popular program with a big community. You use it with scripts like dmenu. It's definitely more of a "hacker" setup that your parents probably aren't going to want to use, but if what you are doing is focusing on a few documents, it's hard to beat. It's a lot more complete than floating single windows over your pane of code. The Bonsai implementation is slow in comparison.
There are lots of others like bspwm (even more hardcore), but my favorite anyone can use this tiling window manager is easily pop_os's from System76. When I have to use Windows or Mac and I don't have that functionality it is annoying.
This functionality really should just be built into the OS. The mac equivalent hacks have slowly gotten incorporated into official releases over the years (side by side windows), but they seem to pop up and then die, like Spectacle. If these guys want to do more than just browser documents, what they've got to build is essentially a cross platform tiling window manager. Not easy.
I think the closest you could come to hacking this together is with qtile (py) and you could get pretty close functionality wise.
I've been using Rectangle for ~1.5 years now, and it's been pretty stable and gets regular updates and patches.
* Why go fullscreen and modal? I want to drag in links from docs, email, other browsers, have it side by side while reading PDFs etc. etc. this stops me from doing any of that
* Please let me change the shortcut! I already have Option-Space bound.
* Let me put the browser window anywhere I want when it's in the single page non-fullscreen mode, don't levitate it to where you think I want it
* Unless I'm missing something the process of opening a page then adding it to a workspace seems to be three clicks - open page, hit + (plus) button, select workspace, select workspace/inbox - need to make this one click, maybe just show the inboxes? This also seems clunky, I'd much rather browse, drag that page to the workspace/inbox, continue browsing and adding further pages, then arrange all the pages in the workspace after i've added all the links. Seems a faster workflow.
I know this is asking a lot, but as an end user with an unlimited budget for big dreams, I'd like to see something like this as a fork of Firefox that eventually gets enough of its changes upstreamed so it can become just an extension for the browser I'm already running anyway.
Anyway, a little addendum:
> Why go fullscreen and modal?
And for when I want it full-screen and modal, at least do it right, please. E.g. it shows up in the cmd-tab task switcher, but that can't actually be used to switch to Bonsai, nor away from it (!!). And, again, it's too slow. (What's with the dramatic fade-out animation?)
Btw., you can drag a link on top of it (at least when option-space doesn't do something else already ;) and the cursor changes to identify a valid drop target, but when you drop, nothing happens.
I was sceptical from the article title, but was immediately sold on the idea when I saw it in action.
A good sign to me is that you have solved problems I didn’t realise I had. I like the floating window concept - can definitely see how that would be useful for having documentation front and centre while working on something. The spatial organisation thing is very nice too.
Looks like it’s early days still for the project but I think you’re onto something. Good luck with it!
The big thing I'm missing most is LastPass. Without access to my passwords, I can see myself falling back to Chrome. In fact, I need to keep Chrome running so I can look up my login names and passwords there in order to copy them over to Bonsai when I'm being asked to log in. If you could support popular password managers inside your browser, that would help a lot!
I think there's a huge untapped potential value for users in historical browsing activity that is just wasted by browsers today (well when they're not busy siphoning it off to advertisers). The standard browser history data and ui is so crap at mapping to your intuition about how to find some tab you had open recently that it's basically useless. It was modeled when the primary navigation in a browser was one window with no tabs and you clicked from site to site literally linearly, and this design has never been updated since. Now I have 2-4 windows, with dozens of tabs each, on 4 computing devices, where windows have been open for times ranging from 2 minutes to 2 months, where on each each tab I may switch to it or move it or close it or open new tabs from it at any time. And all that activity is reduced to a single linear 'history' where the order in which items appear is nonsensical no matter what sort order you use. Real browsing activity is no longer linear, modeling it as linear is hostile to the user.
Knowing that you've seen something before but you can't figure out when or how you got there because it's pointless to trawl through thousands of completely unrelated links in history is despair.
I want this browser to disregard all visual HTML and CSS rendering, and rather instrument a headless browser to gather the navigation and content from sites.
I want to be able to easily make my own instrumentation for sites that do not yet work on this browser.
I’m want to allow some branding in the form of one theme color, used for one top navigation bar background, and a site logo there. That’s it. Nothing else. But maybe make this easily customizable with the rest of the interface.
In effect, a ”reader mode” but for the entire browsing experience, not just the main content.
I was on the internet well before the web and I used Gopher all the time. It was great by the standards of the time (ie 1200 baud modems so a page of text like this HN discussion would easily take a minute or more to load and would probably do so with many errors). Gopher was (somewhat) integrated with two other services known as Archie and Veronica for content discovery. It was primitive, but relatively easy to navigate if you knew what you were looking for.
What we have here is a bunch of Gemini servers but no concept of user service. Are they blogs? aggregators? malware endpoints? interactive fiction/text adventures? I don't know, and that's not part of the fun. It's as if Gemini has fetishized the least good aspects of the BBS/Gopher/pre-web experience - lack of UI consistency and non-discoverability - in the hope of getting something better by forcing everyone to start over.
Nobody* has time for that. Harder doesn't automatically equal better. Gemini would be vastly improved if it presented with some color/minimal formatting (like syntax highlighting controlled at the user end or with typography for the color-blind)and seeded some useful information like mirroring Wikipedia or something that people are already familiar with. There are some Wikipedia proxies (gemini://medusae.space/index.gmi?25) but the only working one I know of is not listed (gemini://vault.transjovian.org).
This is Not Great.
* hyperbole is always an option
To change the world, there needs to be some critical mass of people using it, and to get people using it there needs to be some demonstration of what it's capable of. I want to love it. I have clients (plural) installed. But honestly, I don't want to invest the time figuring out how to make the server do interesting stuff, if I can't find anything very interesting to do with the client. Absent any effort to make it functional for one external thing, it's doomed to remain a toy, or an 'esoteric protocol' that everyone pays lip service to but nobody actually uses.
Here's a suggestion: get a gemini HN proxy running. It ought to be super easy given how minimal HN is, and would give people and excuse to have a Gemini browser running all the time.
The Gemini clients that I have seen do usually allow the user to change the colours, as far as I can tell. (This is usually better than the document specifying the colours, in my opinion.)
Gemini does have a write protocol (I think it is to change "gemini:" at the beginning of the request to "titan:", add some URI parameters for the size and MIME type of the data (I think it might have been better to put those things on the next line (I am not really sure), but well, now it is what it is), and then the data to be written starting on the next line). However, for some kind of things, other protocols would be better.
For interactive fiction/text adventures (or other interactive applications), Telnet/SSH will be better than Gemini, I think. For message forums, NNTP will be better.
Gemini does have the advantage that the file format is easily readable/writable even if only treated as plain text, you do not need a software to interpret it, but that you can also use a program to interpret it too if wanted and if you do then it is still simple.
I would also propose a unencrypted variant. The differences are: The URI scheme is "insecure-gemini" for the unencrypted variant, and 6x responses are not allowed (if a client certificate is needed, it should issue a 3x to redirect to the encrypted version and then the encrypted response will be 6x).
Otherwise it ends up like Brainfuck - impressively clever, but you wouldn't want to use it for anything. It could be great for education or in many other contexts, but it's important to show something.
What I've always found hilarious is how stone-age the comic these were obviously named for was already then, thirty years ago.
Supporting the Gemini protocol and text/gemini file format is also good to have, but that is separate.
Stuff such as a table of contents window can also be implemented (by looking for the relevant HTML commands in the document which denote headings, sections, etc). (I think I have seen one web browser that can do such a thing for Gemini and Markdown but not HTML. However, it would be possible to do with HTML too (although a bit more complicated).)
I mean that, to make a better web browser: remove half of the stuff, implement the other half of the stuff differently, and then add some stuff.
search(terms?: string) -> Promise<Item>
expandItem(itemId: string) -> Promise<Item> # gets more details for the given item (e.g. a thread) and any child items (e.g. messages within the thread)
One could build this for Gmail using https://inboxsdk.github.io/ , and other apps ranging from Slack to Google Calendar to Dropbox to your issue tracker du jour with screen scraping, treating each message or ticket or document as an item. Not an easy task as you'd be fighting against the current of rapidly-iterating frontend teams changing class names and structures as they see fit, but doable. The possibilities of how to collate and visualize this data would be endless!
So many webpages with text are better if you view them at about half-width, and I often end up being forced to leave full screen and manually set the browser width to do this anyway. If anyone knows of an addon or script that accomplishes this, I'm curious to know about it.
Option B, for when F9 doesn't work: Narrow down your browser to a strip of desired width down the centre of the screen, keep a maximized blank window -- text editor with a new empty file, or something -- behind it.
Open protocols and techniques that enable effortless parsing of information serve a growing need for users of the web today. While I’m not sure if it will be gopher or something new, I foresee significant disruption potential for whatever effectively fills this need at scale.
User styles vs site styles. Either or both could be on or off.
Is it out of the question for a lot of these feature to exist as a plugin to an existing browser? Bonsai could then be integrated to use my search engines prefs, my ad blockers, etc.
Keep up the good work! It is great to see people pushing UI concepts.
Let me know what tilingwm you use (just comment i’ll check later) ,
I’ll try to find a tutorial to help with it.
You can already do this with firefox and chrome , just need a bit of scripting
Also, I once set up KDE 4 to put different apps into tabs of a single window. I'm not sure if KDE 5 can still do that, but it sounds like something that you would be interested in.
> now that I have a nice powerful machine.
Is it possible to have nested subfolders?
This could be for browsers (tabs in [project] in [work]). Also in spreadsheets (Excel Sheets inside folders - anyone from Microsoft here?). Also in music (iTunes has playlist folders!). Also in Contacts (people in [social group] in [country]).
The way I imagine the user interface is similar to existing tabs or bookmarks, but with a drop-down menu, and to be able to easily access all sub-items by clicking the folder.
If there are pages on the website with answers to these questions and more, please share those. If not, please document these on the website.
This very much looks like someone's hobby project -- which is fine -- but without the source code and given the sensitive stuff we all do web browsers these days, I'm not willing to trust a random developer that their closed hobby project is safe to use.
Yes, I did notice the comment about a Windows and Linux version coming. I'll check out the Bonsai Browser when the Linux version is available. I suggest that the developers post on HN again to announce when the other versions are available.
You’ve got me thinking…
I have a few questions:
1. Did you code the engine from scratch, or is it based on Chromium or Gecko or something?
2. What's your sustainability, e.g., monetization, plan for the browser?
3. Do you have any estimate on how long until I can `apt install bonsai-browser` from an official distro repository?
> Did you code the engine from scratch…
> What's your sustainability…
I really like the JetBrains perpetual fallback license so something like that at a price point of $50 makes sense. If we can provide some useful paid services that run on a server then we could make the browser free.
> Do you have any estimate on how long…
I’ll look into it! If it’s no harder than signing/notarizing the app for macOS distribution then the main work to be done is fix some bugs and make sure the windows play nicely with the host OS. This could be done in less than a month from now!
As someone with extreme ADHD, this has made my life so much easier and reduced my tab clutter.
I love how this is so hot-key rich, I think like everyone else has kind of mentioned I wish we had chrome extensions, last pass, editthiscookie etc. It's the pro vs con of going extension vs full blown browser.
One of the other hurdles I've encountered is restricted installs by internal companies due to "security" reasons.
I am gonna be giving this a go for the next few days and see how I adapt to it.
Seriously love the fact this is becoming a focus for people.
I'm not even diagnosed with ADHD and I'm still tired that I have to spent time configuring things to fix a user experience more aligned with the company behind the browser than my needs. And I only covered the things I am allowed to touch with a little googling, not the ones I just have to accept as inevitable.
A browser that helps me go straight into what I want? Sign me up!
Honestly, it’s all so exhausting I’m just so damn tired. You can’t even buy an OS anymore that isn’t loaded to the brim with bloat and spyware—provided BY THE MANUFACTURER nonetheless.
Honestly, once Windows ten is end Of life I’m done with tech industry.
I’ll go to the library and read some books; I’ll use a pen/pencil; I’ll wander, blissfully into the sunset.
And let me just say: God help those who frequent TikTok… Their minds will be mush 2.0.
1. An extension like Tree Style Tabs, but in a dedicated tab, which is pinned to the first tab, so easily accessible with `Alt+1`.
2. A keyboard shortcut for detaching the tab (via something like Tridactyl) and then resizing it using a tiling window manager.
2 is easy to achieve, if 1 does not yet exist in some form I might build it someday.
In general similar setups are not uncommon on Linux with tiling window managers. Probably the reason this app is available for Mac only. :)
Setting up a nice environment takes time, it doesn't come out of the box. So it is good to see people trying to come up with ready solutions.
Years ago I built a chrome extension tab manager that had some of the same features- fuzzy search, spatial grouping, tree history. I built it for my own use because I usually have too many tabs open and need some kind of principle of organizing the tabs I have open. I couldn’t get far enough on the browser extension for it to work well for me, so I just gave up on organizing my browser. Now I’m just scared to ever close all my tabs for fear of losing some train of thought.
My main question is what's your businesses model? You monetization plan?
prove the browser is something people want for free
Show HN: https://news.ycombinator.com/item?id=26957215
This marketing pitch does not ring true to me.
I think the founders can do better. The bar, in my view, would be a phrase that embodies the product without stretching credibility. In other words, the current phrase sets expectations too high relative to the product.
Feedback and ideas:
1) On macOS Catalina - can't Cmd+Tab out of full-screen.
2) Bookmarks import.
3) Search somewhere other than Google. Would love to be able to define a set of URLs to hit, instead of being limited to https://www.google.com/search?q=...
4) Search within pages. In addition to search engines. So if I export my bookmarks to an HTML file, I could search that file. Or if I could search within local documentation that's not online.
5) Collab workspaces. A team could share a workspace that defines the same search engines and documents.
6) Window size other than fullscreen.
Two quick things:
1. I don't think there's gesture support for the mac touchpad or a ton of keybindings. Adding those would be great b/c I try to avoid the mouse :) and it's easier on Chrome for the moment.
2. Do you guys have some kind of social presence we can follow to track your progress ? Could def see myself buying this in the future. EDIT: Checked out your site again and saw your discord.
A must however is support for password managers (bitwarden in my case).
I also very much like that you made a complete browser instead of a chrome plugin. It allows you to rethink navigation and organization in a much less restricted way and I think it shows.
Curious to see more in the future.
I think this will be great once you have added some more features.
¹requires configuration (under "Special Files and Screens", set "Visited Pages" to "As Visit Tree")
Why an entirely new browser?
If you want something more polish, a firefox add on or some OS service would be less work and benefit from the ecosystem.
Or is it a case of FTP vs Dropbox and I'm nerding out?
The rest of the UI looks really nice from the screenshots but the blocks of colours stood out to me too.
Anyway, as someone who has used all kind of flavors of grouping in firefox (and still is using it with tree style tabs now), I can say that grouping is nice, but on the long run not nice enough. It helps to organize your mess, but the lack of effortless integration into something outside your browser is a real problem for serious work.
Maybe MacOS can offer some ways there, I remember in the past they had good options via applescript.
(Side note: "SigmaOS" initially made me think it'd be an operating system. And "Bonsai Browser" reminds me a tiny bit of everyone's favorite purple monkey helper/[ad|spy]ware, Bonzi Buddy. Especially with the top of the page landing page saying things like "Use a hotkey to make bonsai appear anywhere". I don't actually think anyone would ever possibly confuse the two, but just an amusing thing that came to mind.)
- it would be nice to not have to use Google for search.
The other killer feature of Bonsai - grouping tabs - is far better done by Tree Style Tabs in firefox.
The only thing that I found missing was the lack of gesture support.
Also, the ability to grey out links to domains I’ve decided I never want to visit.
Cool idea, however.
I know probably some feel this is trivial and not as important somehow as the idea / execution but to me it's critical that something is beautiful as well as functional. In this particular instance, it isn't even anything terribly hard - just pushing some spacing around, font sizes, making sure there are consistencies between UI elements, etc.
Sorry to be That Guy.
There are a bunch of clones, however. The format has become somewhat of a standard.
Obviously Bonsai seems to do this a lot slicker. If it was FOSS and available outside of macOS I'd definitely consider trying this out.
I would use it specifically for programming or my security engineering work. Do y’all envision the product being used to fill this specific research niche? Or do you intend to create a browser to replace chrome/ff/safari?
FYI the window title bar text is still set to "Hello Electron React"
Love the concept and from the demo it looks well executed, defintely will try when I hop on a mac.
What does not go away is the need for a flexible and low friction way to collect and organize things like journal articles. Some sort of mental ontology about your field replaces the need for actually writing lots of stuff day to day.
the whole reason I use linux and gnome is because it's easy to pin window on top for this exact reason, (plus some other tweaks). You've captured how I ( and perhaps many) do work really well.
Looks awesome and has huge potential. Hurry up with the Linux build.
It's about time for a browser akin to, you know, a desktop. What an inspiring project
I'd love to follow the project and try it on linux when that comes.
How does this handle multiple desktops in Mac OS X?
Give this thing a slick UX pass and it'll be a pretty nice tool I could actually see myself using.
Also dark mode is a must.
Very glad to be reading that, would be glad to help with testing, as well.
Congrats on shipping, will be monitoring this one!
What I'm starting to realize is that the answer to this probably isn't just to try and add extension support to Electron or to get every project to reimplement webExtensions. Reimplementations are likely to have errors anyway. I'm slowly starting to realize that this is likely the wrong way to solve the extension problem.
Instead what I think is needed here is some kind of shared base for handling network connections, extensions, privacy, and adblocking. Honestly, it doesn't necessarily even need to be a graphical browser, these projects don't have a problem rendering content or embedding a V8 engine. What they need is some kind shared, trusted utility that they can all use to hook into that would almost act like a MITM between the page and them.
Am I off base with this? There's so much talk about how browsers are wildly complicated and that makes it hard to build new ones. But the showstoppers for me with indie browsers rarely have anything at all to do with web compatibility or what engine they're using. That's not really the part that I feel like is missing. I almost wonder if it would be possible to hook something up to headless Firefox as a middleperson so that Firefox could at least do some work with forcing DoS, running pages through uBlock Origin, quarantining storage, etc...
Matrix has sort of tried to work in this direction with some of their clients. Stuff like E2E encryption isn't recommended to build yourself -- Matrix tries to provide a service you can link with whatever your custom client is that just handles E2E for you -- that way when you use a custom client, it's less likely that they've accidentally encrypted all of your messages incorrectly.
> What’s next?
> We are fixing up our Linux and Windows versions for public use.