[HN Gopher] Show HN: Nyxt Browser 2.0.0
       ___________________________________________________________________
        
       Show HN: Nyxt Browser 2.0.0
        
       Author : jmercouris
       Score  : 295 points
       Date   : 2021-05-20 11:04 UTC (11 hours ago)
        
 (HTM) web link (nyxt.atlas.engineer)
 (TXT) w3m dump (nyxt.atlas.engineer)
        
       | jmercouris wrote:
       | If you have any questions, I would be glad to answer them :-)
       | 
       | You can also check out our FAQ https://nyxt.atlas.engineer/faq
        
         | monk_the_dog wrote:
         | Just tried it and my first impression is: "this was built for
         | me! I love it!". One bit of friction: I'm in vi mode. I hit 'f'
         | to follow links. Apparently I need to hit 'i' before it will
         | accept input. It would be better if it started in insert mode.
         | Example: 'f' followed by 'g' just prints 'pressed key g'.
        
         | rjzzleep wrote:
         | Does the block-mode work like DNS blockers or does it do more
         | advanced blocking?
         | 
         | Also, is there a way to securely interface with things such as
         | keepassxc without leaking secrets while piping stuff?
        
           | jmercouris wrote:
           | Indeed there is; we are cognizant of this problem!
           | 
           | As per block mode, it can block stuff by predicates, URLs,
           | and any logic you like.
        
         | pollyranna wrote:
         | The download page says I can install from guix but I don't see
         | it listed as an installable package in "guix search" or on
         | https://guix.gnu.org/en/packages/N/
         | 
         | Is it available through guix?
        
           | mbakke wrote:
           | The Guix package list is paginated, you need to navigate to
           | the second page:
           | 
           | https://guix.gnu.org/en/packages/nyxt-2.0.0/
           | 
           | If "guix search nyxt" does not work, perhaps you need to
           | 'guix pull'?
        
           | kagevf wrote:
           | I've installed a few of the v2 pre-releases using guix, and I
           | assume that this version is also available.
        
         | rattray wrote:
         | One question I had, which is partly answered in the FAQ, is
         | what rendering and JS engines are used.
         | 
         | The FAQ says it can run on either WebKit/WebEngine (Blink) -
         | how does it decide? Which is the default, and are there
         | tradeoffs to using one or the other with Nyxt specifically?
         | 
         | What JS engine is used?
        
           | chalst wrote:
           | The FAQ entry talks of their being a basic interface: the
           | point is that these two engines have code that realises this
           | interface. Other engines could also provide implementations
           | of this interface.
           | 
           | I'd be pleased if a Servo hacker stepped up and did this.
        
             | Y_Y wrote:
             | What would it take to get this working with Servo? I know
             | Servo itself isn't really done yet, but let's ignore that
             | for now.
        
               | chalst wrote:
               | I hope someone rolls by and answers: I am at the stage of
               | following enough to be interested in the concept of
               | integrating all the parts of a DOM engine with a proper
               | GPU-friendly compositor in a modular way, but not at the
               | stage of understanding the interfaces of the modules.
        
               | jmercouris wrote:
               | Everything needed is at the bottom of the browser.lisp
               | source file, one would need to implement all `ffi-*`
               | named functions.
        
       | lucas_codes wrote:
       | I use vimium and I love it, but I actually still use the mouse
       | for navigating page links.
       | 
       | Many of the websites we use these days are so link-heavy (or just
       | not designed with keyboards in mind?) that pressing f, parsing
       | the characters of the link I want, and then typing them, is still
       | slower are at least more mental effort than using the mouse.
        
         | dreamer7 wrote:
         | True, this was my problem with vimium as well. The characters
         | of the link would change even for relatively stable UI
         | functionality like going fullscreen on Youtube. So, there was
         | no muscle memory. Ironically, the only time i would remember i
         | had vimium installed was when i would try to press f and then
         | press a couple more characters while wondering why i installed
         | the plugin in the first place.
        
         | samatman wrote:
         | Really? That was my favourite part of using qutebrowser.
         | 
         | I'm already looking at a link when I want to 'click' it, so
         | bringing up the shortcuts puts the relevant one right in the
         | center of my vision. I don't know if it was faster (I have the
         | same question about vim!) but it was fast enough, and more
         | satisfying.
         | 
         | Then again, the point of my i3/qutebrowser/etc box was to be
         | keyboard-centric, and I would use it with a "the mouse is lava"
         | philosophy. I should really stand that box up again; too much
         | macOS is bad for the soul...
        
           | lucas_codes wrote:
           | It is certainly more satisfying, I'll give you that!
        
       | mark_l_watson wrote:
       | This is a cool project that I have tried a few times in the past.
       | To me, the big draw is that it is written in Common Lisp. I was a
       | patron contributor for a while, but when I had problems building
       | from source, I stopped. Interfacing Common Lisp to things like
       | WebKit, GTK, or Qt to build Nyxt was probably the reason I failed
       | building from source, IIRC.
       | 
       | This is probably a bad analogy, but forty years ago Lisp Machine
       | subsumed the operating system. In modern times, in some sense the
       | web browser is like an operating system layer, or at least a
       | portable application platform. So, my bad analogy is that Nyxt is
       | like a Lisp Machine.
       | 
       | If I have time, I will try to build from source today. I just
       | reread the dev source install instructions, and it does look
       | straight forward. Hopefully being on a M1 MacBook won't affect
       | the build process.
        
         | jmercouris wrote:
         | Thanks Mark, I really appreciate that. We're working on a Nix
         | recipe to make it easier on MacOS, making some progress
         | https://github.com/NixOS/nixpkgs/pull/116233
        
         | cle wrote:
         | This is the vision from my understanding. I think of it as
         | Emacs for the web, instead of just text. Super compelling
         | vision, I really hope they can pull it off.
         | 
         | I've tried Nyxt a few times but I find it quite difficult to
         | hack on, at the time it required an elaborate Emacs + SLIME +
         | Common Lisp setup...I don't use CL very much so it was a lot of
         | work and quite fragile. I hope they can get editing
         | bootstrapped into Nyxt so that I can modify it in Nyxt itself
         | instead of a bunch of complicated external tooling. As it
         | stands, there's too much friction for me to hack on it.
         | 
         | Regardless, tons of promise and I'm eagerly following its
         | development!
        
           | vindarel wrote:
           | It seems they did it!
           | 
           | > New simple built-in editor capabilities so that you can
           | easily script Nyxt without opening up an external editor.
           | 
           | (last screenshot)
        
             | cle wrote:
             | Wow nice! Thanks.
        
               | vindarel wrote:
               | BTW, Emacs is not the only CL editor anymore. Besides
               | Vim, Atom with SLIMA is getting very close to Slime.
               | There are a couple extensions for VSCode, and more:
               | https://github.com/CodyReichert/awesome-cl#text-editor-
               | resou... Happy lisping :)
        
       | Sleepytime wrote:
       | I'm tab addicted. Reduce-to-buffer is so cool, and I like being
       | able to save tabs to a file.
        
         | O_H_E wrote:
         | > ... and I like being able to save tabs to a file
         | 
         | Yup, my attention was just grabbed
        
       | gredelston wrote:
       | Might wanna change the "Chat" page from Freenode to Libera.chat.
        
         | jmercouris wrote:
         | Yes, will get to that ASAP! Thank you for pointing it out!
        
       | JanisErdmanis wrote:
       | For a long time I have been willing to write a personalized
       | bookmark manager with a custom way to store and recall them. Nyxt
       | looks like ideal platform to get started.
       | 
       | A major thing that puts me off using it is that it does not have
       | a dark mode. I hope that will come with ability to use some
       | chromium or firefox extensions.
        
         | O_H_E wrote:
         | the first screenshot/link are literally for themes/dark-mode
        
         | jmercouris wrote:
         | Our bookmark facilities are quite advanced. You can query by
         | tag, date, name, any combination of things really. I would give
         | it a short investigation. :-)
        
       | creamytaco wrote:
       | Security, privacy considerations aside, can I use ublock origin?
       | 
       | No? Then forget it.
        
         | jmercouris wrote:
         | OK.
        
       | kgarten wrote:
       | Cool project ... tried it in an early version and will play with
       | it again.
       | 
       | Was just wondering. From the FAQ there are no links or
       | indications on how to configure it in Vi mode.
       | 
       | Also the FAQ mentions the manual/tutorials for ,,here's how you
       | configure it".
       | 
       | maybe I missed sth. Being on a small screen (phone). Yet I was
       | just interested in how the configure / change to vi worked and
       | could not find that on the website.
       | 
       | Recommend to add links to the FAQ. Is there somewhere a quick
       | how-to/setup for the vi mode and maybe a walkthough of cool
       | features? (Found qutebrowser way more accessible and stayed with
       | it so far)
       | 
       | Edit: typos
        
         | [deleted]
        
         | jmercouris wrote:
         | When you start Nyxt there will be a button labeled "common
         | settings" if you click it it will set up Vi mode or Emacs mode
         | for you :-)
        
       | jtmoulia wrote:
       | Congrats to the Atlas team on the release! Nyxt truly delivers on
       | the Emacs experience in the browser, and the addition of data-
       | profiles to give a Firefox-container-like experience lets me use
       | it as my daily driver.
       | 
       | Yup, there are quirks from what I'm used to with Firefox + vimium
       | but with Nyxt 1) I can actually understand and modify the code,
       | and 2) it's delightful to have a browser I can use so keyboard-
       | centrically
       | 
       | One of the last gaps for me is being able to use a yubikey from
       | Nyxt, but there's an open issue in the repo which feels
       | accessible :)
        
         | jmercouris wrote:
         | Thanks so much, that is very kind of you to say :-)
        
       | Bladestorm1011 wrote:
       | Pretty cool, definitely going to look more deep into this. Been
       | using vi which is supported just not sure till what extend, will
       | be messing around with it for a bit.
        
         | jmercouris wrote:
         | It is fully supported, everywhere!
        
       | dmos62 wrote:
       | > Nyxt is web engine agnostic. We utilize a minimal API to
       | interface to any web engine. This makes us flexible and resilient
       | to changes in the web landscape. Currently, we support WebKit and
       | WebEngine (Blink).
        
       | ibraheemdev wrote:
       | Nyxt just hit the top of the front page recently for anyone
       | interested in reading past discussions:
       | https://news.ycombinator.com/item?id=26509612
        
         | dang wrote:
         | Thanks! Looks like the previous discussions (including that
         | one) are:
         | 
         |  _Nyxt Browser_ - https://news.ycombinator.com/item?id=26509612
         | - March 2021 (125 comments)
         | 
         |  _Nyxt browser: mouseless copy /paste_ -
         | https://news.ycombinator.com/item?id=25956152 - Jan 2021 (56
         | comments)
         | 
         |  _Dashboard for Nyxt_ -
         | https://news.ycombinator.com/item?id=25151976 - Nov 2020 (2
         | comments)
         | 
         |  _Nyxt Browser 2.0.0 Pre-release_ -
         | https://news.ycombinator.com/item?id=24353927 - Sept 2020 (11
         | comments)
        
           | ibraheemdev wrote:
           | I have been one upped :)
        
       | msla wrote:
       | It seems it only has host-based blocking:
       | 
       | https://github.com/atlas-engineer/nyxt/blob/master/source/bl...
       | 
       | Is uBlock Origin style blocking a priority? NoScript?
        
         | jmercouris wrote:
         | Well, actually blocking can be done based on predicates and all
         | kinds of rules. That said, uBlock itself is a priority,
         | supporting FF extensions.
        
       | conscion wrote:
       | I really like the way Nyxt generates keyboard combos for
       | clickable links (like this image [0]). Does anyone know if
       | there's a program that creates something similar for Windows?
       | Where every clickable element in the focused programs would have
       | one of these tags generated for it.
       | 
       | [0] https://nyxt.atlas.engineer/static/image/article/visual-
       | mode...
        
         | jmercouris wrote:
         | You'll find many pantomimes of this in other projects. As far
         | as I know Nyxt's style (showing the URL, title, type of
         | element, and being able to select based on those) is unique.
        
         | yewenjie wrote:
         | If inside the browser, I love Tridactyl -
         | https://github.com/tridactyl/tridactyl
        
         | null621 wrote:
         | If you mean within the browser, vim plugins do exactly this. I
         | use one called Vimium, very customizable.
        
           | reocha wrote:
           | http://vimium.github.io/
        
         | kriops wrote:
         | https://qutebrowser.org/
         | 
         | Is a favorite of mine.
        
       | zzo38computer wrote:
       | It look like interesting, although I would think to really make a
       | better web browser, would require heavily modifying the engine or
       | writing a new one (so that the handling of HTML and CSS can be
       | customized too), rather than using the existing one. Also, I
       | would want to support extensions written in C.
        
       | theSealedTanker wrote:
       | how does it compare with something like qutebrowser? or using
       | chromium with a extension like vimium?
        
       | math-dev wrote:
       | How does this compare to eww?
       | 
       | Also does this fit as an emacs package?
        
         | jolmg wrote:
         | > Also does this fit as an emacs package?
         | 
         | It doesn't run on emacs, though you can connect to a running
         | instance with emacs.
        
           | math-dev wrote:
           | Thanks!
        
       | yewenjie wrote:
       | Rather than asking what features does Nyxt have now, I think it
       | is more useful to ask what do they not have compared to something
       | like Firefox or Chromium.
       | 
       | I will be very happy if someone can list down the most important
       | features that are lacking in Nyxt.
        
         | jtmoulia wrote:
         | From a week of usage my outstanding missing piece is yubikey
         | support. Really can't complain tho: it's still early, open-
         | source, and a great product.
        
       | wraptile wrote:
       | I've been using qutebrowser for few years now - how does Nyxt
       | compare to it?
       | 
       | I love seeing more keyboard driven software!
        
         | jmercouris wrote:
         | Thanks for the question, we hint at in our FAQ " Nyxt differs
         | fundamentally in its philosophy- rather than exposing a set of
         | parameters for customization, Nyxt allows you to customize all
         | functionality. Every single class, method, and function is
         | overwritable and reconfigurable. You'll find that you are able
         | to engineer Nyxt's behavior to suit almost any workflow."
         | https://nyxt.atlas.engineer/faq
        
       | mdip wrote:
       | I think this is the second or third time that I've seen this
       | browser hit the front page. Each time I get a little more
       | interested.
       | 
       | The concern that I have is that there's going to be a learning
       | curve to picking this up. Normally, that's fine, but this is my
       | browser. I live in the thing and there's no other piece of
       | software outside of my IDEs that affects my productivity more.
       | When I took the time to learn VIM a few years ago,
       | retrospectively, I could have about spent half as much time
       | learning it as I did and skipped a handful of things I don't use.
       | The tone isn't meant to be negative -- that 50% is tremendously
       | useful and it's rare that I don't over-learn something (I enjoy
       | it).
       | 
       | I'm hoping someone who uses Nyxt as their "primary browser"[0]
       | might be able to provide their thoughts on any of my questions --
       | 
       | I use VIM/VIM plug-ins, but Firefox; what's the experience of
       | becoming proficient with Nyxt?
       | 
       | Is there any tool/first-timer/quick-start that works better/worse
       | for acquiring the muscle-memory?
       | 
       | Outside of "keyboard" ... As a full stack web developer (various
       | front-ends, mostly .NET web FWIW), what are the "big reasons"
       | that I want this (killer app?)? Put other ways: Are there any
       | interesting "one-liners"[0] that solved real problems developing
       | web-sites? Is there any feature that is so amazing that you
       | agonize over it not being available when you're not on your own
       | hardware?
       | 
       | Basically, I'm trying to answer (for myself) whether or not it's
       | worth the effort to explore integrating this into my work
       | tooling, so I'd love any other input.
       | 
       | [0] I've not used the product; I'm referring to its
       | programmability -- I can see its use (and do this, today, kludg-
       | ily) -- but I'm wondering if there are any use cases that were
       | surprisingly "magical".
        
         | cle wrote:
         | If you think of this as an interactive API over your browser,
         | there are a lot of possibilities, as it significantly lowers
         | the barrier to entry for browser dev.
         | 
         | One thing I've always wanted is a way to sync cookies between
         | my browser and curl, something like that would be relatively
         | trivial in Nyxt, assuming it exposes APIs for managing cookies
         | (and if it doesn't, I'd imagine it would be easy to add).
         | 
         | I can easily imagine myself writing little functions like I do
         | in Emacs to automate various things, like iterating over all my
         | tabs and shoving their URLs into a text file, or searching
         | through the _content_ of all open tabs, or adding little menu
         | shortcuts like "append this highlighted text to an email
         | message text box in another tab", or "take the highlighted
         | text, construct a new URL based on it, and open it in a new
         | tab". I do these kinds of things all the time in Emacs and I
         | love it, I would be excited to use a browser with the same ease
         | of extensibility.
         | 
         | I can also imagine, if the community is large enough, that
         | people smarter than me will come up with libraries for Nyxt
         | that blow my mind. This always happens to me when a powerful
         | tool is combined with a strong community.
        
         | vindarel wrote:
         | I can give you example snippets I was able to write for Nyxt,
         | that I find quite exciting, as premises of an integrated
         | platform, bluring the lines between a web browser and other
         | applications. I don't agonize in not having them in other
         | browsers, yet, but I still find the Nyxt capacities they
         | illustrate exciting.
         | 
         | - first, there's a simple file manager in Nyxt (Webkit's), the
         | open file command is bound to C-x C-f, just as in emacs, so
         | it's at easy reach. We can open a directory view, an HTML file,
         | a video in Nyxt. I wrote a snippet to dispatch to the right
         | application depending on the extension. There was no such thing
         | buit-in, but I could add it. Similarly, I added a command (M-x
         | open-home-directory) to open the home directory. It's easy to
         | write such simple commands.
         | 
         | - there's a built-in _git cloner_ (I contributed it, uh). M-x
         | git-clone and it asks for a directory. I can open a file or
         | directory with emacsclient.
         | 
         | - we can write hooks: I have one to open reddits links in
         | old.reddit.
         | 
         | - I have M-x download-video (built-in maybe?) that fires
         | youtube-dl.
         | 
         | - I have M-x fip-radio-save-current-playing-song, that scrapes
         | the song data on the radio's website and saves it in a text
         | file. I can view them in HTML, I can M-x listen-saved-song,
         | that searches it on youtube (it could find on a directory if I
         | already have it).
         | 
         | => they are little things that I usually do in a terminal that
         | I now do in a browser. Nyxt gives me a nice fuzzy completion
         | prompt for any list of strings, it gives me the possibility to
         | print rich text, etc.
         | 
         | There's something I didn't manage to do yet but am wanting very
         | much, is to be able to react to Webkit web events. Last time I
         | checked they were not exposed on Nyxt, only on the C side. I
         | would react to button clicks, I would add new buttons on the
         | page and react to them. That'd be awesome.
         | 
         | All this is written in Common Lisp, that is strange at first
         | (rest assured, you're normal), but it's a great language with a
         | long history of industry use, so it's solid and it's good to
         | have it on my toolbet. I am now lauching new services in CL
         | rather than in Python, that is so slow, unstable and error
         | prone.
         | 
         | my snippets: https://github.com/vindarel/next-init.lisp/
         | (outdated, I didn't follow the latest changes)
         | 
         | other great config: https://github.com/tviti/next-cfg/ and
         | https://github.com/tviti/next-notebook (interface with Jupyter)
         | 
         | An honest comparison with Python, workflow and ecosystem:
         | https://lisp-journey.gitlab.io/pythonvslisp/ (mine)
        
       | mastrsushi wrote:
       | Does anyone know of any attempts at writing new web engines? Or
       | at least one built off of WebKit to diverge from Chromium?
        
         | jmercouris wrote:
         | It is one of our dreams to resurrect this:
         | https://github.com/atlas-engineer/closure
        
         | ahane wrote:
         | https://www.ekioh.com/flow-browser/
        
         | O_H_E wrote:
         | Servo?
        
       | ibraheemdev wrote:
       | Why are most open source browsers based chromium as opposed to
       | gecko? I would think much of the OSS community would be opposed
       | to using google owned software.
        
         | sequence7 wrote:
         | I suspect the answer is because of compatibility. Chromium has
         | become the industry standard, everyone tests only on Chrome
         | (and Safari for mobile) so you can expect fewer issues if
         | you're based on chromium.
        
           | graderjs wrote:
           | But I think it's a valid question. Because for a niche
           | browser (which most of these alternate projects are),
           | mainstream compatibility for all websites doesn't seem like
           | it would be the most important thing. I think the idea of
           | using Gecko[0] is a solid one. :P ;) xx
           | 
           | [0]: https://github.com/mozilla/gecko-dev
        
             | sequence7 wrote:
             | I agree it's a valid question and it seems my suspicion is
             | not the main reason. Based on the other replies to the
             | parent it seems that choosing Gecko requires more work.
        
         | BenoitEssiambre wrote:
         | Imo, browsers need to have a standard specification and one
         | that includes an open source versioned controlled reference
         | implementation of the core parts. It seems chromium has become
         | that standard (chromium is open source afaik, not owned by
         | google).
         | 
         | I often argue against purely natural language specifications in
         | favor code based specs. I just don't think human language is
         | nearly precise enough to write an adequate specification.
         | Natural language words are incredibly polysemic and contextual.
         | Look, for example, at how many meanings the word "break" has:
         | https://www.merriam-webster.com/dictionary/break
         | 
         | Kolmogrov has long ago suggested that fully specified
         | information distills down to a computer program:
         | https://en.wikipedia.org/wiki/Kolmogorov_complexity,
         | https://en.wikipedia.org/wiki/Minimum_description_length
         | 
         | The ideal language for a pure specification might be a mix of
         | natural language and pseudo code with a pseudo test suit.
         | However, if you are writing that, you might as well go one step
         | further and write working testable code.
         | 
         | I like the concept of Literate Programming
         | (https://en.wikipedia.org/wiki/Literate_programming) and its
         | descendants of having code with extractable inline comments
         | that auto generate documentation. I would argue that modern
         | pull request based workflows that tie discussions to version
         | controlled code changes are also the progression of this line
         | of thought. A cleaned up version of these might make sense for
         | a specification.
         | 
         | And I get some of the concerns. While natural language under
         | specifies, reference implementations over specify. This is more
         | of a problem with low level languages however. Modern high
         | level languages are getting fairly close to a form of pseudo
         | code. I fully agree that the reference implementations
         | shouldn't contain or should hide, low level optimizations. I
         | also understand that reference implementations can unduly tie
         | specs to specific hardware, OSs and platforms.
         | 
         | But to me, over-specification is less of a problem than under-
         | specification and it can be mitigated by labeling particular
         | functions or blocks of code as implementation specific and not
         | part of the spec.
         | 
         | Without spec written in code, the different implementations
         | always have subtle incompatibilities. I see egregious versions
         | of under-specification in government where horrendously vague
         | specs are created in order to issue RFPs for getting software
         | built. They usually end up with non working software at mind
         | blowing cost.
         | 
         | People have this weird misconception that you are contracting
         | out to build software. You are not. Building software is really
         | easy. You press the build button or type the compile command.
         | Building software has been fully automated for a while now.
         | What is difficult is designing software and specifying what it
         | must do. This is because there is a vast jungle of protocols,
         | business flows, hardware and software platforms that need to be
         | interacted in different ways for different needs. This is what
         | needs to be specified and only computer code can do it
         | adequately.
         | 
         | I wish that Mozilla adopted the chromium core. We really need a
         | well funded non-profit managed release of the reference
         | browser.
        
           | cylinder714 wrote:
           | This is really, really good, thank you.
           | 
           | My only concern is that one ends up with something like TeX,
           | written in a long-obsolete dialect of Pascal, requiring a
           | translation layer to convert the source into a more relevant
           | language (C).
        
         | mavroprovato wrote:
         | If I'm not greatly mistaken, there is no way to embed Gecko in
         | a desktop application right now
        
         | fmakunbound wrote:
         | IIRC, Mozilla killed off embedded gecko years ago.
        
         | ginko wrote:
         | What I'd like to see would be more projects picking up Servo.
        
           | nvrspyx wrote:
           | Perhaps when it's production-ready. There's still quite a lot
           | of work to be done before then.
        
         | jmercouris wrote:
         | We are not based on Chromium, we are engine agnostic. As to why
         | no Gecko support? Mozilla does not make it easy!
        
           | servilio wrote:
           | Have you looked at Servo instead?
        
             | dijit wrote:
             | I have,
             | 
             | I was working on replacing QtWebEngine(chromium) for
             | Qutebrowser with Servo. It is very far from ready, most
             | websites do not render correctly and JavaScript is very
             | hit/miss with regards to updating the rendered view.
             | 
             | Simply put: Servo is not possible to use as a daily driver.
        
               | lufte wrote:
               | Interesting. Do you have that work available anywhere?
        
             | hawski wrote:
             | Servo is not done.
        
             | shakow wrote:
             | Servo is not yet ready for everyday use. Moreover, Mozilla
             | fired most of its team working on it, so notable progress
             | is not to be expected in the short term :(
        
         | pojntfx wrote:
         | If I remember correctly, it is much harder to use Firefox's
         | components outside of Firefox than it is to do with
         | Chromium/Blink. There is a reason why there is no relevant
         | Electron alternative based on Firefox/Gecko. On Android the
         | situation is different but not on any other platform:
         | https://mozac.org/
        
           | HeckFeck wrote:
           | Is/Has there been much interest in doing this at Mozilla?
           | More people using their renderer is good for them in the long
           | run.
        
             | e3bc54b2 wrote:
             | Historically, Firefox has been the only moneymaker for
             | Mozilla. It is possible they didn't want to make it easy to
             | embed so anyone can create second FF on top of their work
             | and compete without paying dues. Electron and single
             | applications built fully on top of browser engine alone is
             | relatively new, and possibily out of Mozilla's field of
             | vision back then.
             | 
             | But, that is speculation, and I have no proof whatsoever
             | other than tangential conclusions from Mozilla's blunders
             | in recent years.
        
               | whatshisface wrote:
               | A much more realistic explanation would be that any
               | software that isn't specifically designed in a decoupled
               | way will be coupled at a million points and impossible to
               | separate.
        
               | samatman wrote:
               | It's probably both.
               | 
               | The only upside for Mozilla is that making Gecko
               | available is the right thing to do. Which, for a
               | nonprofit, matters, and I'm sure that having an Electron-
               | equivalent is the kind of thing that would be considered
               | cool by staff.
               | 
               | But there is the downside that it makes it easier to
               | build browsers which would compete with Firefox for the
               | shrinking niche that is "doesn't run Chrome or Safari". I
               | guess you could make a case that such browsers would take
               | at least as much share from Chrome as Firefox, maybe more
               | even; but you could make the other case as well.
               | 
               | When you add the additional downside that it's probably
               | many man-decades of work to do it at all, well, then it
               | doesn't happen. Although the existence of GeckoView
               | implies that Firefox and Gecko aren't as tightly coupled
               | as they could be.
        
               | e3bc54b2 wrote:
               | Isn't that the point? Making the engine decoupled and
               | embeddable just wasn't on Mozilla's radar, and it
               | suffered as a consequence.
               | 
               | Chrome team was advcied very early in their development
               | by none other than Android team to go for WebKit because
               | it was easier to work with. Not Presto, not Gecko. So at
               | least since back then, thud feature was at least somewhat
               | on Apple's list of priorities. I'm not sure if it got
               | carried over from KHTML, but if it did, they didn't break
               | it intentionally.
               | 
               | Back in IE horror days I remember using Avant Browser. It
               | used IE to provide fancier features like tabs. I never
               | remember Gecko anywhere in discussion for being a
               | platform to build on top of, except for other Mozilla
               | projects (FFOS, Thunderbird) that Mozilla dropped sooner
               | or later.
        
               | aakkaarr wrote:
               | I am sorry but you are wrong. I remember times when first
               | company forked WebKit to make their WebKit based browser
               | (it was apple creating safari, or if my memory is wrong
               | it was Google and their chrome). Mozilla foundation was
               | much upset they didn't choose Gecko. But the company
               | (Apple?) said it was because easiness of own
               | implementation. Gecko was too hard to adapt.
        
               | meltedcapacitor wrote:
               | Mozilla making money? LOL. Google just sends them spare
               | change, pretending to pay for placement, to have an alt
               | browser to show to antitrust authorities. Third-party use
               | of Gecko satisfies that too.
        
             | vfclists wrote:
             | Mozilla has never been truly sincere in their claimed
             | desire to create a browser builder toolkit.
             | 
             | Even their own developers were disappointed when they
             | changed direction.
        
             | 0x_rs wrote:
             | Not since the days of XULRunner, which is ancient nowadays.
        
               | smazga wrote:
               | Conkeror (basically Nyxt on xulrunner...exactly what the
               | upper comment is asking about) used to be my browser of
               | choice. It was baffling to me when they deprecated
               | xulrunner. Like, why?
               | 
               | There was supposed to be an alternate way to do it
               | (running with 'firefox -app' or something), but it was
               | poorly documented and constantly breaking in new
               | versions, so I eventually gave up.
        
               | JasonFruit wrote:
               | I loved Conkeror, but I think this one might be even
               | better, once I've gotten used to its quirks. I'm kinda
               | stoked right now.
        
               | donio wrote:
               | RIP conkeror, miss you dearly
        
             | kilian wrote:
             | They have Geckoview on Android but from what I've heard
             | there was no interest in making that available for other
             | platforms, and this was _before_ they fired a ton of their
             | technical staff. A shame really!
        
             | gostsamo wrote:
             | I think that Mozilla has a project for decoupling the
             | browser components but I'm not sure if it will result in
             | further projects. The name was something like project
             | Stylus, but I can't find it now and I might be wrong about
             | the name.
        
             | avery42 wrote:
             | Yes. There was an experimental project called Positron [0]:
             | "a experimental, Electron-compatible runtime on top of
             | Gecko". It was discontinued in 2017 [1].
             | 
             | AFAIK the only thing around nowadays is GeckoView [2] for
             | Android.
             | 
             | [0]: https://github.com/mozilla/positron [1]:
             | https://mykzilla.org/2017/03/08/positron-discontinued/ [2]:
             | https://mozilla.github.io/geckoview/
        
       ___________________________________________________________________
       (page generated 2021-05-20 23:01 UTC)