| <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. |