remove / stop shipping the shader editor

RESOLVED FIXED in Firefox 67

Status

defect
RESOLVED FIXED
2 years ago
4 months ago

People

(Reporter: clarkbw, Assigned: yulia)

Tracking

unspecified
Firefox 67
Dependency tree / graph

Firefox Tracking Flags

(firefox67 fixed)

Details

Attachments

(2 attachments)

Lets remove the Shader Editor from DevTools.  

I do think this use case is important and we need to continue to support the ability for tools like this to be created, however I don't think that currently we're adequately addressing the needs of this use case and more importantly we are shipping a bad product.

This tool is fairly broken, does not (nor planned to) support WebGL2, sees very little usage, and is not actively maintained.

We are able to get intermittent errors like the following when running on basic WebGL pages:

TypeError: replayContext[name] is undefined
Stack trace:
replayAnimationFrame@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/canvas.js:598:9
generateScreenshotFor@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/canvas.js:79:22
handler@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/protocol.js:1082:19
onPacket@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/main.js:1769:15
receiveMessage@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/transport/transport.js:761:7

There 32 open bugs https://bugzilla.mozilla.org/buglist.cgi?component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&product=Firefox&bug_status=__open__&list_id=13457985 plus others (like bug 939602) which are reported incorrectly.  

The triage owner no longer works on DevTools and we don't have anyone else who can take over.

Over a 90 day period Telemetry reports 1800 opens on release, 25 on beta, 125 on aurora, and 8 on nightly; those are just opens, not usage numbers but they are incredibly low. Only the web audio editor is opened less than the shader, but the web audio editor is still working fairly well.

A possible second life for the editor could be on GitHub where people interested in it could work together to improve and maintain it as an extension. The code is already available to those who want it and will continue to live in the source code record.
One thing that would be interesting to think about for this issue is the usage relative to other tools. If there are 1800 open events on release, how does that number compare to the other more popular panels?
Flags: needinfo?(clarkbw)
Yes, sorry that's a good question.  In the same period of time (on release) we see these numbers for other popular panels.

Inspector       Console         Debugger        Network
4,553,729	3,435,693	1,030,222	572,219

So 1800 opens is very very low.
Flags: needinfo?(clarkbw)
(In reply to Bryan Clark (DevTools PM) [:clarkbw] from comment #2)
> Yes, sorry that's a good question.  In the same period of time (on release)
> we see these numbers for other popular panels.
> 
> Inspector       Console         Debugger        Network
> 4,553,729	3,435,693	1,030,222	572,219
> 
> So 1800 opens is very very low.

Part of why the Shader Editor is less used than the 4 other tools is that it's disabled by default, and a lot of people don't know about it.
The webgl shader editor tool for chrome has 4800 users[1] despite very good reviews. I think there is a relatively small group of developers who are interested in I've editing shader programs in browser devtools - in chrome or Firefox. Offering this functionality in an extension might actually improve its discoverability, but I think only to a point.

[1] https://chrome.google.com/webstore/detail/shader-editor/ggeaidddejpbakgafapihjbgdlbbbpob?hl=en
(In reply to Tim Nguyen :ntim from comment #3)
> Part of why the Shader Editor is less used than the 4 other tools is that
> it's disabled by default, and a lot of people don't know about it.

That's part of it. But the storage editor is 12,039 opens (12x the shader) and it is also off by default so it doesn't explain all of it.  Its more of a niche panel.
Depends on: 1444755
Product: Firefox → DevTools
What is the replacement of this feature? WebGL Inspector for Firefox is no longer available.
Flags: needinfo?(ystartsev)
:emk - There are a few alternatives in the form of web extensions, we are looking into how best to communicate this to users of the panel, through a popup or similar. The panels will not disappear immediately -- these patches are to show an initial look at what the removal might be like. Here are the mentioned extensions. 

- Shader Editor Extension (https://github.com/spite/ShaderEditorExtension)
- Spector.js (https://addons.mozilla.org/en-US/firefox/addon/spector-js/#&gid=1&pid=2) 

A bit about why this is happening: This panel has been unmaintained for a lot time and is currently blocking other significant efforts in DevTools. We considered migrating this to a web extension, but after looking at the usage (less than 0.02% of users open the panel, while development on these panels for DevTools wide updates takes up to 20% of developer time) and getting feedback from the community, it became clear that the amount of time it would take to migrate it would not make sense as it would take time away from other resource critical areas. It is unfortunate, but the team is stretched quite thin at the moment. 

You can find more detail in this thread: https://groups.google.com/forum/#!topic/mozilla.dev.developer-tools/bYUl2b5qXUE
Flags: needinfo?(ystartsev)
Will you accept any new patches to Shader Editor? I'm asking because I was writing some patches recently. (bug 1340912 and bug 1340914) If not, I'll withdraw patches and close these bugs.
Although we do appreciate your patch contributions, unfortunately at this point in time it doesn't make much sense to accept them when we're in the process of removing the panel. Thank you for the effort!
Thanks for jumping in Panos,

Yes, unfortunately we won't be able to accept those patches. Thank you for the effort, we will be closing bugs related to these panels shortly.
Attachment #9031846 - Attachment description: Bug 1342237 - remove Shader Editor Actor and Front; r=sole → Bug 1342237 - remove Shader Editor Actor and Front
Attachment #9031846 - Attachment description: Bug 1342237 - remove Shader Editor Actor and Front → Bug 1342237 - remove Shader Editor Actor and Front; r=sole
Attachment #9031845 - Attachment description: Bug 1342237 - remove Shader Editor Panel; r=sole → Bug 1342237 - remove Shader Editor Panel
Attachment #9031846 - Attachment description: Bug 1342237 - remove Shader Editor Actor and Front; r=sole → Bug 1342237 - remove Shader Editor Actor and Front; r=vporof
Attachment #9031845 - Attachment description: Bug 1342237 - remove Shader Editor Panel → Bug 1342237 - remove Shader Editor Panel; r=vporof
Pushed by ystartsev@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7e2abdd135b8
remove Shader Editor Panel; r=vporof
https://hg.mozilla.org/integration/autoland/rev/be2c8c170852
remove Shader Editor Actor and Front; r=vporof
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 67
Assignee: nobody → ystartsev
Product: DevTools → DevTools Graveyard
You need to log in before you can comment on or make changes to this bug.