Followup: modularity, WebExtensions, and going faster

Axel Hecht l10n at mozilla.com
Sun Oct 9 16:48:14 UTC 2016


I have a couple of thoughts on this, on three lines:

XPCOM. We did have extensive contracts and interfaces, strictly typed 
and all. My take on the downsides is that we struggled to create 
future-proof APIs for one. Also, the implementations of those had 
undocumented ranges, bugs, and side effects that callers depended upon. 
And some of our APIs never carried fruit.

I also think that tight locking between components isn't as much about 
the API between them, but how much of the API surface is relied upon.

I wonder how other folks see our storyline to deCOM, and how we'd 
modularize without the same problem.

WebExtension compat. If we start exposing internals of Firefox needed 
for Firefox development, we'll fork the API space of WebExtensions. If 
more browser vendors do so, we'll get into a game of webcompat for 
WebExtensions. Not sure if that's helpful for the extension ecosystem.

devtools. You quoted devtools as a success story for developing quickly, 
and I'd actually say the contrary. We had several years of experience 
with js debuggers and debugging, and only then were able to create an 
API that was somewhat stable. And even then, IIRC the entry of FxOS and 
Android and Chrome debugging still opened a bunch of challenges. In that 
sense, I think devtools is a great example that you can't create good 
APIs quickly. You need a lot of experience in the field you're tackling, 
and then you can start defining good APIs, and even those still evolve.

Axel


On 06/10/16 17:08, Benjamin Smedberg wrote:
> I spent a week writing a thing about modularity, webextensions, and 
> going faster. I think it's important for us to decide the module 
> structure of our code especially as we start shipping independent 
> modules/going faster. And I believe that having better module 
> structure, boundaries, and documentation is critical to our teams 
> being more agile and also attracting contributors to the project.
>
> http://benjamin.smedbergs.us/blog/2016-09-03/modularity-and-webextensions/
>
> I personally think that we should double down on WebExtensions as a 
> model and start using that for large parts of Firefox. But Andy McKay 
> and Rob Helper had some good counter-thoughts and I've asked them to 
> post here to elaborate.
>
> In the post I asked everyone to send followups to firefox-dev, so I 
> wanted to start a thread here to collect responses. Over the next 
> months I'd like this to turn into a firm decision about how we're 
> going to build system addons; but I'd like to start by seeing what 
> feedback people have and even whether I've framed the problem correctly.
>
> --BDS
>
>
> _______________________________________________
> firefox-dev mailing list
> firefox-dev at mozilla.org
> https://mail.mozilla.org/listinfo/firefox-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/firefox-dev/attachments/20161009/bca4a538/attachment.html>


More information about the firefox-dev mailing list