Gecko under Review
Elizabeth Childs sent us an excellent review of Gecko, along with some notes from the Mozilla Party 2.0. *sigh* Now, that sounds like it would have been fun. The review itself does a good job of talking about why Gecko can be such a big deal for developers. Mmm...standards.
CSS was born, promoted, and bascially died in the nursery without ever being adopted on a popular site. XSL support is the way to go if you're even considering supporting intelligent style sheet technology.
XSL is awful -- it's seven kinds of pain to try to read an XSL stylesheet, and heaven forbid trying to write a reasonably sophisticated one by hand. It looks to me that the W3C working group was seduced by the notion of using XML for everything and are now producing something that basically requires machine generation to do properly. This is bad, because it spatters complexity all over the place. The complex, hard-to-read XSL code requires the creation of complicated (and therefore buggy) code generators to create it. Then the browsers will need to be made more complex because the code generators will be creating broken stylesheets and very few people will be able to tell.
Something like DSSSL is much better; it puts all the complexity in one place -- in the DSSSL engine. Actual DSSSL stylesheets are trivial to write, trivial to read, and trivial for a machine to parse. Then someone fearsome smart like James Clark can write Jade and everyone can use DSSSL without having to reinvent the wheel each time, like XSL demands.
But even humble CSS, which is less powerful than XSL or DSSSL, is better than XSL -- because it is human-readable. I can read a CSS stylesheet and make sense of it without too much concentration, which is something I will never be able to say for XSL.
Of course, I wouldn't use any of the current style sheet technologies on a popular page right now - conformance in browsers is simply way too low to bother. Its going to be a long long time before developers of popular sites are going to be able to get beyond pushing html 3.2. Its simply not worth it to alienate users by implementing a whiz-bang technology.
Amen to this! Even if I disagree with you about CSS, this paragraph is wisdom worth quoting.
I think you've really got things confused here. XSL is not a superceding spec over CSS - it's simply another tool in our toolbox. XSL is most certainly more complex than CSS, but with reason - there's no element selection or reordering capability in CSS (barring some nasty tricks). You need to think on levels of complexity and suitability:
XSL is the most complex - use it for displaying XML data where CSS can't give enough formatting
CSS2 is less complex, but provides a great deal of formatting control
CSS1 is simple to use.
Use HTML (preferably with CSS) where you have no desire to reformat your document or publish data.
Matt.
Matt. Want XML + Apache + Stylesheets? Get AxKit.
You've got to be kidding me. XSL is all fine and dandy, but browsers don't even fully support CSS yet! A few points brought up regarding CSS:
1. "No popular sites use CSS"
Try viewing source as you browse for a week or so. You'd be surprised how many sites use it. Of course, support is very limited in 4.x browsers, so it's not as common as the whole FONT tag crap-o-rama, but it is used.
2. "What does CSS have that HTML doesn't?"
Anyone who asks this has obviously never done any web development beyond a personal home page or two. Hmmm, should I double the size of my HTML pages with 10,000 impossible to manage, lame-ass FONT tags, or should I define a style sheet in one location and use structural markup? Boy, tough choice.
A properly run web site using CSS has smaller pages, displays quicker, and can have its look radically altered via small changes to one or two files. Try manually changing every album title on a music web site to a different typeface when you've used FONT tags. Regexes and search and replace, you say? Good luck matching "an album title" in thousands of HTML files full of non-structural markup. Using CSS, you'd just change one line in a style sheet.
Database-backed web sites help in this regard, but mostly they just give webmasters an excuse to make their lives easier (since they can wrap DB-generated pages in any markup they want--they just have to change a few scripts) while continuing to saddle the public with bulky, slow-displaying, buggy, invalid HTML. And although DB-generated content makes a web admin's life a bit easier, changing several scripts is still more annoying and more risk-prone than changing one or two style sheets.
I'm not saying CSS are the best style sheet mechanism in the universe, but it makes the best match for HTML (itself a limited standard), and at this point we're lucky if we can get browsers to support CSS 1 and 2, let alone XML and XSL. "Skipping over" CSS in favor or waiting another 3 years for the X-family of standards to filter into browsers is insane, IMO. I want ease of maintenance and fast-loading pages now not in three years. We should have had it since 1996/7, but the "browser wars" gunked up the works.
CSS implementation is still incomplete in IE 5, despite the fact that MS has a patent on the technology and trumpets it as "its baby"! In going from IE4 to IE5, MS has broken its own (still non-standard!) DOM. A number of properties that most developers considered essential in 4 are unsupported in 5. XSL in my view is about as useful as fins on a hamster. XML + CSS + JavaScript provides as much functionality as anybody's likely to need for the foreseeable future. But -- oops -- wait a minute -- Microsoft's XML implementation is also non-standard. D'oh!
Must I remind you that all this wonderful MSIE 5 stuff is basically Windows-only? MS is still playing its same old, tired game... In case you haven't heard, Office 2000, IE 5, and Windows 2000 are very tightly bound together -- you can't use Office 2K to its full potential without having to use all three. IT folks are already starting to complain about this (see recent piece at InfoWorld).
Monolithic, interlocking, "use all if you use any" application suites are going the way of the dodo. Developers much prefer interoperability, modularity, and standards compliance. So do enlightened customers. Netscape/Mozilla has figured this out. Microsoft hasn't.
Il n'y a pas de Planet B.
oops, i missed a closing i tag. my bad.
According to info published in JWZ's resignation, only about thirty non-Netscape developers have joined the project.
Yep, I downloaded the code. Had a look at it, and it was a *bit* too much for me. And I would venture to say the same for most people who downloaded it. I don't have the time to read through that much code--other things have to get done.
A few months ago, I offered to start an Open Source wavelet page on my domain. I got just one response.
So you are mad no one was interested in your little project? There are many other projects out there that people are more interested in. Those get worked on. That, perhaps, is one of the weak points of Open Source.
Total? Thirty six coders. According to /. statistics, there's alot more of us right here than seem to be contributing.
Call me crazy, but I think there is a lot more going on then you have mentioned here. Not everyone wants to work on your projects.
And what about the non-coders out there? I think it is important for them to "preach", as you say, the virtues of Open Source--to let people out there know they don't have to use proprietary software.
This sig is false.
The lack of CSS on "popular sites" certainly does not mean it has died. You forget that vast amounts of private content exist on Intranets... documents that will never be seen by the general public but nevertheless can benefit greatly from CSS.
I link all pages I manage to a central stylesheet. I'm even playing with shtml that links documents to the stylesheet as they are served. This is easier for me and easier for users posting documents to my sites. It saves time, and promotes consistency and usability across sites.
I would have to say that the complex formatting attributes of CSS that "popular sites" might use don't really matter to me. CSS solves my problems nicely and certainly isn't dead in the nursery.
I've seen a huge amount of Monday morning quarterbacking ever since JWZ's resignation was released. This basically boils down to people saying, "Yeah, well I knew it would never work because it didn't adhere to what was laid out in The Cathedral and the Bazaar. My problems with this:
- Where were all these people saying "I knew this would happen" back then? If they knew it would happen, I would've thought that there'd be more messages saying, "OK, this is unworkable, we need to scrap this and do our own thing according to CatB." But no, the most consistent message was, "This rawks! Microsoft is dead now! Wheeee!"
- People need to quit acting like CatB is some immutable law. It's one man's theory -- a well thought-out one, but still just a theory that's never been proven. There have been plenty of things that sounded great in theory that don't hold up in practice. This might turn out to be one of them, or it might not, but either way it's way too early to be taking it as an ultimate truth.
Cheers,ZicoKnows@hotmail.com
- I don't have the expertise (admitted)
- When I first downloaded the code, I couldn't compile because I didn't have Motif
- My computer isn't powerful enough (according to what their website originally said)
- The first version wouldn't compile/run at all anyways
I lost interest!! It's one thing to hack on something which I can run everyday, but when I wouldn't see results because it didn't work anyways, I gave up! Maybe I'm wrong, but I think there are a lot of people like me, who would have been willing to help, but there were just too many obstacles to start with.Why don't I help out now? It still won't run without crashing on my computer, so I can't use it as my default browser. Also, I am rather busy with school.
They who would give up an essential liberty for temporary security, deserve neither liberty or security
In case you haven't heard, Office 2000, IE 5, and Windows 2000 are very tightly bound together -- you can't use Office 2K to its full potential without having to use all three. IT folks are already starting to complain about this (see recent piece at InfoWorld).
Office depends on IE5.0, which depends on Win2000.
Microsoft is very bad for this. I recently installed MSVC++ 6.0, and it provided a check box to install MSIE 4.0 in the installer -- but wouldn't allow me to continue unless I checked it!
It's getting to be a nightmare (from an admin perspective) of program dependancies. What happens when you upgrade IE without upgrading Office and Windows? Most NT admins I know are more likely to take the path of least resistance: upgrade the whole suite.
Now if a useful feature appears in MSIE (hey -- it could happen...), people are likely to upgrade all the MS product that depend on it. Of course, if they tie a profitable product like Office to a cost-free one like Explorer, then Explorer upgrades suddenly bring in money. Big win for MS -- big loss for consumers.
How can you expect to code in C++ without a browser?? The two innovations are so inter-woven, my brain is unable to comprehend attempts to separate the two. Hell, even a kernel, office suite, web browser, and programming languages cannot be separated. Who in their right mind would code in VB without first making their computer boot to a spreadsheet linking things from a database out on the web?? And all of this with a significant amount of personal information attached to each and every file, MAC address, IPs used from the last 6 years, weight, longitude, GPS coordinates. Users want these things, dammit, stop harassing me!!
As you can see, without integration of every component, computers are useless. I still can't figure out how to use the Calculator program that comes with Windowsbecuase it doesn't come up in IE. Users cannot be expected to figure out what all those buttons are supposed to do by themselves (where's that paper clip??).
Want to know what 36*36 is? Fire up the modem, connect to the Internet, download some ActiveX things, watch some Shockwave demos while you're waiting (better have a P3/500 at least too), and sooner or later you'll have the answer. Then two months later we find out there was a bug in the program and must pay $89 for the fixed dll and the actual answer to the original question. Wait, you installed a program by IBM? Well, no answers provided by your computer ever will be able to be trusted. Call up Gateway and get a new one, telling them it must be made of all MS products. That's the way of the future, folks. Embrace.
30 developers is actually a pretty decent amount, if they are making significant contributions. But the biggest reason is that Mozilla still hasn't achieved basically working status. "The Cathedral and the Bazaar" mentions that this is a necessary state to attract more developers. Developers often get hooked into making bigger mods to a program by making a simple improvement, which just isn't possible without working code.
Part of the problem is that people have been oversold on the supposed speed of open source development. Open source projects *aren't* generally that fast, they just have the inexorability of a glacier. It's only the quick fixes that open source does quickly. Expecting magic from a large project that has been redesigned from the ground up is a bit too optimistic.
Ooh, a sarcasm detector. Oh, that's a real useful invention.
Absolutely agree with you. But did YOU try out that Gecko source? I downloaded it few times, first being in Apr, 1998. It was SUCH A MESS. It is now. I don't mind catching bugs, but in MY software. NGLayout (as it was initially called) is a fairly complicated product, full of bugs. Only the one who designed it have really good chance to debug it. We simply need some solid ground to start with, not horde of bugs!
Indeed, programming for me is a hobby only and I hardly believe most of open source coders do it full-time for free (those who not students), we have to live somehow, right? So, I could and would code FEATURES (which IMO many would like to do), but not bugs. I simply have no time for that.
If Linus rolled out his big stuff full of bugs he would get same responce. He made it right, giving out at least something VERY limited but stable, so people could start their own features and not get drawn in bugs.
IMO, Netscape made a fatal mistake: being desperate in the begging of 1998 they made half-move: releasing useless pile of code, even after year of development, having full time qualified developers from Netscape (!) they didn't make it! At best they will finish it by the end of this year (I hope, NN4 is no fun for me).
I believe this was one of the main reasons why so little developers so far.
Second biggest is that focus has changed: browser was is over. No matter who's won (IE in my opinion though), now it's no longer a hype. It's all about Linux vs Windows. All glory goes now to those who work on Linux, since most OSS guys don't get paid, the amount of glory received is way too important (that was rightfully noted by JWZ in his resignation).
In all, untill I see finished and shipping product (not beta-like-Communicator-4.0) I won't spend a minute coding it. And others seems had similiar thoughts.
p.s. My English is far from being perfect but I am working on it.
AtW,
http://www.investigatio.com
alexc
Join Majestic-12 Distributed Search Engine
What does HTML/CSS lack (from a document point of view) that XML/XSL can do / can do better?
To which I respond, what does CSS give that HTML is missing (considering the number of users you will lose in the process)?
You use style sheets if you have a necessarily complicated presentation model. This would most likely only occur if your data model was also somewhat necessarily complex. In this case you should be definitely using XML. It is the only way to model data and present it simultaneously. CSS gives complex layouts to inherently simple strcutures. This mismatch has already killed CSS.
Given that, I repeat that I would never recommend any of the current style sheet technologies for use right now. User adoption rates are so low, and browser compliance is so random, it is not worth losing users.
Thanks for the kind words. With regards to DSSSL, I have to say that DSSSL is maybe the most complicated standard I have ever read for any technology. Its sort of a moot point seeing that it is basically dead. Its very elegant (uses Scheme as a descriptive language), but like SGML, overkill.
I agree that XSL can also be very messy. I agree that it is hard to understand. Tools will be needed to develop this kind of content. CSS and XSL are too complex to code by hand on a large site. Vanilla HTML 3.2 is still the way to go.
CSS was born, promoted, and bascially died in the nursery without ever being adopted on a popular site.
XSL support is the way to go if you're even considering supporting intelligent style sheet technology.
Of course, I wouldn't use any of the current style sheet technologies on a popular page right now - conformance in browsers is simply way too low to bother. Its going to be a long long time before developers of popular sites are going to be able to get beyond pushing html 3.2. Its simply not worth it to alienate users by implementing a whiz-bang technology.
CSS is actually pretty useful for some things. It's a matter of what you're doing. It's tomorrow's technology, though, not today's. CSS looks pretty decent in mozilla 5 (the snapshots). So CSS is a nice toy right now that would probably be good to play with to get used to it for when it will be a tool. The next version of netscape should have full CSS compatability, and I think that IE is somewhere around 80-90% compliant. Good enough at least for the basic stuff. And that's where javascript comes in. :-)
:-)
Btw, that's part of CSS - looking good and degrading gracefully. Once the browsers are ready, which should happen within the next 6-8 months, putting up little stickkers that say "looks best in NS 5.0 or IE 5.0" would satisfy most holdovers that are getting stuck with a logical design that' probably better than the "whizbang" design anyhow.
They laughed at Einstein. They laughed at the Wright Brothers. But they also laughed at Bozo the Clown. -- C. Sagan
The reason I started off with a controversial thought was this: I was one of the early downloaders, and like you "I don't have the time to read through that much code--other things have to get done. However, we especially need Mozilla to succeed in non-Windows environments because it is by far the highest profile Open Source project other than Linux itself.
What I want people to realize about Mozilla is that the overall code is in much better condition, and we coders have everything to gain by becoming re-enthused about development. I am looking to rejoin the effort once I determine which code branch I can best contribute to.
One final thought: even non-coders can help an OS project develop, by acting as additional "quality control/assurance" testers. As a veteran coder with 20+ years of experience, I've always been happier when someone showed me the bug so I could fix it, rather than having to find every last little problem myself. The beauty of Open Source is that when someone finds a problem, more than one of us (at a time) can work on fixing it.
...Open Source isn't the only answer -- but it's almost always a better value than the alternatives...
First of all, I haven't worked on the Mozilla codebase any. I'm up to my ears in projects (some free, some not) as it is. So take this for what it's worth:
Netscape apparently had code problems long before releasing Mozilla as open source. This is common in software companies where "featuritis" gets combined with "must ship" deadlines on a mature (old?) base product. Harried developers make quick, inelegant patches in places where a complete rewrite would be the Right Thing.
Also, much of the code for Mozilla/Netscape is written to be portable on different systems. Reviewers comparing IE to Netscape seem to forget that Netscape runs on systems Microsoft can't touch. I suspect this keeps Mozilla developers from using a lot of the handy platform-specific libraries (such as MFC) that speed up development. It also can lead to code with a lot of #ifdef statements, which does nothing to make the code more readable.
Finally, as has been pointed out before, the original released source was huge, complicated, and nowhere near complete. It's always more fun to add coolness to a solid program than it is to undo cruftiness. Perhaps a better approach would have been to start from scratch with a very simple well-designed Gecko engine and release that into the open-source wilderness. (Yes, that's 20/20 hindsight from an armchair project manager.)
Personally, I'm really looking forward to the new Netscape and the Gecko engine. Some of these people criticizing the project remind me of PHBs who stand over my shoulder and say, "Is it ready yet? How about now?"
Save the whales. Feed the hungry. Free the mallocs.
Flame time. I hereby accuse the vast majority of /. readers who preach about the virtues of Open Source of hypocrisy.
Why?
- According to info published in JWZ's resignation, only about thirty non-Netscape developers have joined the project. From statistics published shortly after the codebase was released, the number of peope who downloaded the code (then did nothing) was a couple orders of magnitude greater.
- Red Hat adds around ten coders to GNOME, and the project accelerates into a 1.X release.
- recently joined another project, which seemed to have a lot going for it -- turns out that we have (including myself)
- five developers, including one fellow working mostly on documentation.
- A few months ago, I offered to start an Open Source wavelet page on my domain. I got just one response. [BTW, I have begun working on the definition and goals for an OpenSource wavelet project. MOTL (more on this later)]
Total? Thirty six coders. According to...Open Source isn't the only answer -- but it's almost always a better value than the alternatives...