| Modularity is a great idea, but modularity isn't always a solution. Sometimes, tight, monolithic integration is better, for both developers and end user. As an example, some companies have a single source tree with every project. Why the hell would they do that? Make 100 repos on github is better - you know which repo is which repo. Maintenance and usage headache. > A vast, vast majority of people downloading Firefox wants to just look at damn web pages. So why bundle dev tools in the first place? Remove dev tools will definitely slim firefox's size and memory footprint. Forget about error logging (null them); if you are developer just install addon so you can pipe the errors. That's better! Lightweight browser for the rest of the non-developer user! Win! Of course that won't work for Mozilla. They are not interested in maintain two separate set of builds. I am not going to do that for my software either.
It's a lot of work. > If you wanted to develop web apps, you'd want to download an IDE. Not use a web browser.v Nope. I can do this with Word, python -m SimpleHTTPServer, and a web browser to write code, test code and see code in live action. Why I don't do that and use an IDE or vim? Because of convenience. Firefox has a feature called scratchpad. See [1], and the point is that you can experiment your javascript code without having to squeeze your code into the console. It also reduces the headache of copy-paste code back and forth between console and some other places (you can't save your console code, so where do you get the code? Some file!) I wrote one add-on and the workflow is awful. See [2]. I wish I could write add-on in scratchpad without having to repeat those steps and can see error immediately by a click on scratchpad. Maybe scratchpad has this feature I am not aware of... The point is, I hate to switch back and forth between the browser, my vim terminal and the web console. [1]: https://blog.mozilla.org/devtools/2011/08/15/introducing-scr... [2]: https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Ge... > A bullshit token reason like "it's easier for novices" will not qualify. No this is not bullshit, because developers are users and some users turn into developers BECAUSE they poke around tools available to them. |
And by moving the web IDE to a separate add-on, we make it unavailable to them?
It's just more easily available. That's a huge difference. You have a web browser, you ask yourself, "how do I create webpages?" Then you maybe Google how to do it, and the answer says "it's in Firefox, just press F12", or "get this Firefox add-on, and then press F12". The difference is negligible.
If someone was to stumble across some HTML via "View Source", the result would be essentially the same as above. If someone opened the web IDE out of curiosity, she would still need to know how to use it. Tinkering only gets you so far, it's a combination of tinkering and researching that makes you learn new stuff. And if you do even a modicum of research on that, you'd learn that there's an IDE in Firefox, or that there's an add-on for Firefox.
Talents show up, one way or another. How likely is it that this particular decomposition of a monolithic application into a core application and an add-on would make some talented kid never discover their passion? I'd say it's highly unlikely. But how likely it is that a huge amount of users would need to download bigger archives of the browser, or bigger updates, or suffer from some form of bloat if the IDE was included? I'd say more likely.
New developers have been emerging since the dawn of computing, without any thought given to whether or not including something would allow some kid to poke around and discover that he likes to do it. Why would it stop now?