The retirement of Browserosaurus
![]()
It’s with a degree of sadness that I announce the end of my longest running project: Browserosaurus, the often misspelt browser picker. This project has been with me for pretty much my entire professional engineering career. Now that I am a father I can no longer give Browserosaurus the time it requires, and I hope you welcome that my time is now being spent on something, or someone, far more precious 😊
I’m extremely grateful for the many complements I’ve received for the app over the 8 years I’ve been working on it. I’d like to write a little about Browserosaurus’ journey for posterity, and I’ll finish with some recommendations for those that feel this may be leaving a gap in their productivity workflow.
In 2017, when I was a mere junior-to-mid web developer, I realised I needed to open certain links in certain browsers. For example, I’d open dev server URLs from the terminal in Chrome / Safari / Firefox, company intranet sites in Chrome, and most other links in my default browser Firefox. I had an idea for a simple pop-up that shows when a link is clicked, displaying a list of browsers to choose from. Having had a look around, I couldn’t find any apps that fit the aesthetic that I was after, and so I decided to create my own.
Being a web dev, the obvious choice was Electron. Once I had figured out how to get the app to respond to clicked links by acting as the default browser, I was away. I then went through several iterations for positioning. One of those covered the whole screen in a transparent window and showed a pseudo pop-up near to the mouse. This had quite a few limitations so I went back to having the picker window show as the exact size of the pop-up, placed near the mouse.
The app has also had many different styles over the years. Here’s a version history of a few screenshots I found in the Git history:
First icon was green to go with the dino theme:
![]()
v2:

v4:

v5 icon transitioned to a blue theme:
v6:

v7:

v8:

v10:

v11:

v12:

v15:

v16:

v18:

v19, and the final design of the picker.

Many features were requested over the years, and the options I felt I could support were eventually added to a second, Preferences window:

Introducing this extra renderer process had a major challenge: how to keep the state synchronised between the main process and now two renderer windows. I ended up using Redux on all three processes, and with what I called “the bus”. This sat on the main process and received every action from the main and window processes and forwarded them on to the others. This is probably the code I’m most proud of in this project. It probably wasn’t completely bug proof but it seemed to work for the situation.
It’s not all been fun and games though and there’s been the haters out there. Here’s an issue where I (anonymously) quoted and responded to a couple of people that decided they’d email me some pretty nasty support requests.
I even had one person so angry at my choice of technology used to create Browserosaurus that they registered a whole domain to voice their opinion. The page itself is not on the Wayback machine, but here’s an excerpt I captured at the time:
A vapid meta-browser that we hoped only existed in xzibit’s wildest Gödelian-dreams. The goal of browserosaurus? To become your default browser. Why? because it wants you to use your default browser so you can get a list of al your browsers so you can select which browser to use every time you click a link. Although tragic, some things really deserve to be extinct.
It has amazed me how people can get so incensed about an app that is provided for free and they don’t even need to use it if they don’t want to. But hey, that’s trolls I suppose 🤷♂️
If you are now looking for a near identical replacement to Browserosaurus, a GitHub user called AlexStrNik wrote a version using native macOS code and called it Browserino, which I love that it’s in keeping with the dinosaur theme.
If you’re a JS dev then you will have no doubt heard of Sindre Sorhus. He’s since turned his hand to making macOS apps and has created a great browser picker called Velja, where he even compares it to Browserosaurus in the FAQ (although I can imagine that’ll get taken down once this news gets out).
You can of course continue to download and use the current version of Browserosaurus but it won’t be receiving any more features or fixes.
Once again, it has been great fun being the author and maintainer of this mildly popular app, here’s some stats at time of archive:
- First commit: 20 June 2017.
- 1,934 GitHub stars (so nearly made it to 2k!).
- 175 forks.
- 169 releases.
- 332 closed issues, 4 issues remained unsolved.
- 147 (non-dependabot) merged PRs.
- According to an online tool, a recent release received 38,062 downloads.
Thank you to all those that have helped shape the app, and if Browserosaurus has been part of your productivity workflow at all over the last 8 years I wouldn’t say no to one last coffee ☕️🙏