cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
alexdelorenzo
Making moves
Status: In review

This would allow for Electron-like frameworks that work on top of Gecko and SpiderMonkey instead of Chromium via CEF.

It would also be good for embedding webpages in desktop applications. As it stands, CEF is the go to for this along with some WebKit-based options like WPE.

26 Comments
Salamandar
Strollin' around

Oh god yes. That could be worked on with Tauri.

Mte90
Making moves

I tried in the past with a FFOS emulator: https://discourse.mozilla.org/t/g-ene-one-day-experiment-gecko-alternative-to-electron-nw-js/7106

But mozilla tried years ago with positron: https://github.com/mozilla/positron

Maybe today with Servo it is possible and avoid to use Gecko that is so integrate in Firefox that is idficult to separate it

Status changed to: Trending idea
Jon
Community Manager
Community Manager

Hey all,

Here with an exciting update…

Your idea has received a great deal of votes (kudos) in the Mozilla Connect community, so we are upgrading the status to “Trending idea.” This means it’s now one step closer to reaching our internal teams for review—learn more about The Idea Journey.

Please keep the conversation going, add more details, and stay tuned for updates 😃

-The Community Team

trickypr
Strollin' around

I would absolutely love to see this happen. One of the easiest things I would love to see was better documentation and examples for using embedded gecko in your own application. Thunderbird currently does this, I presume using browser.chromeURL or toolkit.defaultChromeURI. I would absolute love to see better documentation of the process of using these and the surrounding file structure.

I would avoid using Servo as it is less actively developed then Gecko and no longer associated with Mozilla.

Ponda
Making moves

It could help in wider adoption of Gecko, plus many app developers could prefer Gecko over Blink due to lower average memory consumption, which is especially important in gaming.

Status changed to: In review
Jon
Community Manager
Community Manager

Hey all,

Here with another exciting update…

This idea has been upgraded to "In review" which means it will be brought to our internal teams for review—learn more about The Idea Journey. As soon as we have another update on its status, we’ll let you know right here in the comment section.

Stay tuned 😃

-The Community Team

trickypr
Strollin' around

So, this has been bugging me, and after some messing around, I have an example application that works. There are some technical problems with it, like a lack of windows support and the browser toolbox not working, but it proves that it is possible.

I believe that Mozilla could make this practical for larger applications that could benefit from the more powerful parts of gecko, like web browsers. Gecko, in its current state is fairly close, all that is missing is:

  • Something similar to Firefox artifact builds for all projects to reduce compile time
  • Decent docs and examples (everything I have done so far is just based on reverse engineering)
trickypr
Strollin' around

I have been experimenting and I think this is fairly close to reality. I have a functional "Hello World" gecko app that I have been working on. There are bugs, like browser toolbox refusing to work, but I think better documentation could fix it. I think that the following would make it practical (and maybe even better than chromium) to use Gecko for large apps, like web browsers, outside of Mozilla:

  • Decent docs and examples: It would be nice to not have to try and guess what things do and learn via trial and error. Better documentation surrounding bootstrapping gecko and custom xul elements like `<browser />`

  • Some form of artifact builds: Firefox artifact builds are great and it would be amazing if there was some way of using them within custom applications if we aren't modifying parts of Gecko
  • Allow third party developers into the build tool: The build tool assumes you are building Mozilla products, it would be nice if it was a bit smarter
Daseinn
Strollin' around

Very important since Servo days

cirlo
Strollin' around

I feel like detaching Gecko (& SpiderMonkey) from Firefox UI is the necessary for Mozilla. No Doubt.

That way:

  • other browsers could base their engine on Firefox's

  • it would be possible to make NodeJS applications based on Gecko rather than Blink (similar to what @Mte90 mentioned with Positron)

  • other companies could join and help having an engine that is truly free and open source. A common ground where everybody can contribute and assure that the web standards are respected

  • extracting Gecko from Firefox would also decrease code coupling and probably help greatly cleaning up the code (due to the introduction of a clean external interface to Gecko).

Anonymous
Not applicable

Why is it that Webkit and Chromium technologies are actively used outside of the browser, but Gecko is not?

Maverick74
Making moves

Let me just say this once:

Mozilla NEEDS THIS BADLY!!!

Varpie
Strollin' around

This is likely the reason Firefox is the only major browser that is not based on Chromium right now. The CEF and other tools like Electron provide an easy to use framework for Blink, which makes Chromium compatibility the standard, and competitors don't even question it.

If there was a Gecko based CEF equivalent, Chromium would no longer be the de-facto embedded browser of virtually everything except iOS, and it would allow developers to have an actual choice, putting Firefox back on the map.

This idea was put "in review" a year ago, I hope that the Mozilla team has had the opportunity to have a look at it and consider it.

nclm
Making moves

Offer alternatives to Chromium and Electron so that browsers and apps don’t have all to be Chrome

Chrome being by far the most used browser is only one part of the issue with this browser quasi-monopoly, with all the lack of ecosystem diversity and dominant position abuse that it can create.

There are two other tenants to it:

— Chromium: most browsers nowadays are based on Chromium (Edge, Opera, Vivaldi, Arc, Brave, …)
— Electron: most major standalone desktop of web apps are based on Electron, which is itself based on Chromium (Slack, Figma, Discord, Notion, Skype, Visual Studio Code, Whatsapp, …)

Mozilla, with its platform and the Gecko engine, is maybe the only major alternative.

But what Mozilla does with it is almost only one browser. Even if open source and freely licensed, the platform is not really ready to pick up by other developers.

I think it’s time and crucial to start turning the tech behind Firefox into an easy-to-tinker-with platform to develop new apps. And have two solutions (which could be one in some ways) to provide viable alternatives to the two points mentioned above:

— Gecko Browser Kit, a good base to easily build a browser from, with everything that is needed for creating a new web browsing app using Mozilla and Web technologies. This would be an alternative to Chromium.
— Gecko App Kit, a solid way to embed a web app into a standalone desktop app (or even mobile app). This would be an alternative to Electron.

* Names here are obviously placeholders.

New browsers and new standalone web apps would now have two choices to base themselves on: the Google one and the Mozilla one. Some existing browsers and standalone web apps might even switch from Chromium and Electron to the Gecko-based solutions, if what Mozilla provides has some advantages or if they believe enough in web diversity.

I feel only this would bring back some choice and cracks some of Google’s monopoly. Operating on the user-facing browser front alone is not enough.

And this might bring more hands to help with developing Gecko and Mozilla technologies: if some companies or organisations that make Gecko-backed browsers and apps start contributing back to the project, this would improve things for everyone and release some stress from Mozilla.

Eventually, Firefox itself could be based on this “Gecko Browser Kit”, becoming only one of the browsers based on this, and the reference implementation.

I see two precedents in Mozilla history:
— In the mid-2000s, I remember apps based on Gecko/XUL being released, probably as it was a good platform to make cross-platform apps. There was for instance Songbird, a music player.
— More recently, Mozilla released GeckoView, an alternative to WebView on Android. This is excellent, and exactly along the lines of what I’m proposing here: identifying where Google/Chromium/Blink is used outside of simply Chrome, and offering a Mozilla alternative there.

This is crucial and it would help preserving the open web as much as making Firefox.

Jon
Community Manager
Community Manager

(Note: a similar idea has been merged into this thread)