Friday 2003-05-23
So I've been in California for over a month now. I have a nice, but small, apartment in Palo Alto, and I've been working at Netscape/AOL for a month. I have a cell phone, and a car, and even some furniture (although not nearly enough).
I find it somewhat strange to be interested in discussions of furniture shopping. But, then again, that's what happens when you move, and have a colleague who also just moved.
I've had time to focus on getting large chunks of work done on Mozilla, and I've even managed to use some of it effectively (which requires ignoring the other things going on at work). I'm done the nsCSSDeclaration “rewrite” (although it's not reviewed and landed yet), and it's a significant reduction in code size and memory footprint. In the future, I want to clean up the last things that really bug me about the style system (full style rule immutability and the removal of property-based change hints in favor of the finer-grained system that we use for most things). But most of the problems we need to fix are in layout: we need to refactor the way we compute minimum-width and intrinsic-width for shrink wrapping. I've been thinking it's going to be easier to do this by attacking line-breaking first, and then the block code. I think we also need to simplify the way we handle dynamic changes—our current system for handling re-layout is way too complicated. There's also tons of bogus XPCOM usage that needs to be cleaned up. What I really need to do is plan all these changes out in enough detail that I can figure out in what order they can be done most easily.
Now that I'm working full time, I really should be able to do mork work on CSS. But, as usual, I'm behind on my committments to the CSS working group. I try to tell myself that the standards work is more important than just working on one implementation—after all, it's the reason I got involved with the one implementation in the first place. However, working on Mozilla is more fun because there are more reliably other people who understand and are interested in what I'm doing. Furthermore, I'm really not sure how important the standards work will be given that the web is currently dominated by one implementation. Is it more useful to prepare for the possibility that that situation might change, or to try to change it?