Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Min – web browser with better search and built-in ad blocking (palmeral.github.io)
151 points by minbrowser on April 13, 2016 | hide | past | favorite | 91 comments

For a truly minimalistic browser with support for modern HTML and a serious orientation towards security, see xombrero at https://opensource.conformal.com/wiki/xombrero . It provides fine-grained whitelisting for plugins, js and cookies, and options for enabling/disabling many other security/privacy-critical features, like 3rd party cookies, referrers, etc. The same guys also have made AdSuck, which blocks ads at the DNS level.

These tools do not have the eye-candy that Min has though. Kudos for the design, it's indeed lovely.

Xombrero seems to be unmaintained and has severe security problems. It's HTTPS implementation is vulnerable to MitM script injection.

See my post here: https://rya.nc/https-script.html

For a truly truly minimal browser (albeit without support for modern HTML) check out the Dillo browser [1], in active development since 1999 [2]!

If all you need is to render HTML, it's tiny and fast. It supports HTTPS and no JavaScript (so you don't need NoScript for that ;)

[1] http://www.dillo.org [2] http://hg.dillo.org/dillo/raw-file/default/ChangeLog

IMHO the truly one because of it's render engine (not webkit/gecko/blink-based).

I really enjoyed "dwb" until the author abandoned it late 2014. Now they seem to have picked up development again(!):


It's fully keyboard driven (to the extent possible) and has a decent amount of extensions, including ad blocking and a great requestpolicy manager for controlling 3rd party requests.

I found uzbl after I told a friend about xombrero:


If you like Vim keybindings, check out qutebrowser, which currently has a crowdfunding campaign to update it to make use of the newer QtWebEngine backend https://www.indiegogo.com/projects/qutebrowser-a-keyboard-fo...

They want my email and name in order to merely show me the page, even on vanilla Chromium: http://imgur.com/QVH4AeV

It's not their fault, that's indiegogo. Here is the GitHub repo: https://github.com/The-Compiler/qutebrowser

xombrero depends on webkit. truly minimal? right. oriented towards security? have you not seen how WebKit does security? they wait for dozens of reported vulns before patching/disclosing. nothing that depends on webkit can ever be considered "oriented towards security"

When I hover the "Download" button, a message saying "OS X 10.10 is required" appears, but when I click the button I get a .deb file. Did I miss OS X switching to Apt?

EDIT: This seems to happen only with the bottom download button, and only on my desktop (Firefox, Arch Linux). On my phone the button says it's available for Ubuntu too. I guess it's just a bug with recognizing the user-agent string or something.

Looks like they fixed this. For the top button anyway.

The bottom button still seems to have the problem.

"Tabs you haven’t looked at in a while dim, so you can focus on what you’re working on" - I like the sound of this. Is anyone aware of a Firefox addon which does the same?

On that note, how come that (almost) no browser vendor is experimenting with better UIs for tabs? It seems that they have remained the exact same for the last decade in both Firefox and Chrome. I get that they are functional for the casual user, but for those of us that live and work in the browser we could use more functionality. I could picture for example grouping/ungrouping tabs in a single window, bundling similar tabs, changing the color of the tab depending on how often it's used, a better way to nagivate between multiple browser windows (or "super tabs"), etc.

You could argue that you should rely on extensions if you are power user, but then with the trend that Chrome has set (and now Firefox follows) of extensions being small web apps packaged with an icon, there's not a lot extensions can do to fundamentally change how browser tabs works. Whether tabs become smarter and more functionally rich depends almost exclusively on whether Google, Mozilla or Microsoft decide to experiment it.

>I could picture for example grouping/ungrouping tabs in a single window, bundling similar tabs, changing the color of the tab depending on how often it's used, a better way to nagivate between multiple browser windows (or "super tabs"), etc

Grouping/Ungrouping tabs, to my understanding of what you mean, existed in Firefox and was just removed from the browser and pushed into an add-on. It's called "Group Tabs" and I use it extensively. Or I could have this mistaken for 'bundling similar tabs'. I'm not sure on the semantic difference you mean between the two.

Multiple browser windows seems redundant with multiple tabs or the Group Tabs mentioned above.

I use a Firefox addon called FireGestures. Not for the mouse gestures that it is primarily designed for - but because one of the wheel gestures: "[Popup] List All Tabs"

Basically it allows me to hold down right click and use my scroll wheel to switch tabs from anywhere in my browser window. So I hide the tabs up top and get more screen estate! A win-win scenario!

It looks like this: http://i.imgur.com/Wz5Jx9p.png

Vivaldi does it! They call it tab-stacking, and this is the reason I'm switching over. The browser itself is still a bit glitchy, but I loves me some tab-stacking.

I use "Tree Style Tabs" and the tab bar on the left side instead of at the top. It groups tabs on how you link-opened them from each other automatically, but you can regroup them depending on your needs. It's one of the reasons I never even considered switching to Chrome etc.

So you can access your list of open tabs from anywhere on the screen? Sounds good.

> Multiple browser windows seems redundant with multiple tabs or the Group Tabs mentioned above.

Surely it's the complete opposite: if you have multiple windows, then why do you need Group Tabs?

>So you can access your list of open tabs from anywhere on the screen? Sounds good.

Yep! Hold right-click and use my scroll wheel from anywhere in the browser window. So not the userChrome (tab area, bookmarks bar) or off-screen (my OS desktop).

I have another program that is "tab aware" bound to a different hotkey: I can press alt+space and begin typing in the Title name of a tab to open that tab from truly anywhere on the screen. It could be nice to be able to have "global hotkeys" for a browser that does the same thing.

>Surely it's the complete opposite: if you have multiple windows, then why do you need Group Tabs?

One is passing off handling multiple groups to the Operating System (handle multiple instances of your browser) while the other is the browser handling multiple groups of tabs. Different ways of handling the same thing with trivially different workflows (alt-tabbing and hoping you alt-tab to the right instance of your browser or {Ctrl+Shift+E / Rebound Hotkey} for tab groups and selecting the proper group that you can name.

Being able to name my tab groups instead of having 19 different instances of "Firefox.exe" helps when trying to find the proper group rather than the proper window.

Multiple windows lets you split screen estate though! But IIRC there are add-ons to let you split the browser screen to render 2/3/4 tabs at once for that use case.

They have their pros/cons but have a lot of overlap and redundancy.

You seem like a tab power user. Just curious if you have any sort of "tab junk drawer" like what OneTab provides for Chrome.

tl;dr - Mozilla engineers are doing a series of experiments questioning if how we interact with the browser today can be improved vs. the habits and workflows we've developed since the early days.

Basic userstyle / userchrome css:

  #TabsToolbar tab:not([selected="true"]) {
    background: pink !important;
    transition-property: background-color !important;
    transition-duration: 15s !important;
    transition-delay: 5s !important;
Just tested seems to work fine. Might need some tweaking with

  #TabsToolbar .tabbrowser-tab:hover:not([selected]) { ... }

Try Bartab Plus - https://addons.mozilla.org/en-US/firefox/addon/bartab-plus/

Bartab Plus can actually completely unload a tab after X amount of minutes / hours. The tab is dimmed and comes back / reloads automatically when you click on it.

This along with tab groups - https://addons.mozilla.org/en-US/firefox/addon/tab-groups-pa... allows you to have hundreds of tabs at your fingertips across any number of groups, without paying the performance impact of having them all actually loaded at once.

And on that note, anyone aware if a Chrome extension does this?

After dicking around with the API for a while I found that that you can highlight/dim tabs using chrome.tabs.highlight running in a background script of an extension. Maybe I'll spend a little while tomorrow making a more complete version.

The Great Suspender, which actually suspends the processes of these tabs, very useful if you have lots of tabs


Yes it suspends the process, but doesn't visually indicate this by fading/sorting the tabs for you. At least, not the version I used a year ago. (edit: it does now!)

For me it fades the favicon slightly


To be fair the suspend feature is the killer here

It visually indicates it by replacing the site's favicon with the app's icon. If you see blocky face, your tab has been suspended.

You may want to look into BarTab

Serious props to you for making a web browser. That is legitimately impressive.

However I feel like most people won't be willing to sacrifice the feature support, stability and security that a larger browser can provide for a potentially better experience.

If this was made by a single person you should really do a write up about the development process. I think many people would also be interested in that.

It's built on Electron[0] which is built on Chromium, so it's very much building on the work of a larger browser and just adding a (seemingly) very different UI experience.

[0] http://electron.atom.io/

> ... built on ... built on ...

Well, considering the dependencies, it is impressive that it still is lightweight :)

It's "lightweight" in terms of UI, not in terms of speed or (especially) file size.

The user experience is not bloated and it stays out of your way, but it is very much not a small program. Electron-based anything is huge, on the order of ~100MB.

You're trying to praise something, but it ends up as an insult of sorts, because you haven't made a slightest effort to figure out what's before you.

Well he commented that it was made with chromium, which I think probably sorts out the three issues that I mentioned.

I would install it, but I am on my windows partition.

It builds for Windows.

Am I the only one who thinks that "tabs" should really be handled by the window manager, rather than by the application?

I don't think so: I have a number of programs that support tabs or multiple groups of windows in some form, including my editors (Emacs/Vim), browser (GNU IceCat), and terminal multiplexer (GNU screen). It can be argued that each of those are window managers in their own right, but what this does is provide distinct points of context that I can switch between and ignore.

I also use a tiling window manager (Xmonad); it would not be realistic for my window manager to handle tabbing, as that would prevent me from tiling my browser.

I also have dozens (sometimes hundreds) of tabs open in my browser, which I arrange hierarchically using the Tree Style Tab addon, which I find incredibly useful and essential to how I use and understand the Web (...and my train of thought as to how I got 10 levels deep into Wikipedia and various other sites while trying to research something completely unrelated...).

I'm not saying that this rationale works for everyone; this is what works for me, and I like it.

Well I, for one, wish that my editor didn't have built-in window management functionality and relied on an external window manager. And I don't use the window management features of multiplexers, although I did before I used a tiling window manager.

I'm curious why you think having your window manager handle tabs would prevent you from "tiling" your browser. I use i3 with a web browser that doesn't support tabbed browsing (surf). For basic web browsing I just throw a bunch of surf windows into an i3 tabbed container, but for more complex tasks I can tile my browser however I want. I can place complex tiling arrangements inside of the tabbed container that I use for regular web browsing, and I can place that tabbed container inside of another tiling arrangement.

Hierarchical tabs is a thing that I miss in i3, and someday I'll write a patch. Thats a reasonable complaint, but also one that would be a non-issue if everyone magically agreed that window management should be the domain of a single global window manager, because then you would have hierarchical vertical tabs, and you could use them for more than just your web browser (for example you might put a terminal window within your web browser tab hierarchy to group it with the browser tabs that are contextually related to it).

> I'm curious why you think having your window manager handle tabs would prevent you from "tiling" your browser.

For example, I have this arrangement on one of my monitors:

  |         |   A  |
  | Browser |-------
  |         |   B  |
If I have more, it continues in a Fibonacci spiral. But this is a very simple layout, and easy to understand. If I add a dozen windows where I would normally have tabs in Browser, then I'm in an awkward situation, because I only want a single tab displayed in Browser at a time. I'd have to write some window layout that will know to completely hide certain windows rather than tiling them.

I'm not sure I'm understanding your setup correctly, but is this what you mean http://i.imgur.com/dlheReA.png ?

The browser area is tabbed, and only shows one page at a time, the terminals tile.

Since my i3 isn't configured for this setup it took some finessing to get things into position, but it was intuitive, at least for someone that's been using these keybindings for some months. If I used this layout often I could save the layout and make a keybinding to automatically put windows in position.

I don't know how Xmonad handles tabs, it seems more focused on a pure-tiling experience.

> I don't know how Xmonad handles tabs,

Your layout is essentially what I'm referring to.

I now understand what you're saying; yes, I use Xmonad exclusively for tiling, but from my understanding it does support some degree of tabbing.

i3 looks very interesting, though; I think I might have to research it a bit.

Thanks for the discussion. :)

EDIT: Okay, I've spent about 15m reading documentation and playing with it a little bit, and I'm sold. On the WM, that is; I'm not so sure about dropping tabs in browsers just yet, but I can see how you'd want that, and how it might even work well.

...so damn you; I'm going to be very tired in the morning playing around with this thing!

> I also use a tiling window manager (Xmonad); it would not be realistic for my window manager to handle tabbing, as that would prevent me from tiling my browser.

But you could tile your browsers that have what would have been in your tabs. Except then you'd have a lot of heavyweight browser instances running. Too bad a browser instance isn't more like a tab, using common resources provided by a browser master process with no UI.

> Except then you'd have a lot of heavyweight browser instances running.

On any decent OS, browsers will all share their executable code in memory. So I'm not sure what exactly the problem is.

Huh, you're right. I never realized.

Informal experiment, Linux Mint:

  - 0.7G mem used, no FF, 1TBird, 1 URXVT
  - 1.1G with 1 FF an one tab
  - 1.2G with 10 FF, one tab each
  - 1.2G with 1FF and ten empty tabs
  - 1.37G with 1FF and 17 active tabs.

You could switch from a purely tiling window manager to one that supports both tiling and tabbed containers, like i3.

There are far too many times a day that I find myself hitting > alt-tab > sigh > shift-alt-tab > ctrl-tab

I'm not a "keep all the tabs open forever" person, so having the ability to shift this to the O/S would be great. Can see why this would be sub-optimal for someone who regularly has 30+ plus tabs open at once.

Could I make a suggestion, from a "keep all the tabs open forever" person? Try to come up with a personal standard of which tab is where -- or at least where you put certain types of tab -- so you aren't just searching through everything, or toggling back between the last two or three items, but picking the one you want in one exact motion. For example: personal window in the top right with the first tab chat and the second tab e-mail; bug reports go on the left with the one you're currently doing on the far left; searches for programming help usually are centre-to-right with the left tab for google, and all the other tabs for the results... It's not an exact science (you don't need to write a program in your head that determines where to put each window) but I find I can trust my instincts on where I put something most of the time.

(That's how I work and I still hit the wrong window a lot, so take this advice with a heaping bowl of salt)

The key thing is being able to open a tab/window in the background, when everything I know of automatically tries to bring any new window to the front. But I do agree with your point: every application seems to be re-inventing its own window/tab/document management instead of using the ones provided by the OS. I used to use Firefox with Tree Style Tabs, but then I found out that having multiple windows full of tabs was good enough, and I can use the OS to just arrange the windows without needing to arrange the tabs therein.

I feel the same way. Like many people who would agree, I use a highly configurable tiling window manager. I have convenient hotkeys for switching and re-arranging windows. I don't want to have to switch into my browser, and then switch mental modes to a different set of controls for switching and re-arranging tabs.

I have not tried any tabless setups yet, though. For a browser I use iceweasel/firefox with pentadactyl, so I can hit `b` and switch tabs by number or search by tab title.

Isn't that what windows are, if you choose to use them?

Yes, but you can't choose to use them exclusively. Neither Chrome nor Firefox make it possible to disable tabbed browsing completely, or even to hide the tab bar. There's currently no extensions that do it either.

Does Min (along with Brave) do ad blocking at a different layer than plugins? Is there any advantage to having the browser do it instead of something like uBlock Origin in chrome?

In Min, it's still javascript[1].

Also, by the look of it, the current implementation in Min is very inefficient: for every network request, all the filters will be evaluated to check for a match.

Statistically, on average the majority of network requests are no match, and in the current implementation, no match means having iterated through all the filters, thus a significant overhead added to every single network request.

Furthermore, the evaluation of wildcard-based filters is itself quite inefficient: every time a wildcard-based filter is evaluated, an array of substrings is created and discarded.

[1] https://github.com/PalmerAL/min/blob/master/ext/abp-filter-p...

Thanks for the suggestions! How does uBlock avoid checking every filter? It looks like it splits filters into buckets, and only checks one bucket of filters, but I'm not understanding how the filters are split up.

A web browser in a web browser :) Is that like a Turing test for web browsers? Something like compiling your language in your own language.

Where does it say it's a web browser in a web browser?

It's built on chromium and atom, but written in JavaScript and CSS, so technically I guess you could say that it's a browser in a browser.

It's apparently written in Javascript, which is all the rage these days.

I will say it's awesome that someone has the time/ability to make a web browser... even if it doesn't support everything yet.

I do have a general question for the programmers out there... just to see what people's stance is on the topic. If a programmer builds something and wants to make money off of it, one very common way is using ads. I was wondering if programmers are for or against a tool like this that integrates ad blocking. I have no bias either way, I was just curious.

Ad blocking is just part of the game we have to play. If users are willing to go out of their way just to avoid seeing your ads, they aren't going to be clicking on them even if you find a way to show them ads no matter what.

One thing to keep in mind is that even if a user is using ad blocking, it doesn't necessarily make him worthless to your business. Users still share, invite friends, and help drive traffic to your product. And they're especially valuable if there's a network effect to your product.

These are great points. I never really thought of it that way before.

Not in my case, but some people might be blocking ads to remove the temptation to buy?

I guess the down-voter dismisses the power of ads...

I mean tons of programmers make things for free just because. There is tons of software out there made by people who will never earn a cent off it.

I think advertising is immoral and predatory, so I'm very okay with ad-blocking.

What options are there for product discovery outside of advertising? Just asking in general as I find most ads predatory as well. I've never really had a good answer for this question.

You make yourself a worthwhile recommendation engine, and let people come to you explicitly for that purpose.

Think of it like going to the doctor for "disease discovery". You go to the doctor to get healed, and you should probably go for checkups. You certainly you don't expect doctors to go around peddling their wares to you 24/7.

It's not easy, but you can try to build a personal/company reputation for making quality stuff. For one example, Jeff Vogel[1] has been making a living writing old-school RPGs for decades. He did so by finding an underserved market and treating his customers well. For another, Cold Cold World[2] makes packs that some climbers swear by, and recommend to others; they may do some advertising, but I've never seen it.

You won't become a billionaire this way, but you can do just fine.

[1] http://jeff-vogel.blogspot.com/ [2] http://www.coldcoldworldpacks.com

Do you know if cross promotion networks are blocked as well with ad-blockers?

Eh, On Ubuntu 15.10 backspace doesn't work and there are no buttons to navigate, no way to close a tab as well. Am I missing something?

Edit: Ctrl + W closes the current tab.

Haven't looked at it yet, but a tip for the OP:

After clicking the download link, the page displays a message describing how to get around the Mac security check.

There's an easier way: Right-click on the Min app in Finder and select Open. This time the Mac security dialog will show an Open button, allowing you to override the security check. No need to go into System Preferences.

Or ideally support OS X code signing. :)

OP, I'm guessing you're reading. If you need help with that, feel free to email (addy in profile). Sweet project, just wish it had proper signing.

OK, thanks, I'll change that.

I notice that the way tabs are displayed is by drawing the top in some color from the page, and showing the active tab in a lighter shade of that color. The issue is, sometimes the color is white, so the active tab doesn't stand out - I wonder if it could switch to a darker color in that case?

Thank you!

This is really cool.

A couple years ago, when some browsers still had tabbed windows as an option that could be disabled, I tried browsing with only one tab at a time and found it quite refreshing.

Does anyone know of a browser today with a similar "feature"?

Min has this feature, actually. Go to the view menu, and there is an option labeled "focus mode" that limits you to one tab.

I really like the direction this browser is going in. I noticed I cannot go back/next using a mouse or keyboard (though i can imagine one would be able to swipe to do that).

Am I the only one having real trouble with navigation? I can't figure out how to go back, and closing a tab is cmd-w which requires me to be in that tab? Odd setup.

I'd like to have this, only with no tabs support but with access to extensions of chrome. That would be perfect.

Requires OSX or Ubuntu? Damn it, well, it looks interesting...

It's using Electron, so there shouldn't be much of a barrier to a Windows version (or other Linux)

I really like this a lot. Let me open tabs in the background.

Nice to see deb packages.

I've been using eww (the emacs web browser) for reading docs, I highly recommend it. DDG is the default search engine. Plus you can display the docs right next to your code :)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact