15 votes

What simple features would you want in a new browser?

So, I'm planning on building yet another browser (based on Firefox, since we already have too much Chromium forks around)

I'm intending to target the people worried about their privacy, but aren't technical enough to dabble with about:config tweaks and deal with any site breakages.

So, for this project, I'm planning on doing the following modifications to Firefox:

  • Tweaked by default to get a balance between increased privacy, and less site breakage
    • Tweaks include cutting any "background" communication with Mozilla (while I trust them, some people might not) and Google (safe browsing, geolocation)
    • Maybe, possibly, an "advanced privacy settings" menu for more privacy settings in exchange for site breakage?
  • Integrated ad blocker (Decided on uBlock Origin, maybe adding Nano Defender to bypass any nag screens)
  • Maybe a way to "pretend" to be a Chromium browser, since some sites require that nowadays (More user agent complexity, yay!)

So, this is where this thread comes in. What would you guys want in a (Gecko-based) browser, that I can provide?

I am definitely not planning any substantial under-the-hood changes, since that would
a) make maintaining it a pain
b) be way out of my skill level.

I am only looking for stuff that can be applied with some simple source code patches, or an integrated extension, as I will not "fork" the entire FF source. This project is essentially a rebranded patchset. (Also allows for faster updates!)

ps: Please be realistic, and remember that this is a one man thing. I can not make any substantial changes, like bringing XUL add-ons back, if you know what those are.

pps: If you can, and are willing to help with anything, let me know and I'll put up a repo online :)

ppps: Please let me know if I've made a mistake while creating this topic.

29 comments

  1. [3]
    mrbig
    (edited )
    Link
    I like the features you mentioned, but I think there should an easy way to revert those privacy settings. It's good to have them, but sadly without the spy crap some websites become unusable...

    I like the features you mentioned, but I think there should an easy way to revert those privacy settings. It's good to have them, but sadly without the spy crap some websites become unusable (maybe that's a complete negation of your motivation for this project. In this case, please ignore my comment).

    To answer your question, here's what I miss from current browsers:

    Being able to customize every keybinding, either via GUI or a configuration file with a reasonable syntax (I prefer the latter). I use browsers all the time, and I wish I could make them more coherent with the rest of my system's keybindings (I use i3wm, Vim, and Emacs...). Vimium is a good alternative on Chrome and Firefox, but those browsers set a hard limit on which situations an extension can set keybindings. On the other hand, browsers solely dedicated to emulating both Vim and Emacs lack basic functionalities. What I want is a browser that is just as complete as Chrome or Firefox, with the addition that I can remap every single one of its keybindings - including inside text fields.

    Some kind of scripting would awesome too, but I understand this may be out of the scope.

    5 votes
    1. [2]
      admicos
      Link Parent
      The "Advanced privacy settings" menu I mentioned would probably allow for changing those settings as well. For the key bindings, I'm not entirely sure if I can manage that, but if FF's key binding...

      I like the features you mentioned, but I think there should an easy way to revert those privacy settings. It's good to have them, but sadly without the spy crap some websites become unusable.

      The "Advanced privacy settings" menu I mentioned would probably allow for changing those settings as well.

      For the key bindings, I'm not entirely sure if I can manage that, but if FF's key binding system is "open" enough, that might be implemented. Don't count on it, though.

      1 vote
      1. mrbig
        (edited )
        Link Parent
        Yes, on a second read I realized I'm probably not your target audience. I got too excited lol. Anyway, good luck ;)

        Don't count on it, though.

        Yes, on a second read I realized I'm probably not your target audience. I got too excited lol. Anyway, good luck ;)

  2. [5]
    0lpbm
    Link
    I'm definitely not in your target demographic, but I really want a command line based browser based on firefox. I'm honing my skills waiting for the moment when servo will be usable in such a...

    I'm definitely not in your target demographic, but I really want a command line based browser based on firefox.

    I'm honing my skills waiting for the moment when servo will be usable in such a project to do exactly that. :D

    3 votes
    1. [4]
      Bauke
      Link Parent
      Something like Browsh?

      Something like Browsh?

      5 votes
      1. [3]
        0lpbm
        Link Parent
        No, not a cli browser, but a keyboard driven (preferably with vim compatible keybindings) X/Wayland browser, like Qutebrowser, luakit, vimb, etc. All of the existing ones, as far as I know, are...

        No, not a cli browser, but a keyboard driven (preferably with vim compatible keybindings) X/Wayland browser, like Qutebrowser, luakit, vimb, etc. All of the existing ones, as far as I know, are based on various libraries on top of Webkit.

        1 vote
        1. [2]
          Bauke
          Link Parent
          Ah, I see. The "command line based browser" threw me off. :P So something like Firefox with Vim Vixen (or one of the other many Vim extensions) but directly built-in.

          Ah, I see. The "command line based browser" threw me off. :P

          So something like Firefox with Vim Vixen (or one of the other many Vim extensions) but directly built-in.

          3 votes
          1. 0lpbm
            Link Parent
            Yeah, I guess I used the wrong terminology I meant "keyboard focused" browser. :)

            Yeah, I guess I used the wrong terminology I meant "keyboard focused" browser. :)

  3. [5]
    pvik
    Link
    Similar to what /u/0lpbm and /u/mrbig have replied, I really would like a browser that allows me to work via keybindings, more specifically emacs style keybindings. (Vim users have been lucky with...

    Similar to what /u/0lpbm and /u/mrbig have replied, I really would like a browser that allows me to work via keybindings, more specifically emacs style keybindings.
    (Vim users have been lucky with a lot of choices in this area, but sadly there weren't many (any?) options for emacs users that survived long or reached a stable state)

    I am really excited for the Next browser (https://next.atlas.engineer/ & https://github.com/atlas-engineer/next)
    It's written in Common Lisp, and supports writing extensions for the browser in Lisp as well :)
    It's being actively developed and I have been using it for a few months now (alongside firefox as my primary) and I like it.

    3 votes
    1. [4]
      mrbig
      Link Parent
      I need to jump to Debian 10... Next is very interesting but I'm not in the mood to compile it from source.

      I need to jump to Debian 10... Next is very interesting but I'm not in the mood to compile it from source.

      1 vote
      1. [3]
        pvik
        Link Parent
        Yea, compiling from source would be a pain, especially if you do not already have a CL stack on your system. But, I cannot recommend Next enough! The developers are responsive on github (w.r.t...

        Yea, compiling from source would be a pain, especially if you do not already have a CL stack on your system.

        But, I cannot recommend Next enough! The developers are responsive on github (w.r.t feature requests and bugs) and the browser itself has become my goto for personal browsing (though, I still open my work related tabs inside a container in firefox)

        2 votes
        1. [2]
          mrbig
          Link Parent
          Speaking from Debian 10 (actually MX Linux 19, which is basically Debian 10). For some reason, Next seems broken. Basic keybindings such as M-< and M-> do not work, and going back and forth in...

          Speaking from Debian 10 (actually MX Linux 19, which is basically Debian 10). For some reason, Next seems broken. Basic keybindings such as M-< and M-> do not work, and going back and forth in history has no effect. I installed it from the deb file they provided.

          Maybe that's because I'm on i3wm, or maybe because I use Brazillian Portuguese non-English keyboard layout...

          2 votes
          1. pvik
            Link Parent
            I use i3wm as well, so that may not be what's causing issues. For going back and forward in history, the default keybinding is C-b and C-f (same as emacs navigating cursor back and forward). M-<...

            I use i3wm as well, so that may not be what's causing issues.

            For going back and forward in history, the default keybinding is C-b and C-f (same as emacs navigating cursor back and forward).

            M-< and M-> works as move to top of page or bottom of page (same as emacs move to beginning or end of buffer)

            Also, if you can open the browser from a terminal and see any errors, that should point to a root-cause as well. Please do submit an issue in github as well with your error log!

            Edit: If you have any i3 keybindings which are same as any of the default Next keybindings, i3wm may be capturing those keystrokes before they reach the browser. probably :)

  4. [5]
    cardigan
    Link
    In addition to the ones you've mentioned, which are great ideas, I would be interested in integrating more of the core NoScript functionality, i.e. having more fine-grained control over which...

    In addition to the ones you've mentioned, which are great ideas, I would be interested in integrating more of the core NoScript functionality, i.e. having more fine-grained control over which sites are allowed to execute JavaScript and which are not. I think the about:config switch in vanilla Firefox is all or nothing.

    3 votes
    1. [3]
      whbboyd
      Link Parent
      IMO NoScript (and uMatrix, and most similar tools) are blocking along the wrong axis. I don't care where the Javascript on my page came from; I care what it's allowed to do and the answer should...

      IMO NoScript (and uMatrix, and most similar tools) are blocking along the wrong axis. I don't care where the Javascript on my page came from; I care what it's allowed to do and the answer should be "goddamn near nothing". I want the ability to set controls like throttling to 1% of available CPU after the first second; disallowing all execution in the background; disallowing creation of floating elements; throttling external connections and connection creation after the first second; lying to it about fingerprintable values (viewport size, font list, etc.); disallowing capture of keyboard/mouse/etc. input events; etc.

      I have a suspicion this all would require digging quite deeply in the Javascript stack, and falls well outside the realm of "simple", unfortunately.

      7 votes
      1. [2]
        Sybil_Fleming
        Link Parent
        Sounds like you may be interested in Luminous

        Sounds like you may be interested in Luminous

        An experimental extension to identify, analyze and block code execution and event collection through JavaScript in your browser.

        7 votes
    2. admicos
      Link Parent
      Well, I feel like the average user wouldn't want to care about having to enable JS to get a site working, and the power users could just install something like uMatrix or NoScript. But either way,...

      Well, I feel like the average user wouldn't want to care about having to enable JS to get a site working, and the power users could just install something like uMatrix or NoScript.

      But either way, that sounds like a pretty good idea. I'm not entirely sure if I can pull it off, but definitely sounds interesting to try after I get an initial version out.

      1 vote
  5. [2]
    sron
    Link
    Like the idea. I still don't quite like that Microsoft went with a Chrome base for the new Edge. I know it's probably technically easier, but still. My first thought is on faking the user agent....

    Like the idea. I still don't quite like that Microsoft went with a Chrome base for the new Edge. I know it's probably technically easier, but still.

    My first thought is on faking the user agent. If enough people do it, it hides the true amount of people using Gecko based browsers and gives developers justification for not supporting it. A look at the statistics will show that basically noone is using it when in reality it's quite popular.

    Unless it's disabled by default of course, then none of that applies.

    3 votes
    1. admicos
      Link Parent
      Of course it will be disabled by default, though I am also planning to plant a "hey, I'm actually just pretending" string in it too, but I seriously doubt that sites would take that into account...

      Unless it's disabled by default of course, then none of that applies.

      Of course it will be disabled by default, though I am also planning to plant a "hey, I'm actually just pretending" string in it too, but I seriously doubt that sites would take that into account in their metrics, especially without blocking them / applying the same restrictions as Gecko/FF.

      1 vote
  6. [2]
    moocow1452
    (edited )
    Link
    Mobile based would be fantastic. If it's not mobile, I probably won't use it that much and I'm on my phone all the time. But once you get past that, I want a browser with time management controls...

    Mobile based would be fantastic. If it's not mobile, I probably won't use it that much and I'm on my phone all the time.

    But once you get past that, I want a browser with time management controls built in, in that it recognizes I spend a lot of time on these sites, and to help me better use my time. Rather than Digital Wellbeing giving me a bank of time to work with every day that I can turn off, I'd like to have it either set a range of time I could use it during, or point me towards my writing app, or something to better help me control my habits. I could just tab out of the app though, so I'm not sure how helpful it would be.

    1 vote
    1. KapteinB
      Link Parent
      My only real browser wish at the moment is a native Firefox-based browser for Sailfish. I currently use the Android version of Firefox, and it works well enough, but a native browser would...

      Mobile based would be fantastic.

      My only real browser wish at the moment is a native Firefox-based browser for Sailfish. I currently use the Android version of Firefox, and it works well enough, but a native browser would integrate better with the OS and feel more at home.

      But yeah, I believe we are 2 or so Sailfish users on Tildes, so probably not a user group worth spending a lot of time and effort on.

      3 votes
  7. [2]
    dblohm7
    Link
    That is already present in Firefox, BTW, but is only enabled for known-problematic sites.

    Maybe a way to "pretend" to be a Chromium browser, since some sites require that nowadays (More user agent complexity, yay!)

    That is already present in Firefox, BTW, but is only enabled for known-problematic sites.

    1 vote
    1. admicos
      Link Parent
      I know about it. I'm just planning to make it so that the user themselves can toggle that functionality, without having to report to Mozilla, and wait for them to add it in.

      I know about it. I'm just planning to make it so that the user themselves can toggle that functionality, without having to report to Mozilla, and wait for them to add it in.

  8. [3]
    SleepyGary
    Link
    Pretty much the only thing that will tempt me away from Chromium are dev tools as feature complete and usable.

    Pretty much the only thing that will tempt me away from Chromium are dev tools as feature complete and usable.

    1 vote
    1. [2]
      pvik
      Link Parent
      Is there any thing you miss in the firefox dev tools that's available in chromium? I use both browsers for debugging javascript/clojurescript/elm apps and I find both dev tools are pretty much the...

      Is there any thing you miss in the firefox dev tools that's available in chromium?

      I use both browsers for debugging javascript/clojurescript/elm apps and I find both dev tools are pretty much the same in terms of features. I may be missing features w.r.t CSS, etc tho

      (Sorry for the off-topic question in this thread!)

      1 vote
      1. SleepyGary
        Link Parent
        Honestly it's been about a little over a year since I last seriously checked Firefox for dev. Back then they still hadn't gotten Websocket inspection going which was a huge non-starter for me...

        Honestly it's been about a little over a year since I last seriously checked Firefox for dev. Back then they still hadn't gotten Websocket inspection going which was a huge non-starter for me because our application uses WSS quite heavily. I understand it's there now, but that said getting to feature parity for Firefox isn't appealing to me, there are a bunch of smaller UX things that annoy me with that browser so when it comes to Firefox & Chromium unless something significant changes I'm going to stick with what exists.

        But in terms of a new entrant to the market I wouldn't even consider it without proper devtools on par with the primary incumbents.

        1 vote
  9. [2]
    mrbig
    Link
    On another note, isn't the Brave browser pretty much what you propose, but with a Chromium base?

    On another note, isn't the Brave browser pretty much what you propose, but with a Chromium base?

    1. admicos
      Link Parent
      Yes. But it being Chromium, and also including some "controversial" features (BAT) really puts me off of it. Especially by being Chromium-based, it gives Google more control over the web...

      Yes. But it being Chromium, and also including some "controversial" features (BAT) really puts me off of it.

      Especially by being Chromium-based, it gives Google more control over the web standards, as anything they'll put on the Chromium engine will be adopted by a lot of browsers, thus, a lot of websites. And independent browsers like Firefox will have to keep up with them, which just sucks for the future of the open web.

      4 votes