Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
What's next after Firefox 3 and Gecko 1.9?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 26 - 40 of 40 - Collapse all  -  Translate all to Translated (View all originals) < Older 
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Mike Beltzner  
View profile  
 More options May 21 2008, 5:32 pm
Newsgroups: mozilla.dev.planning
From: "Mike Beltzner" <beltz...@mozilla.com>
Date: Wed, 21 May 2008 14:32:28 -0700 (PDT)
Local: Wed, May 21 2008 5:32 pm
Subject: Re: What's next after Firefox 3 and Gecko 1.9?
That's not going to change, and I more fear us changing the way we work in a
potentially futile hope to modify the way reporters report on us.

Gregg's a good guy, and while I would have appreciated him mentioning that
Schrep explicitly called this a "draft" plan, he's trying to report honestly
on what he's observing. I don't think it's a problem at all, and we should
continue to educate journalists and observers to the fact that this is how
software development works. People propose plans, people discuss them, and
figure out if it's the right thing to do. We just do all of that in the
open. It's a double whammy - people need to get used to learning how
software is made, and the idea that we do it in the open.

Let's work with people like Gregg to help him understand what we're doing,
and perhaps encourage him to interact with us here.

cheers,
mike


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Finkle  
View profile  
 More options May 24 2008, 8:43 pm
Newsgroups: mozilla.dev.planning
From: Mark Finkle <mark.fin...@gmail.com>
Date: Sat, 24 May 2008 17:43:43 -0700 (PDT)
Local: Sat, May 24 2008 8:43 pm
Subject: Re: What's next after Firefox 3 and Gecko 1.9?
In addition to choffman's points, we really need to make "workarounds"
available to show extension developers how to rewrite the old code to
the new code. We have had a decent set of good examples in the 1.9
timeframe, but there are times where changes are made and no
background is given for how to convert existing code. This slows
things down.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Finkle  
View profile  
 More options May 24 2008, 8:49 pm
Newsgroups: mozilla.dev.planning
From: Mark Finkle <mark.fin...@gmail.com>
Date: Sat, 24 May 2008 17:49:29 -0700 (PDT)
Local: Sat, May 24 2008 8:49 pm
Subject: Re: What's next after Firefox 3 and Gecko 1.9?
On May 19, 9:58 pm, Boris Zbarsky <bzbar...@mit.edu> wrote:

> chris hofmann wrote:
> > The best thing that could be done is to map out *which* APIs might
> > change, then do a bit of estimating on what the impact of the changes
> > might be on extension compatibility and the back end of the schedule.  
> > Where is a good area to start mapping out the proposed changes?

> Can we turn that around?  Would it be possible, given an interface, to scan AMO
> for binary extensions that use that interface in their binary blobs?

Sure, I have routinely asked AMO to given me a grep of addons using
certain interfaces. They are usually very prompt with the information,
especially if used to help keep extensions functional.

> > The other thing is that if we are going to change APIs, we need to get
> > this work done early, and enforce some early API freeze dates.  

> The problem is that API changes are not the end in and of themselves, usually.
> They are often needed, for our core "internal" APIs to address other issues that
> come up.  No one is suggesting changing APIs for the fun of it, I don't think.

> For example, note that if a blocker issue comes up in RC1 right now that can be
> most easily fixed by changing nsIContent we would change nsIContent before we
> ship final.  The question is whether 1.9.1 should be held to a higher bar than
> this (as 1.8.1 was).

If a blocker comes up in RC1 and we fix it by changing nsIContent in
such a way that breaks extensions, then I think we have done a bad
thing. At this late stage, we certainly should be favor non-ideal ways
(short-lived private interfaces, maybe) over outright breakage. If we
do make breaking changes (for extensions) we should be moving into
some tactical mode of extension developer outreach - before the code
lands.

We don't get a bad rap from extension developers for no good reason.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Boris Zbarsky  
View profile  
 More options May 25 2008, 12:08 am
Newsgroups: mozilla.dev.planning
From: Boris Zbarsky <bzbar...@mit.edu>
Date: Sat, 24 May 2008 23:08:16 -0500
Local: Sun, May 25 2008 12:08 am
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

Mark Finkle wrote:
>> Can we turn that around?  Would it be possible, given an interface, to scan AMO
>> for binary extensions that use that interface in their binary blobs?

> Sure, I have routinely asked AMO to given me a grep of addons using
> certain interfaces. They are usually very prompt with the information,
> especially if used to help keep extensions functional.

I'm not sure a grep would catch binary blobs using the interface.  Those are the
things we're worrying about here, not JS using the interface.

> If a blocker comes up in RC1 and we fix it by changing nsIContent in
> such a way that breaks extensions, then I think we have done a bad
> thing.

Given that extensions shouldn't be using nsIContent to start with, really, I
don't think we are.

> At this late stage, we certainly should be favor non-ideal ways
> (short-lived private interfaces, maybe) over outright breakage.

The question is whether adding 4 bytes to every single DOM node is worth
avoiding possibly breaking binary blob extensions that are using internal APIs
that we clearly say are very unstable.  On the 1.8 branch, the official answer
to that was "yes", but it might have been the wrong tradeoff.  I certainly think
it's the wrong tradeoff before we ship.

> If we do make breaking changes (for extensions) we should be moving into
> some tactical mode of extension developer outreach - before the code
> lands.

_Any_ change to _any_ interface is a breaking change for binary blob extensions.
  Again, this is why we didn't make them on the 1.8 branch.  I fully agree on
outreach for API changes at this late date or on the branch in general.

> We don't get a bad rap from extension developers for no good reason.

A bad rap from extension developers who are using internal interfaces we tell
them not to use?

Would we care about a bad rap from extension developers that binary-patched
libxul and complained when the library bit pattern changed in a security update?

If we wouldn't, where is the line drawn and why?

-Boris


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Sergey Yanovich  
View profile  
 More options May 25 2008, 3:57 am
Newsgroups: mozilla.dev.planning
From: Sergey Yanovich <ynv...@gmail.com>
Date: Sun, 25 May 2008 10:57:22 +0300
Local: Sun, May 25 2008 3:57 am
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

Boris Zbarsky wrote:
> _Any_ change to _any_ interface is a breaking change for binary blob
> extensions.

Could you elaborate a bit, why this happens? Because IID should change,
whenever interface changes, right?

IIUC, if an interface changes that an extension *implements*, the
extension will crash. If an extension only *calls* some
methods/attributes of an interface, and the order of methods/attributes
changes in the interface, or methods/attributes are removed from the
interface, or methods/attributes are inserted into the interface
anywhere but at the end, the extension will crash. However, if
method/attributes are inserted at the end of the interface, everything
should be fine.

The last case is an exception to the quoted rule, right?

--
Sergey Yanovich


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike Shaver  
View profile  
 More options May 25 2008, 7:59 am
Newsgroups: mozilla.dev.planning
From: "Mike Shaver" <mike.sha...@gmail.com>
Date: Sun, 25 May 2008 07:59:14 -0400
Local: Sun, May 25 2008 7:59 am
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

On Sun, May 25, 2008 at 12:08 AM, Boris Zbarsky <bzbar...@mit.edu> wrote:
> A bad rap from extension developers who are using internal interfaces we tell
> them not to use?

And for which we provide supported alternatives for their use cases, or not?

> Would we care about a bad rap from extension developers that binary-patched
> libxul and complained when the library bit pattern changed in a security update?

> If we wouldn't, where is the line drawn and why?

They're different to me because extension authors are likely to be
copying the use-of-internal-interface pattern from our code, but are
unlikely to be copying binary patching from anywhere reputable.  (We
have been concerned with getting a bad rap in the past about similarly
fragile behaviours.)

I don't know what you mean by "internal", exactly, or why we would
have internal interfaces that were accessible at all by textual name
from other code without explicit opt-in (by which I mean defining
something like MOZILLA_INTERNAL_API, not "including the wrong header
file"), but there are many use cases that are simply not workable
without use of non-frozen interfaces at the least.  nsIContent --
beyond the IID identity, I guess -- is protected MOZILLA_INTERNAL_API,
but a file like that in a public/ directory with commented and
useful-sounding methods seems like it's basically baiting you to set
MOZILLA_INTERNAL_API.  (If you're finding things like SetAttr or
GetText via lxr, you won't even see the tiny and cryptic comment at
the top of the class declaration.)  Things in our own extensions/
directory (xforms, TAF, spellcheck) use nsIContent quite liberally, to
say nothing of SVG and editor and...

Given that there is precious little documentation explaining the right
way to interact with our content model (especially if performance is a
concern), I think a good chunk of the burden for extension developers
using Impure Interfaces falls to us as well.  If we actually told
people what to do instead, from nsIContent.h or a page liberally
linked from there, I would feel better about giving developers a hard
time about using it, especially given some time after that
documentation was available for other right-thinking examples to build
up.  Right now, I think the story is "use the DOM interfaces", which
means figuring out what sort of node .textContent is on, getting a
bunch of QIs right, and being totally bereft of examples to follow to
see if you got the XPCOM arcana correct.  "Go read the W3C
specification text" is pretty unsatisfying!  (If the DOM interfaces
are so great, why doesn't more of our own code use them?)

Nobody has time to write alternative-to-internals docs, I'm sure I
will hear, and I expect that there will be a number of defensive
reactions to what I write here, but those decisions are economics.
Right now we're saying that there are more important things than
helping people get weaned off of private interfaces, by making the
Right Thing also the Easier To Figure Out Thing.  That might well be
the right decision in terms of resources, but it means that we have to
bear the cost of well-meaning and valuable extension developers
getting wed to the capabilities of nsIContent and other such friends.

Mike


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Boris Zbarsky  
View profile  
 More options May 25 2008, 10:57 am
Newsgroups: mozilla.dev.planning
From: Boris Zbarsky <bzbar...@mit.edu>
Date: Sun, 25 May 2008 09:57:22 -0500
Local: Sun, May 25 2008 10:57 am
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

Sergey Yanovich wrote:
> Could you elaborate a bit, why this happens? Because IID should change,
> whenever interface changes, right?

That's correct.  Which means the extension that uses that interface is likely to
stop working, if it gets pointers to that interface via QI.  If it gets them
from other interfaces, it would get a pointer to a vtable that differs from what
it expects.

> However, if method/attributes are inserted at the end of the interface, everything
> should be fine.

If the extension is not getting the interface via QI, yes.

> The last case is an exception to the quoted rule, right?

Sure.

-Boris


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Boris Zbarsky  
View profile  
 More options May 25 2008, 11:07 am
Newsgroups: mozilla.dev.planning
From: Boris Zbarsky <bzbar...@mit.edu>
Date: Sun, 25 May 2008 10:07:44 -0500
Local: Sun, May 25 2008 11:07 am
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

Mike Shaver wrote:
> And for which we provide supported alternatives for their use cases, or not?

That's a good question.  I'd love to provide different interfaces for their use
cases; my attempts to gather information about such use cases in the past when
people posted in newsgroups about their nsIContent, etc. use have failed.

> They're different to me because extension authors are likely to be
> copying the use-of-internal-interface pattern from our code, but are
> unlikely to be copying binary patching from anywhere reputable.

I buy this, ok.  I admit the comparison was silly.

For what it's worth, I agree that the bar for nsIContent changes after ship (if
any) should be very high.  I'm just not convinced that it should be quite that
high before ship, even at the point where we are now.  But I might be wrong on
this depending on what we've been communicating to extension developers...

> I don't know what you mean by "internal", exactly

I'm mostly thinking our main layout/content data representation: nsINode,
nsIContent, nsIFrame.  Those are the ones that would be most painful to never
ever ever change.

> nsIContent -- beyond the IID identity, I guess -- is protected MOZILLA_INTERNAL_API,
> but a file like that in a public/ directory with commented and
> useful-sounding methods seems like it's basically baiting you to set
> MOZILLA_INTERNAL_API.

Yeah, that's a bad deal.  :(

> Things in our own extensions/ directory (xforms, TAF, spellcheck)

Yeah.  Part of the reason there is performance, certainly for TAF and
spellcheck....  Perhaps in the new mmgc world using nsIDOMNode and company won't
be quite as painful in terms of incessant refcounting.  But given the way the
DOM tosses things on lots and lots of interfaces, there could still be QI costs.
   :(

> Given that there is precious little documentation explaining the right
> way to interact with our content model (especially if performance is a
> concern)

More importantly, the lack of a right way to interact with our content model if
performance is a concern.

 > I think a good chunk of the burden for extension developers

> using Impure Interfaces falls to us as well.

Agreed.

> Right now, I think the story is "use the DOM interfaces", which
> means figuring out what sort of node .textContent is on, getting a
> bunch of QIs right, and being totally bereft of examples to follow to
> see if you got the XPCOM arcana correct.

That's a pretty good summary, yes.

> Nobody has time to write alternative-to-internals docs

The docs would be less of a problem if we had an actual alternative.  What we
_really_ need here time-investment wise is either some API design or making
nsIDOM* suck less or both.

-Boris


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike Shaver  
View profile  
 More options May 25 2008, 12:13 pm
Newsgroups: mozilla.dev.planning
From: "Mike Shaver" <mike.sha...@gmail.com>
Date: Sun, 25 May 2008 12:13:13 -0400
Local: Sun, May 25 2008 12:13 pm
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

On Sun, May 25, 2008 at 11:07 AM, Boris Zbarsky <bzbar...@mit.edu> wrote:
> The docs would be less of a problem if we had an actual alternative.  What we
> _really_ need here time-investment wise is either some API design or making
> nsIDOM* suck less or both.

I have a very strong preference for the latter or something close to
it, since it would also improve content performance.

(Something close to it might be "replace nsIDOM* and make content use
that as well", for example.)

Mike


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Benjamin Smedberg  
View profile  
 More options May 25 2008, 10:03 pm
Newsgroups: mozilla.dev.planning
From: Benjamin Smedberg <benja...@smedbergs.us>
Date: Sun, 25 May 2008 22:03:30 -0400
Local: Sun, May 25 2008 10:03 pm
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

Boris Zbarsky wrote:
> Yeah.  Part of the reason there is performance, certainly for TAF and
> spellcheck....  Perhaps in the new mmgc world using nsIDOMNode and
> company won't be quite as painful in terms of incessant refcounting.  
> But given the way the DOM tosses things on lots and lots of interfaces,
> there could still be QI costs.   :(

Coupla random notes, not really disagreeing with anyone:

* This whole discussion becomes increasingly irrelevant for moz2: the JS
APIs will be the canonical/stable ones, and internal/binary APIs may change
as needed

* We can certainly condense some of the DOM APIs: there's no need to keep
separate nsIDOMX, nsIDOM3X, nsIDOMXInternal interfaces that have evolved due
to early freezing etc.

* I do think we should be tackling the problem of being able to implement
TAF and spellcheck from JS in ways that are roughly equivalent to binary
performance: it can be done with a better crossing layer and tracing.

--BDS


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Boris Zbarsky  
View profile  
 More options May 26 2008, 11:27 pm
Newsgroups: mozilla.dev.planning
From: Boris Zbarsky <bzbar...@mit.edu>
Date: Mon, 26 May 2008 22:27:38 -0500
Local: Mon, May 26 2008 11:27 pm
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

Mike Shaver wrote:
> On Sun, May 25, 2008 at 11:07 AM, Boris Zbarsky <bzbar...@mit.edu> wrote:
>> The docs would be less of a problem if we had an actual alternative.  What we
>> _really_ need here time-investment wise is either some API design or making
>> nsIDOM* suck less or both.

> I have a very strong preference for the latter or something close to
> it, since it would also improve content performance.

Yeah, agreed.

-Boris


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Boris Zbarsky  
View profile  
 More options May 26 2008, 11:29 pm
Newsgroups: mozilla.dev.planning
From: Boris Zbarsky <bzbar...@mit.edu>
Date: Mon, 26 May 2008 22:29:24 -0500
Local: Mon, May 26 2008 11:29 pm
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

Benjamin Smedberg wrote:
> * This whole discussion becomes increasingly irrelevant for moz2: the JS
> APIs will be the canonical/stable ones, and internal/binary APIs may
> change as needed

Sure, but the question on the table right now is 1.9.1 (and 1.9.0), I think.

> * I do think we should be tackling the problem of being able to
> implement TAF and spellcheck from JS in ways that are roughly equivalent
> to binary performance: it can be done with a better crossing layer and
> tracing.

Right now, even implementing them in C++ on top of nsIDOM* would come nowhere
close to using nsIContent performance-wise.  The better crossing layer there
might actually help over raw nsIDOM* use from C++ (reduce QIs).  And of course
reducing the refcounting and virtual function calls and out params etc involved
would all help...

-Boris


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Finkle  
View profile  
 More options May 27 2008, 8:54 am
Newsgroups: mozilla.dev.planning
From: Mark Finkle <mark.fin...@gmail.com>
Date: Tue, 27 May 2008 05:54:00 -0700 (PDT)
Subject: Re: What's next after Firefox 3 and Gecko 1.9?
On May 25, 12:08 am, Boris Zbarsky <bzbar...@mit.edu> wrote:

> Mark Finkle wrote:
> > If a blocker comes up in RC1 and we fix it by changing nsIContent in
> > such a way that breaks extensions, then I think we have done a bad
> > thing.

> Given that extensions shouldn't be using nsIContent to start with, really, I
> don't think we are.

> > We don't get a bad rap from extension developers for no good reason.

> A bad rap from extension developers who are using internal interfaces we tell
> them not to use?

I was speaking in a more general sense (applying to any externally,
usable interface), using your specific nsIContent case as an example.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Boris Zbarsky  
View profile  
 More options May 27 2008, 11:21 am
Newsgroups: mozilla.dev.planning
From: Boris Zbarsky <bzbar...@mit.edu>
Date: Tue, 27 May 2008 10:21:22 -0500
Local: Tues, May 27 2008 11:21 am
Subject: Re: What's next after Firefox 3 and Gecko 1.9?

Mark Finkle wrote:
> I was speaking in a more general sense (applying to any externally,
> usable interface), using your specific nsIContent case as an example.

It's a bad example to generalize from, and the one most relevant to sicking's
original question.

-Boris


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
anaesthetica  
View profile  
 More options Jun 19 2008, 1:32 pm
Newsgroups: mozilla.dev.planning
From: anaesthetica <t.m.w...@gmail.com>
Date: Thu, 19 Jun 2008 10:32:05 -0700 (PDT)
Local: Thurs, Jun 19 2008 1:32 pm
Subject: Re: What's next after Firefox 3 and Gecko 1.9?
On May 19, 5:38 pm, schrep <sch...@mozilla.com> wrote:

Regarding whether or not Fx3.1 will ship on 1.9.1 or 2.0--I think the
Mozilla2 name is psychologically significant and should not be used
even if there's a valid reason to break APIs on what would otherwise
by 1.9.1.

Mozilla2 has a broader significance in terms of the direction and
revitalization of Gecko (as was outlined by Brendan Eich almost two
years ago (wow time flies)).

If 1.9.1 needs to break APIs, I think it would be a better idea to
call it 1.10.0, even though it's somewhat lame to have point numbers
reach 10+.  Since Fx3.1 is a *minor release* and the revisions of
Gecko (even if they do break some APIs) will still be comparatively
minor, going to 1.10.0 will make more psychological sense than going
to 2.0.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages < Older 
« Back to Discussions « Newer topic     Older topic »