Closed Bug 1366306 Opened 7 years ago Closed 7 years ago

Do for WebExtensions What Project Centennial Did for Win32 Apps

Categories

(Firefox :: General, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1252272

People

(Reporter: gagemorgan, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0
Build ID: 20170519030205
I was looking at the (absolutely terrible amount) of negative comments towards FF on ghacks.net, and the biggest complaint "the  intermediate Joe" had was the fact that WebExtensions are "in" and XUL extensions are "so 10 years ago." Microsoft saw similar backlash with Win32 and, if the following criteria can be met, it'd be awesome to have a "bridge" so-to-speak to put discouraged folks back on track to making awesome tools for Firefox:

-> Is there a "native" API to replace the functionality lost with XUL (which I've never personally used) and if not,
   -> Could one be developed for a future release in Rust (which is something I'm still struggling to learn, but I think the discipline of it is incredible)?

-> If that exists already, could a "Centennial-like" tool be developed to initiate damage control (we can't make everyone happy, but it feels like if there's a chance we could regain some folks while not upsetting others, it's a win-win).

I'm new here, but I'm here because I feel this is where most people who know what I'm talking about are. This is engineers, developers, programmers, etc. I'm a computer science student, so in the coming years, if I get the opportunity to contribute, I will. If I screwed something up, please don't jump me, I'm ignorant and need to be corrected, not crucified ;)
Severity: normal → enhancement
Component: Untriaged → General
Depends on: photon-ui-refresh
(In reply to gagemorgan from comment #1)
> I'm a computer science student, so in the coming years, if I get the opportunity to contribute, I will.

(I am just a user like you.)
You could rewrite unmaintained xul addons as webextensions and ask to add more webext APIs. That would be more effective ;)
XUL is for Mozilla like Flash for Adobe, I would say. The more time they stuck on XUL by any means, they can't work on Servo, Webrender etc. Plead for wontfix.
(In reply to Darkspirit from comment #2)
> (In reply to gagemorgan from comment #1)
> > I'm a computer science student, so in the coming years, if I get the opportunity to contribute, I will.
> 
> (I am just a user like you.)
Okay.

> You could rewrite unmaintained xul addons as webextensions and ask to add
> more webext APIs. That would be more effective ;)
I'm literally asking to make a tool to convert XUL addons to WebExtensions WHERE POSSIBLE. That doesn't mean every addon can be converted, and the ones that can't will simply fail on attempt. We need to make it possible to not ENTIRELY insult the human beings who spent YEARS working in their free time to write plugins that sync perfectly with this browser. 

Hear me out; I've never developed for either type of addon, but to me it looks like there inherently have to be features of WebExtensions that serve nearly the exact same purpose as those of the terrible XUL. 

> XUL is for Mozilla like Flash for Adobe, I would say. 
You right.

> The more time they stuck on XUL by any means, they can't work on Servo, Webrender etc.
Much as I love Servo and WebRender, no common user is going to see how amazing and FAST they are if the average user just straight up and left for Vivaldi or whatever bland flavor of Chromium is being shilled to them this month. It seems every time a change like this happens, more and more people leave. What's the point if we can't have a middle ground?

> Plead for wontfix.
Please don't. I'm being respectful here, but go look at the comments of Firefox's intermediate users and you will see an increasing amount of disdain, dread, fear, and in a lot of them, hate. Many people.

My hopes for this would be to at least retain SOME intermediates before 57 hits. No revision of API features or W3C requests is going to fix this. It becomes very burdensome to repetitively re-write portions of code in one language or even just API to another language and/or API.
Alias: xul-to-webext
No longer depends on: photon-ui-refresh
Keywords: meta
Version: 55 Branch → unspecified
Don't make this block random Photon bugs, please.

There are some important points here about the differences between what MS did and what is going on here:
- you don't need project centennial to run a win32 app on win10 desktop -- but you won't be able to run xul add-ons on vanilla copies of firefox release post-57.
- project centennial doesn't mean you then have a no-work option to switch to a UWP. It helps you convert, but it's not no-effort.
- win10 does not restrict you from running traditional win32 apps. Win10S restricts you from running non-store apps, but the UWP container stuff can still contain a traditional desktop app.

(In reply to gagemorgan from comment #3)
> Hear me out; I've never developed for either type of addon, but to me it
> looks like there inherently have to be features of WebExtensions that serve
> nearly the exact same purpose as those of the terrible XUL. 

Serving the same purpose doesn't mean there's a possibility to do a simple transform from one to the other. If you haven't ever developed either type of add-on then I don't think you understand what you're asking. XUL add-ons directly change Firefox UI layer DOM, and webextensions can't do that. We don't know what XUL add-ons do - it's akin to solving the halting problem to try and figure that out automatically.

What project centennial does is create a kind of wrapper that lets you then migrate your code to a webextension. We've done a similar thing with embedded webextensions ( https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Embedded_WebExtensions ). This allows people to convert their add-ons gradually. They still have several months to do that. However, it's not effortless (just like project centennial isn't a free lunch for win32 devs) and in our case, the old-style add-ons will stop working post-57.

We're not going to do more besides embedded webextensions. Duping to a relevant bug and unsetting extraneous flags.
Alias: xul-to-webext
No longer blocks: photon-onboarding
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Keywords: meta
Resolution: --- → DUPLICATE
Summary: [FEATURE REQUEST] Do for WebExtensions What Project Centennial Did for Win32 Apps → Do for WebExtensions What Project Centennial Did for Win32 Apps
You need to log in before you can comment on or make changes to this bug.