<chrisn> |
rickg: why don't you
introduce yourself? |
<ncode> |
is mozilla the lecture channel? |
<Sjoerd> |
ben: with PNG and alpha-channel
this could be done with translucent white and black pixels, right? |
<rickg> |
I'm rickg, Director of Engineering at
Netscape. |
|
I was one of the original architects of
Gecko. |
<Ben_Goodger> |
sjoerd: I dont know,
I just used a transparent gif. :) |
<Asa> |
hi rickg |
<rickg> |
hello |
<chrisn> |
ok, if we could get a quick introduction
from everyone else, we'll get started. |
|
I'm chris nelson, and I maintain mozillaZine... |
<Sjoerd> |
ben: are they already
black and white, or do you have to make a new picture for every
color? |
<Asa> |
Asa Dotzler: mozilla advocate |
<FrodoB> |
Mark Anderson, college
student, Web developer, and Mozilla advocate extraordinaire. |
<jst_home> |
I'm Johnny Stenback, a DocZilla developer... |
<MattyT> |
matthew tuck: I don't
know why I'm here |
<Ben_Goodger> |
Ben Goodger, questionable UI advances |
<chrisn> |
also, if some of you
could log this chat in case I get disconnected... |
<zinebot> |
Just appeared in Slashdot:News for Nerds.
Stuff that Matters. (http://slashdot.org/index.pl?section=): Linux
Scavenger Hunt Party |
<Sephus> |
Stephan Nedregaard:
developer |
<Tekhir> |
I'm Jeremy, web dev |
<Sjoerd> |
Sjoerd Visscher, website
scripter |
<Tekhir> |
chrisn: I'm making a log too |
<trudelle> |
Peter Trudelle, XPToolkit
mangler, sheriff du jour |
<chrisn> |
Tekhir: ok, thanks |
<Ben_Goodger> |
hi simon |
<rickg> |
Hey Simon. |
* smfr |
awaits pearls of wisdom
from rickg |
<chrisn> |
alright, well someone feel free to throw
out the first question |
<rickg> |
I'll go first... |
|
What the heck is the
story behind the moose? |
<smfr> |
floppy moose? |
<Ben_Goodger> |
that's what I'd like
to know. |
<rickg> |
MMhhmm |
<akk> |
It's highly technical. |
<chrisn> |
the moose? |
<rickg> |
Ok, I'll have to read
about it in Dr Dobbs. |
<MattyT> |
ok, I' |
<rickg> |
The moose is mascot/architect
of the ender project. |
<chrisn> |
ah |
<Asa> |
RickG: Where is gecko
now (standards support, speed, whatever) and where is it going? |
<rickg> |
Hi Dawn. |
<endico> |
hi! |
<MattyT> |
I've heard the mathml people talk about
how they hook in being ad hoc, how much work would it be the add
a general interface to nglayout so that say adding svg would involve
no nglayout work? |
<rickg> |
Let's start with where
we are, then I'll go back to MathML... |
|
Speed: fast now, and
getting better weekly. |
|
The nice thing is that
the core layout team is focused on perf/stability. |
|
Standards support: we
just did a presentation at WebGuild, and blew IE off the podium. |
* Asa |
cheers |
<chrisn> |
sweet! |
* Ben_Goodger |
cheers too |
<rickg> |
But we have some work
to do, too. |
<Sephus> |
Standards support: Blowing IE off the
podium isn't enough... |
<chrisn> |
rickg: how far from
completed is HTML 4 & CSS1? |
<rickg> |
Ok, then how about this... |
|
HTML 4.0 Transitional is in the mid to
high 90%. |
<FrodoB> |
What's missing, then? |
<rickg> |
CSS1 is largely done, I believe, though
we've suffered setback recently. Our chief style engineer has departed
to focus on his family. |
|
We've moved the bar up a bit. |
<chrisn> |
rickg: who was that? |
<rickg> |
Peter Linss. I hope everyone will mail
him at peter@linss.com and ask him to come back! : ) |
|
The bar... |
|
We're now focused on DOM level2, CSS level
2, and XML. |
* Asa |
cheers again |
<rickg> |
The problem with standards, of course,
is that they don't sit still. |
<chrisn> |
rickg: focused on them
with the goal being? |
<rickg> |
And we have to get or system done and
out the door for this to mean anything. |
|
Focusing on Css2, for example, enables
XUL functionality, while enables web developers to make better UI/applications. |
|
So, our priorities are... |
|
1) Ship soon; 2) Ship something *great*
soon |
|
next question... |
<chrisn> |
are the goals of 100%
HTML 4.0 Transitional, CSS1, XML and DOM Level 1 still there? |
<rickg> |
Yes. |
<chrisn> |
(by release that is) |
|
ok |
<MattyT> |
rickg: mathml? |
<Tekhir> |
rickg: How is incremental
reflow coming along? |
<rickg> |
Incremental reflow is getting better every
day. |
|
The biggest problem we have now... |
|
is content sink update. |
|
We've got "top men" working on he problem
everyday. |
<MattyT> |
rickg: a lot of people
seem to agree |
<chrisn> |
content sink update? Could you explain? |
<rickg> |
with our goal, or our
improvement gains? |
|
Yes... |
<MattyT> |
chrisn: that's the most voted bug |
<rickg> |
The content sink is
an interface that lives between the backend and the document. |
|
When a document streams
into the parsing engine, it's routed to the sink. |
|
The sink then routes
it to the doucment, and nodes are created. |
|
The sink itself is lightning
fast, but updating the content model is not "incremental" enought. |
|
MathML? |
|
What was the question? |
<MattyT> |
I've heard the mathml people talk about
how they hook in being ad hoc, how much work would it be the add
a general interface to |
|
+nglayout so that say adding svg would
involve no nglayout work? |
<rickg> |
oh yes... |
<MattyT> |
chrisn: I think the gist of rickg's last
comments were that lists and tables don't incrementally appear |
<rickg> |
That's true. |
|
We cache content until
the close tag for a given element. |
|
One of our engineers
has apparently made great strides this week. |
|
SO, mathML... |
|
The problem that the
MathML folks have had, as far as I know, is that we don't have a
public mechanism for extending the frame system. |
|
This is a hard problem. |
|
We don't want to hack
an interface, only to have to replace it later. (It makes engineers
really mad). |
|
So MathML folks have
had to hack their frames into the layout DLL. Very bad. |
|
(Very bad means unfortunate). |
|
Early next year, we'll
be freezing our interfaces. |
|
At that time, we might
be able to free up someone to look into what it would take to allow
frames to be more XP-COM based. |
|
<done> |
<Asa> |
rickg: It might help some of us if you
could give a quick description off the organizational breakdown.
Do you have several teams working on different areas of layout?
Is there an HTML team, a stability team, a DOM team, an XML team,
etc. and where are the priorities? |
<rickg> |
My friends in management
will not like this, but I'll tell you the truth... |
|
We have several teams
working on mozilla. |
|
Layout, Ender (my two
favorite) |
|
(ender is the editor
built upon Gecko) |
|
XPFE |
|
Security |
|
Javascript |
|
Mail/News |
|
Browser core |
|
Installer |
|
QA |
|
(I'm probably missing
someone) |
<MattyT> |
internationalisation? |
<rickg> |
Yes of course, Sorry. |
<kerz> |
Necko? |
<rickg> |
Again, I beg your forgiveness.
Yes, Necko is a very important element. |
<MattyT> |
nspr? |
<chrisn> |
heheh |
<rickg> |
And a few secret teams, too... : ) |
<MattyT> |
I think we should get
a bit closer to rickg's core competency =) |
<rickg> |
NSPR is a seperate team altogether. They're
not part of CPD. |
|
Yes, thanks. |
|
So... |
<chrisn> |
damn the secret teams.
bring those agents in from the cold! |
<Ben_Goodger> |
rickg: for building the nuclear deployment
component? |
<MattyT> |
nspr is used by netscape
servers I assume |
<rickg> |
Yes. |
|
Our plan is to acquire to nuclear subs,
and be the first software company with thermonuclear capabilities. |
|
(Kidding) |
<Ben_Goodger> |
will there be a XUL
interface for this? |
<rickg> |
Back to priorities... |
<Ben_Goodger> |
hehe |
<rickg> |
Each of the components is at a different
stage. |
<FrodoB> |
(So, would that be a
Neckular sub? ;) ) |
<MattyT> |
can you tell us a bit more about the creation
of nglayout? |
<rickg> |
The gecko team is working
on perfomrance and stability. |
|
Matty: yup. |
|
NGLayout came about
when Netscape bought DigitalStyle. |
|
Kipp Hickman, Principal
Engineer extraordinare, realized they needed a new layout engine. |
|
I've been building layout
engines since 1988, and many of us have built style based editing/publishing
tools since the early 1990s. |
<kerz> |
any this big? |
|
or bigger? |
<rickg> |
Some of you may have
heard of Pages by Pages. It was a very cool publshing system for
the Next. |
|
It was much bigger than
this one. |
|
So we have lots of tricks
up our sleeves still. |
<Tekhir> |
hehe, I own Pages |
<rickg> |
My hero. |
|
So we had a vision for
a much faster/smaller componentized layout engine. |
|
Netscape needed it,
and infused my little team with great folks, like the Ender team. |
|
The project was very
contentious at first. |
<Sjoerd> |
Did the original design of nglayout include
alpha-transparency? |
<kerz> |
So were you already
at work when bought out? |
<rickg> |
Somewhat. |
|
It was our secret plan. |
|
Anyway... |
|
Netscape ultimately decided last year
to rebuild its technological base around Gecko last year. |
<nonmo> |
how much of the buggy
HTML stuff that displays ok on buggy netscape 4 layout-engine displays
"right" on Geko? |
<rickg> |
nonmo: good question. |
|
We have two modes... quirks, and non-quirks. |
|
In quirks mode, we try to behave liike
Nav4 |
|
In non-quirks mode, we try to "do the
right thing" |
<nonmo> |
what switches modes? |
<rickg> |
It's VERY difficult to know the difference
sometimes. |
<chrisn> |
rickg: that brings me
to one of our questions sumbitted in the mz forum: what kind of
UI will you have to switch between them? |
<rickg> |
Usually the doctype. But prefs may also
be available. |
<nonmo> |
can other "modes" easily
be developed? (IE mode) |
<kerz> |
Are you trying at all to mimic IE's engine? |
|
oh, heh |
<rickg> |
I'll tell you if you
promise to keep it secret... : ) |
<FrodoB> |
So, essentially, if I specify the HTML
4.0 Transitional doctype, I'd better hope I have the markup right
for nonquirks mode? |
<rickg> |
If you say doctype=strict,
we'll be much more picky. |
<FrodoB> |
I would imagine. :) |
<rickg> |
kerz: you aren't far
off... |
<nonmo> |
I have to check my HTML on like 5 different
platforms/browsers---if Moz could flawlessly simulate thouse... |
|
those |
<rickg> |
Here's something cool... |
<MattyT> |
trying to emulate all IEs layout bugs
would take a lifetime |
<Kovu> |
flawlessly is a big,
big word, no? |
<rickg> |
Let me explain... |
|
In the old codebase, all of the semantics
for dealing with tags was hardcoded in N places. |
|
In the new codebase, it's not nearly as
fixed. |
|
For example... |
|
The parsing engine allows DTD's to be
swapped in. |
<Ben_Goodger> |
is that part of the
reason why the new layout is smaller? |
<rickg> |
Yse. |
|
er yes. |
|
That's how we deal with XML, HTML, text,
ec. |
|
so... |
|
If someone wanted us to behave like IE,
they could drop in a new DTD. Cool? |
|
(It's not quite that easy, but close). |
<nonmo> |
can you explain why
it's proving hard to integrate MathTML into the layout engine? |
<chrisn> |
that is cool |
<FrodoB> |
(Well, assuming you
can emulate IE in a DTD. :) ) |
<Ben_Goodger> |
you'd have to define the visual layout
though, I guess. |
<chrisn> |
nonmo: already covered |
<nonmo> |
sorry |
<rickg> |
nonmos: see above. |
<nonmo> |
okay |
<chrisn> |
nonmo: we'll have the
log up after the chat |
<Ben_Goodger> |
rickg: any other ways that nglayout is
smaller? |
<rickg> |
Well, for starters,
there is lot's less duplication of code. For example... |
|
The old editor used
it's own layout engine of sorts to render a page. |
|
Ender uses Gecko. |
|
That's a lot of code. |
|
XPCOM has benefited
us as well. |
<Ben_Goodger> |
yeah.. |
<rickg> |
And this... |
<akk> |
Also the old layout engine was implemented
3 times (different per platform). |
<rickg> |
Hah! |
|
And this.. |
|
There iscommon wisdom
that says every app reflects the team that built it. |
|
Netscape has a set of
small, fast teams that interoperate. |
<Ben_Goodger> |
so you all went on a diet? :) |
<rickg> |
Their code is a reflection
of that. |
<nonmo> |
heh |
<rickg> |
ben: Umm, kind of. |
<Ben_Goodger> |
hehe |
<Asa> |
rickg: with ender and
UI relying on gecko, is it being taxed to its limits? |
<rickg> |
Not at all... |
<jst_home> |
rickg: Can you say if
the source for Gecko (or other currently public components) used
in the upcoming *Netscape* release of mozilla will be available
to the public (CVS tag/date) or will that version of Gecko contain
"secret" stuff like crypto or licensed code? |
<MattyT> |
How does ender hook in, eg placing a cursor
and disabling links/buttons etc |
<rickg> |
jst_home first... |
|
jst: The answer is that
almost everything in mozilla will be in Netscape, but not everything
in netscape is in mozilla. |
|
Mostly, this is for
legal reasons. |
|
Matty: ... |
<jst_home> |
Ok, thanks... |
<rickg> |
How does ender hook
in? |
|
Ender is a small component
that lives, via XPCOM interfaces on top of Gecko. |
|
It provides transactions,
editing rules, tranformation code, etc... |
|
It also uses services
of the webshell for focus, selection, etc. |
|
Most of the operationg
in ender are transactionalized operations against the DOM, via XPCOM
interfaces. |
|
Is that what you wanted
to know? |
<chrisn> |
rickg: could you tell us a bit more about
the WebGuild conference? |
<FrodoB> |
I've noticed in the
Working Draft for the CSS3 spec that there are a lot of elements
geared toward UI design. Are there any plans, when those specs are
final, to have those supercede equivalent XUL functionality? |
<MattyT> |
more of how you turn a fairly static page
into a dynamic one |
<rickg> |
ack... |
|
Ok, quickly then... |
|
FrodoB: Yes, we've worked
closely with the css group on w3c to integrate our ideas into future
specs. nothing in concrete yet, though. |
|
Chrisn: just a moment... |
|
MattyT: ... |
|
The beauty of this architecture
is that Gecko has a complete document model. |
|
Ender plugs in via a
large set of interface. |
|
Those interfaces allow
ender to cause document changes, which are updated by th normal
reflow/process. |
|
So ender is very cool,
especially because it gets to use so much of what Gecko brings by
default. |
|
If you want to address
something specific, ask again... |
|
ChrisN: the webguild... |
|
About a year ago, I
was asked to present the *very* early demo on Gecko. |
|
As a follow up, we went
back to debate with Microsoft on the state of the browser war. |
|
The MS guy was nice
enough, and credible, too. He seems like he cares about what he
was doing. |
<Kovu> |
bloody forehead, brick wall? |
<rickg> |
But our own Eric Krock
was on a mission. |
<chrisn> |
was that Chris Wilson, perchance? |
<rickg> |
Even though he had larengitis
(sp), he managed to show a side by side demo of us vs IE, and we
killed 'em. |
|
Not chris wilson. |
<MattyT> |
on function or speed? |
<rickg> |
We smoked their demo
on size, speed, and mostly on standards compliance. |
|
It was really funny
to watch. |
<Ben_Goodger> |
yeah baybee |
<nonmo> |
would you be opposed
to ad-blocking code being added to geko? |
<rickg> |
The only thing we haven't done yet...is
ship. |
<chrisn> |
that's great |
|
heh |
<MattyT> |
I guess there weren't any pages with big
tables loading on a modem ;) |
<rickg> |
No. |
<nonmo> |
cool |
<rickg> |
But look for even better
table perf next week. |
<Ben_Goodger> |
I wonder what MS has up their sleeves
with its tasman. |
<rickg> |
nonmo:... |
<FrodoB> |
nonmo: I believe he was answering MattyT. |
<nonmo> |
sorry |
<o0> |
rickg: a quick question. is residual style
being worked on? is this a beta task? |
<rickg> |
nonmo: I doubt we would
do it as netscape, but you can do it via mozilla. |
<FrodoB> |
(If Tasman is even gonna be available
for Windows.... It's allegedly coming first for Mac.) |
<nonmo> |
I'm going to use moz,
not netscape |
<rickg> |
o0: (I ran a /whois on you earlier) I
think you were set up to ask me that!!! : ) |
<MattyT> |
ok, were hooks added
for ender into gecko, or did ender already have what it needed.
I'm thinking specifically of the cursor, did they just add a DOM
element and dynamically change a CSS property or what? |
<rickg> |
Matty: one second. |
<o0> |
rickg: i have a one-track
mind :-) |
<rickg> |
oO: Residual style is my problem. I'll
get it in by beta, I promise. |
|
Matty: ... |
<MattyT> |
what is residual style? |
<rickg> |
An example of residual style... |
|
<i><div>text</i>text</div> |
|
Residual style results when the document
has style elements (inline) that are improperly formed. |
<MattyT> |
irk, bring on xhtml! |
<rickg> |
Really? Do you folks think xhtml is a
good thing? |
<chrisn> |
I'm ambivalent about
it |
<Sjoerd> |
Yes! |
<Sephus> |
yes :) |
* Asa |
doesn't know enough about it. |
<FrodoB> |
Abso-freakin'-lutely. |
<nonmo> |
one more spec to learn... |
<MattyT> |
in some ways it seems
to be, and in some ways not |
<Sjoerd> |
the XML part of it anywhays |
<nonmo> |
Why would anyone choose
to use Netscape v.5 over Moz v.1 (besides crypto)? |
<FrodoB> |
I like XML.... Enforces strict parsing.
That's why I like XHTML. :) |
<rickg> |
Features you'll really
like, and that I can't talk about. |
<irc> |
support. and branding I assume |
<Kovu> |
hiss boo :) |
<rickg> |
irc: Yes. Trust. |
<Ben_Goodger> |
like winamp and realaudio
bundled ;) |
<rickg> |
I'm sorry. You'll have to forgive me. |
<nonmo> |
it strikes me a scummy
of netscape to add proprietary crap |
<rickg> |
Please, it's not like that. |
|
It's just that we haven't announced it
yet. |
|
I don't think we even know it will remain
proprietary. |
<irc> |
well I can't argue with
crypto and 3rd party stuff not being in mozilla |
<brad> |
be nice.. there's stuff that netscape
as a corporation /can't/ release publically, and that's just a fact
of life. |
<FrodoB> |
And it's certainly not
scummy.... Any company can do that with the terms of the MPL. |
<MattyT> |
rickg: ender hooks in gecko? (above)? |
<rickg> |
brad: Thanks. |
<nonmo> |
if not proprietary then it will fold back
into Moz? |
<chrisn> |
rickg: what is your
plan for beta? and do you expect it to be coming out at 12/15 still? |
<rickg> |
matty: one moment. |
|
chrisn: Let me address matty, then you... |
<chrisn> |
k |
<rickg> |
Matty: You asked if hooks were added to
gecko for ender. |
|
The answer, is that being a layout team
who has editor experience, we knew that an editor would be built
upon gecko and designed it that way. |
|
Cursor management ties into the focus
system, which ties into event propagation, which was part of the
gecko design. (And then greatly improved). |
|
Does that answer it? |
<MattyT> |
yeah |
<rickg> |
chrisn: Beta plans... |
|
Here's where rickg the engineer and rickg
the manager are at odds... |
|
As rickg the engineer, I want this to
get out yesterday, damn it. |
<Kovu> |
amen |
|
;) |
<rickg> |
As rickg the director, I owe it to you
folks to make sure that what ships is usable. I feel that we only
have one (big) bullet left, and I don't plan to waste it. |
<MattyT> |
in my experience it's
usually the opposite =) |
<es_> |
by beta you're referring to mozilla beta
and not netscape beta right? |
<Ben_Goodger> |
what do you mean by
one big bullet? |
<rickg> |
The distinction is not useful. |
<es_> |
ok |
<chrisn> |
rickg: don't tell shaver that! |
<rickg> |
shaver is one of the
guys I respect the most. |
|
by "one (big) bullet",
I mean... |
|
I don't expect the world
to wait forever for us to provide a vision of the future. |
|
We have to execute well,
RIGHT NOW! |
<nonmo> |
how easy would you say it is to add to
geko (compared with other large open source programming projects) |
<Ben_Goodger> |
yes! |
<Kovu> |
one last chance to make sure M$ doesn't
jade Web standards |
<rickg> |
Yes... |
|
and to keep the trust
and mindshare of the web... |
|
we owe you folks a vision. |
|
<eom> |
<MattyT> |
rickg: I think Mozilla 6 will make more
of an impact that 5 |
<rickg> |
matty: how come? |
<Kovu> |
I, at least, can wait for the quality |
<MattyT> |
because 5 will attract
the independent developers that will help to build 6 |
<rickg> |
Fair enought. |
|
Fair enough. |
<Ben_Goodger> |
6 should have more user
level features. |
<rickg> |
And this... |
<Ben_Goodger> |
given the publicity
of XUL and extensibility afte r5's release |
<rickg> |
I have to say that 5 represents a new
architect, and a new vision. |
<FrodoB> |
However, I should think
that 5 will also be the one where everyone is forced to stand up
and take notice that people don't have to have incompatibilities,
if the programming is done right. |
<rickg> |
6 will be a chance for us to REALLY innovate.
If you like Gecko/Ender/XUL, wait until you see 6! |
|
Any other questions? |
<MattyT> |
rickg: so will nglayout
be shipped only with zero-known bugs? |
<Tekhir> |
rickg: Could gecko be hooked into Netscape
4.x codebase easily, if someone at netscape wanted to do that. |
<Ben_Goodger> |
FrodoB: I agree! |
|
the future looks bright
:) |
<rickg> |
tekhir: No. XPCOM is an all or nothing
thing. |
|
Any other questions? |
* FrodoB |
points to Matty's 0-bug
question. |
<rickg> |
Mmm.. |
<nonmo> |
would you still work
on Moz if you didn't work for Netscape? |
<rickg> |
We all know there's no such thing as 0
bugs. |
<Sjoerd> |
how many procent of
the time has gone into being compatible with HTML4? |
<MattyT> |
0-known bugs I said |
<brad> |
0 bugs is a misnomer..
can't happen. Many bugs are subjective. |
<Ben_Goodger> |
wasn't there a plan or a build flag or
something that would include nglayout in Classic? |
<rickg> |
Matty: no. |
|
ben: there was a LONG
time ago. |
|
nonmo asked a good question. |
<Kovu> |
I remember a Classic 5.0 beta |
<nonmo> |
if red hat (for example)
hired you to contribute to Moz, would that feel okay? |
<rickg> |
yes. |
<nonmo> |
will something like
that ever happen? |
<rickg> |
But my head is focused on 5.0, right now.
No other offers are being considred. |
|
nonmo: for me? |
<nonmo> |
or your colleges? |
<rickg> |
Yes, I know for a fact that it already
has. Folks believe in mozilla. |
<Kovu> |
colleagues? |
<rickg> |
yes. |
<chrisn> |
ok, folks - gotta wrap
it up. |
<MattyT> |
why headhunt someone i Netscape to work
on Moz when someone else is already paying them too? =) |
<nonmo> |
thanks rick. you rule |
<MattyT> |
thanks |
<chrisn> |
Thanks very much to
Rick for stopping by and answering our questions |
<_AsA_> |
Thank you Rick. : ) |
<Ben_Goodger> |
thanks, rick :) |
<endico> |
there are some people who have no longer
work for netscape who still contribute to mozilla occasionally |
<rickg> |
I'm happy to do it.
Please feel free to invite me back. |
<Tekhir> |
thanks |
<Kovu> |
see you on the other
side |
<chrisn> |
rickg: certainly will. |
<jst_home> |
Thanks Rick. |