Mozilla Poised for Revival?
MarkedMan writes "An interesting and fairly lengthy CNET article on Mozilla and the pending 1.0 release. Kind of shallow research, making some common mistakes (Like many others, he half implies that AOL picking Mozilla as the default browser automatically puts 35 million users in the Netscape camp.) Good to see this getting some fairly mainline press."
I have to admit that it will be good to be on this side of the fence during a brute force conversion of browsers (AOL to Netscape/Mozilla). I would love for some of these sites that use IE specific features of CSS or DHTML (or god forbid ActiveX) having 35 million screaming AOL users at their doors.
(+1 Funny) only if I laugh out loud.
Even if AOL + Mozilla meant 35 million more Mozilla users and 35 million less IE users... It isn't that big a number when you look at the number of users using IE right now.
Would be nice if you could count on 35 million to just switch at the drop of a hat... but howmany are still using AOL3, 4,5,6 etc...
When Mozilla was first turned open source it was pretty bity and crashy and hopeless.
Now its probably one of the more stable browsers.
It does show that dumping a large amount of commercial source into the open community can produce results - but with this amount of code it does take time.
(Running mozilla 0.9.9)
I've seen a lot of comments that seem to totally discard any significance coming from AOL using Mozilla as the base of its browser.
:)
If nothing else, this seems particularly important to me because it will force more Web developers to stop using IE as a test browser.
With the poorest standards compliance of all browsers, this has created a flood of these "Best Viewed with Internet Explorer" pages, because they write THML, Javascript, etc. that is broken.
Now, if these broken Web sites are revealed as such by a larger audience, we could see some improvements in the overall quality, because something tells me the typical AOL user will happily complain about anything.
Source code is a lot like a parachute; it needs to be open in order to function properly.
Maybe it will turn out like the dinosours in Jurassic Park, and destroy Internet Explorer?
Mozilla will be a great product eventually, but unfortunately I agree with Joel Spolsky that good software takes ten years to write, and you should NEVER rewrite code from scratch.
I know that as a software developer, I've certainly learned from Netscape's mistake.
Long live IE! Its just a better browser.
...but whatever, I guess..
While this was actually true to some degree in the early days of the Mozilla project and the later days of the IE project (IE 6 is almost respectable...for a Microsoft project), I believe Mozilla has surpassed Internet explorer in several areas that are important to at least myself. For one, as a sometimes web developer, Mozilla sticks closer to the standards. I've found myself on more than one occasion having to go back and figure out how to crap-up my HTML code to make it look right in IE. That's a waste of time, but because of people like you, and companies like Microsoft, I have to do it. Further, when I used to use IE back in the dark age of my OS use (i.e. Windows...also note that that i.e. has no relation to IE. In fact, even i.e. is embarrased by IE), I used to open up new windows like crazy! With tabbed browsing in Mozilla, I can keep a single instance of Mozilla open and keep all the sites I'm at organized! I'm never using a browser without tabs again!
For these and other reasons, I truly like Mozilla better than IE...even better than Navigator as well, as it seems less bloted than Communicator 6.0.
What matters about AOL adopting Mozilla is not that IE would somehow lose its majority share, but that a non-IE browser would subtend an important enough fraction of visitors that site designers could ill afford to ignore it. The IE-only travesties of today might give way to something approaching a standards compliant Web.
Check out mpt and hyatt's viewpoints on current and future trends in mozilla development. Some very interesting views there, I think Dave Hyatt's call for hundreds of different browsers to suit different people should be a call to action! Look at how well galeon has done - as long as they all use the gecko engine, we'll all be richer for having different browsers for different occasions.
The next generation of cell phones, pagers, PDAs (personal digital assistants) and set-top boxes will require slimmed-down technology to access the Web, and Mozilla could model itself as the technology of choice.
So the next generation of cell phones will have 256MB RAM?
"Kind of shallow research, making a some common mistakes..."
Yeah a it is a easy to a make a some a common mostakes.
Knunov
Why do users with IDs under 100,000 or over 700,000 usually have the most worthwhile comments?
I use Mac OS X. There are atleast 3 Mozilla based browser floating around for OS X. And, for yucks, I _just_ installed a version of Mozilla that uses Xfree to display - I wanted to see how it might look different and I wanted the experience(wow, the text sure looks crappy)(but the code renders the same). The point is that Mozilla is available here and everywhere - certainly one the 'most available' applications that I have experienced. It seems like every permutation of every platform has a Mozilla available.
Like many other authors, Jim Hu has failed to grasp the larger picture. While Mozilla could be a potential competitor to IE, it's more of an alternative to IE. Most of the people that I know who use Mozilla do so because they are under a platform that doesn't have an IE browser installed by default. (I don't mean to suggest that my colleaques would use an IE browser if it were installed on the box).
I run linux 99% of my uptime. And I use galeon on top of Mozilla. Why? Not because I hate the concept of IE (I hate IE for other reasons) but because it's an alternative. Sure I have a Sun that I could run IE on, but the velocity of the Mozilla and Galeon development is the alternative solution that I'm looking for.
OpenSource developers aren't "let's go give MS a run for their money!" people. They're "let's go make a browser that sucks less." Not everything is a competition - some projects exist just to provide alternatives.
What is Python a competitor to? I dunno... It's just an alternative... Just like Mozilla...
-c
Do it for da shorties
See mozilla icon. See slashdot reader think all articles on slashdot are release notices. See slashdot reader be wrong.
See slashdot reader change their perceptions of slashdot?
-- You can't idiot-proof anything, because they're always coming out with better idiots.
The Last time i used netscape was like 6 years ago. I fully believed IE was better and booted faster.
2 months ago i heard Moz was making good prograss and seing how IE 6 is Junk(keeps freezing when Looking up DNS) I gave Moz a shot. I am converted.
I dont have to worry about pop up ads and VIruses. I say if We just Get Ppl to acutally try it the word of mouth with spread.
Just think of what will happed whejn AOL includes it with AOL 8?(is that what the next number wil be?) Kudos to the devs they put out a great product
"All I can tell the "lesser of two evils" folks is that if they keep voting for evil, they'll keep getting evil."-Lp.org
It has been my experience that a great percentage of AOL users simply do not know that they can use any browser other than 'AOL'. They do not think of it as a browser, but an application called 'AOL'. ('How can you run AOL in Internet Explorer?' 'Can it run in Word, too?')
he half implies that AOL picking Mozilla as the default browser automatically puts 35 million users in the Netscape camp When ever has a MAJOR company been successful in pushing a product on users?
One big appeal of Mozilla is that, with this browser, non-Wintel users aren't second-class citizens.
IE 6.0 for Windows came out last August. Yet Mac users still aren't even at the 5.5 version -- the most current version for Macs is still 5.1.
The unstated message Microsoft sends to Mac users is, "You want the coolest, latest browser, then switch to Windows. If you want your browser to be two years obsolete, stick with your little toy Mac."
With the release of Mozilla 1.0, this browser will be giving IE some heavy competition -- particularly on non-Wintel platforms. It'll be interesting to see if Microsoft suddenly starts offering Mac users a much more current and attractive version of IE. And if they do, the question will be: why weren't they doing this all along?
I'm generally "Interesting," "Insightful," and even "Funny" here. What the hell happens to me at parties?
We're all missing the server equation here - MS is pretty damn big in the server side of things.
:)
Yeah yeah yeah - quote netcraft at me with Apache = 60% and so on. I believe it too, but it doesn't matter. *MANY* commerce site - the things your parents and friends visit - run on IIS (for better or for worse). You can argue percentages all you want, but there's enough of them out there. Heck Macs are about 5% of the computer market, but some people still care about them.
If you even concede that IIS has a 15% share of servers conducting commerce, that's a big number.
My point? If mozilla ever starts to be a credible browser threat, IIS7 (or 8 or whatever) will suddenly either not work with mozilla at all, OR give lower priority treatment to mozilla requests. Or, better yet, just occasionally drop requests, making it even harder to diagnose.
"Works fine when I use IE7.5, but danged if Mozilla 1.01.02RC3 (cause that's about where they'll be) crashes sometimes!"
There's already issues with SSL between IE and Apache servers and non IE browsers and IIS. MS controls too much on both sides - IN BUSINESS/COMMERCE, WHERE IT COUNTS - to ever let anything else ever get too big again.
Responses?
creation science book
The IE only days are now over. Anyone that realizes what is going on is scrambling to get compliant pages up. My main client was willing to ignore Netscape originally, then when we determined that Netscape 4.x was 6-8% of the audience for his site, he wanted the next version to support Netscape 4.x.
The site sorta works in Mozilla, but not terrifically. We're busting ass to redo the site with full HTML 4.01 compliance, CSS 1.0 compliance, and verifying everything in Netscape 4.7. Once you know Netscape's quirks, you can avoid using CSS features that confuse it.
We'll stay away from XHTML until Netscape 4.x is dead, and a properly working Netscape 6.5 will go a long way towards that. It's mostly corporate users, and they'll migrate when something better is available. In about 2 years, I'd expect Netscape 4.x to be dead, and we can all move on to XHTML.
Of course, there is always the option of doing two renderers, one for Netscape 4.x in HTML 4.01 and CSS 1, and one for IE 5+, NS 6+ in XHTML + CSS 2.0...
Alex
Yeah, 1.0 will have bugs. Guess, what? IE 6.0 will have bugs too. Bugs MS knows about. Software projects that feel the need to get released sometime damn near always shipped with known (and deemed acceptable) bugs. Welcome to the real world.
Your complaint that they haven't generated a stable release to date is somewhat weak as well. They are shipping 0.X.X versions. That ->0- out front stands for not stable. You can complain much more when there are unacceptable problems with the 1.0. Until then, just yell at the Netscape folks for releasing a 6.0 version based on someone elses beta software.
I recently upgraded a Win box (yes, the shame) from Netscape 4.75 to 6.11 and it's a dog.
Slow as molasses. Tuned it a bit, but it's still dog slow.
I hate IE - but I need something that uses my DSL and doesn't take 60 seconds to render an email or bring up a page.
Is there much difference between the Mozilla 1.0 build and the Netscape 6.11? Should I have chosen native Win code during the install instead of "generic" code?
Are there any useful sites to help with this - and what are their URLs? And does anyone know how much of a difference (stats, URLs, basic ratio) there is between the Netscape build and the Mozilla build?
Yes, I tried Google - and it helped a bit in tuning some things. But I've got a Qwest DSL line, and it's dog slow now.
-
--- Will in Seattle - What are you doing to fight the War?
I use Mozilla or Galeon everywhere now. Some web sites detect which browser you are using, and if they don't see "IE" or "Netscape" they won't let you in.
So I have changed my user agent string, and both Mozilla and Galeon now claim to be Netscape 4.0. Given how buggy and crash-prone 4.0 was, everyone is using 4.7x if they are really using Netscape, so "Netscape 4.0" ought to be a red flag in a server log.
Here is my user agent string for Mozilla:
Mozilla/4.0 (compatible; Mozilla 0.9.9; Debian GNU/Linux;)
So there is at least a chance that if webmasters look at the server logs, they can see that I'm actually using Mozilla. If they just use scripts to tally what browsers have visited their sites, and the scripts ignore the "compatible" remark, my visits will show up as Netscape 4.0... oh well, no trick is perfect.
Here is what you put into prefs.js to set the user agent string this way:
user_pref("general.useragent.override", "Mozilla/4.0 (compatible; Mozilla 0.9.9; Debian GNU/Linux;)")
Mozilla can handle every web site I care about, if it can get in. This trick lets it in.
Maybe Mozilla should have a feature that lets you set the user agent string on a per-site basis! That way we could be leaving "Mozilla" in the logs on most sites, and only lying to the sites that won't let Mozilla in.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
IE for Mac and IE for Windows don't begin to have identical feature sets, even where HTML tags and CSS support are concerned. The same actually goes for MS Office on the Mac, which also doesn't use the same names as Office for Windows.
The reason for this is because Microsoft's Mac products are produced by an entirely different division of the company, which focuses on Mac-specific interfaces and features as well as maximum compatibility with Windows-made files. It's also partly because most of the whiz-bang features for IE-Win (and Office-Win) are specific to the Windows OS, nearly impossible to reproduce on the Mac even if Mac users wanted them. Microsoft's Mac and Windows products may have the same name, but invariably that's where the similarity ends.
Mozilla and Netscape Navigator have used a common code base for all platforms, so identical version numbers were meaningful there. Microsoft does not. Comparing IE-Mac and IE-Win by version numbers is an exercise in futility.
And as an unrelated aside: is IE6 for Windows really all that different from IE5? I sure don't see any major differences in my day-to-day browsing.
My point? If mozilla ever starts to be a credible browser threat, IIS7 (or 8 or whatever) will suddenly either not work with mozilla at all, OR give lower priority treatment to mozilla requests. Or, better yet, just occasionally drop requests, making it even harder to diagnose.
Now I've heard some paranoid things before, but Microsoft is not quite so stupid as to cripple the performance of their software for a competing browser, just to make "15% of the web" slower to surf for Mozilla users. They will INSTANTLY lose credibility with MANY IIS MAINTAINERS. Companies tend to get pissed off when software excludes some of their customers. (Ignoring those companies in bed with Microsoft, of course.)
Works fine when I use IE7.5, but danged if Mozilla 1.01.02RC3 (cause that's about where they'll be) crashes sometimes!
You're trying to make fun of the version numbering for Mozilla, but I've got IE 6 installed right now, which lists it's version number as: 6.0.2600.0000.xpclnt_qfe.010827-1803.
Yes, that is what it says in the "About MSIE" window for "version."
"And like that
"Have you tried Internet Explorer 6, as that is the most recent and should solve your problem. That is actually what 95% of our Customer's use who access our website. Thank you."
Can you imagine that? Think they were blowing me off?
But you have to appreciate your credit union's point of view. They need to do what they can to keep their costs down. In this context, it means designing their site around what the vast majority of what their users are browsing with. If they had to design, test and maintain the site for every single version of evey single browser under the sun, it would significantly increase their development costs (and keep in mind that such costs have nothing to do with the day-to-day operations of the credit union, it could still operate without a web-banking solution.) which would in turn raise the costs you would be paying to your credit union.
There was another posting in a forum here in which someone was complaining that a certain image-based spam trap was bad since it would not work with Lynx. If this logic is followed, it means every website out there would have to be designed to run under Lynx. Unfortunately, this is not realistic if you want to make money off od your website.
Granted, if everything was designed to run under Lynx, then it would most likely be standards-compliant with every other browser out there :)
In case of fire, do not use elevator. Use water!
In the past, Netscape browsers had Mozilla/x.x at the beginning of their user agent string. Then MSIE mimicked that in their early browsers so that sites built for Netscape would see MSIE 3.x as compatible (or whenever they started doing this). Now MSIE 6 continues this, with a user agent like:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)
The new Mozilla browser, which AOL calls Netscape 6, is showing a user agent string like this:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:0.9.9+)
So when the 1.0 version is released, are they really going to follow that same trend? Or will they use the user agent I propose here:
Mozilla/1.0 (No, really, this is Mozilla 1.0, not Netscape or shitty old MSIE pretending to be Mozilla.)
And just imagine when we get to Mozilla 4.0:
Mozilla/4.0 (No, not Netscape 4.x or MSIE 6.x, this is truly Mozilla 4.0... PLEASE, YOU MUST BELIEVE ME!)
"And like that
that, and the fact that they are just using Gecko, not the entire bloated Mozy.
I am the Alpha and the Omega-3
Bollocks. Even if it becomes mainstream, any crap that goes into to Free Software to screw the masses can always be removed prior to compilation on my box, and because it's clued up hackers that do the software, it's so much less likely to go in the first place. And hey, Debian aren't going to ship spyware now, are they?
Are they?
Yours Sincerely, Michael.
Over the course of my employment--about three years now--I've rewritten over four applications from scratch... and it's the best thing that could have ever happened to the code.
The problem with application development is that new features tend to get tacked on over the years. Joe Idiot Manager says, "Ahh, it looks good, but can you make it do my laundry?" and all of a sudden, you're given a chice: either hack on a modification to make the code do something it wasn't originally intended to do, or rewrite it from scratch. The first choice is quicker the first few times through, but programs grow more and more buggy and cumbersome as more and more extra features are hacked into the code. Pretty soon, you're left with a horrid, unmaintainable mess that has tons of random, hard-to-find bugs--much like Netscape 4.x.
If you're writing a piece of software the second time around, you know what mistakes you made the first time, and can avoid them. Mozilla may have taken longer to write because it was written from scratch, but you can be damn sure it's a better browser than it would have been had it been based on the Netscape 4 code. The Mozilla project wouldn't have thrown away all that code unless they had a good reason to do so, and anyone outside the project who arbitrarily says they should have kept it is talking out of their ass.
I work on a Web Application, and we want to tell our users its ok to use mozilla, however we still have too many problems with Multilanguage support. In particular use of Global IME for language input just does not work right in Mozilla. See defect (98434). Our web app has over a 1000 input fields. So this is a show stopper for us. Hence we can't back mozilla till this is fixed. I imagine this is a show stopper for lots of other sites, especially overseas. Until this is fixed I don't think Mozilla is ready for the big time like everyone is claiming.
A certain percentage of my users are on Netscape 4.x, and I need to make the site viewable to them. Therefore, I will make certain that the siet works for them.
For everyone else, HTML 4.01 and CSS 1.0 should work fine. If they don't understand a tag, they ignore it. Netscape 4.x has some cascading and inheritance issues, so we need to work around them. After you've done it a bit, you get the hang of it.
Of course I'll test the site on IE, you think that I'm an idiot?
I won't, however, bother with Konqueror, Opera, OmniWeb, or other "fringe" browsers. They can take my compliant web sites and deal with them or not.
I am coding to the standards because its the best approach. Search engine spiders will understand the code, fringe browsers will understand the code, and anyone that writes a user agent that understands the standard will understand the code.
I need to meet business needs, and that requires the site being usable under IE and Netscape, so I'll do so.
If I'm coding to HTML 4.01 Transitional (with the DocType) AND CSS 1.0 to the standard, why the hell do you care that I'm ignoring certain CSS options? I'm giving you a standard document, I really don't understand your hostility to my approach?
Alex
Why are you offended
- You can tell Mozilla to not open ANY popup windows.
- You can tell Mozilla to block banner ads by right clicking on them
- You can tell Mozilla not to loop animated gifs at all. Or you can tell Mozilla to loop animated gifs only ONCE (my current setting)
- You can tell Mozilla to accept cookies based on varying levels of privacy
Can you do any of this in IE? I also prefer Mozilla on windows because it renders pages faster than IE on my old laptop, has tabbed browsing, and supports mouse gestures. IE? Hello?She got laid off by AOL. Apparently she still "runs" the Mozilla project though as the "Chief Lizard Wrangler".
I personally don't like her (having met her in person), and think that she deserved to get laid off because she didn't seem to have a good attitude and was not very outgoing. She was even pushing for a "source-only" release of Mozilla 1.0 so they "don't have to support it".
I personally hope that Mozilla 1.0 will bring in fresh new developers to the project. That would definitely be a boost, otherwise I am afraid that developers are getting burnt out.
...or was that not a very flattering article. The post makes it sound like this was a victory for Mozila - being recognized by CNET. But my reading was that they basically said:
1. It is not really a "real" 1.0 release
2. It has always been buggy and not useable
3. It is not as mature as IE
4. AOL might switch to it, but only because of sour grapes
5. Its history shows it is unreliable
6. No one in their right mind would trust their future in Mozilla.
Maybe I read too much into it, but that was the sense I got. As someone who has been using Mozilla on Windows, Macintosh, and Linux since 0.8 or so, none of this has been my experience. It is more solid than IE, faster, and very reliable. It now has at least as many features as IE and crashes almost never on any of the platforms I have used it on.
There is one site that I know of that attempts to pop up it's ads, and once they fail pops open a dialog box that tells you they use those ads to pay for the site and you should disable your adblocking software. You can't get to the site unless you allow the popups.
This deserves +%, insightful.
slashdot!=valid HTML
Further, "good software takes ten years to write" is a silly generalization from a silly man. Software simply takes, as long as it takes... like Duke Nukem Forever, which may take 20 years ;-)
Sticking feathers up your butt does not make you a chicken - Tyler Durden
I would hope that's not how most people would react. That'd be like the person who dresses a certain way solely because it's different, and as soon as someone else adopts it, they dump it for something new, and probably 10x more uncomfortable.
I will use mozilla as long as it is a quality product and remains as such. I will not dump it for the new fad unless that new fad is truly better.
What?
Also, I find it very difficult to believe that 95% of their customers are on a browser that was released about 7 months ago. You could say that this is a statistical improbability!
Heh! that's interesting..
:-)
My credit union's (Golden 1) online banking ceased to function normally in Mac IE 5.1, but now works great in all versions of Netscape 6.1.
I wrote them an email thanking them for this positive change.
I write this as a standards-loving web developer who has been fooling with Visual Studio .NET for 2 months...
.NET sites built in VS.NET WYSIWYG mode. There is a compatability mode but it drops back to Netscape 4 which also won't work correctly.
It is going to be UGLY when the 35 Million Gecko users (I know, shush) smack up against hundreds of ASP
One thing that MacOSX suffers from is lack of a speedy browser. I recently downloaded Navigator - a gecko based OSX browser. It's very immature but looks great, doesn't crash, and feels twice as fast as anything else out there. All it needs is a few more features and it'll be the browser to beat on OSX. While the developers of Navigator deserve some recognition, most of it goes the the developers of the excellent gecko engine. Thanks everyone - you know who you are...
Willy
Obviously its silly to rewrite good code for the sake of rewriting or understanding it, but you're flogging Joel's party line a bit too much.
They could do that by coding to W3C standards and letting browser makers do their job - conforming to standards.
pr0n - keeping monitor glass spotless since 1981.
> Good Web Developers hit up w3.org's validators for testing compliance.
I don't know, that thing is awefully picky. It doesn't even validate with the Mozilla web site (although it is possible). Are the Mozilla developers bad at web development? Perhaps. More acurately, I think a good web site doesn't necessarily have to follow all the W3C standards (although it is nice, I suppose).
I've seen countless web sites that display very well in Mozilla that get torn apart by the validator. I know, by ensuring W3C compiance you can be sure it will work in almost all browsers, but I don't necessarily care. I only worry about Mozilla and Internet Explorer. (Sorry Opera users, but it's bad enough dealing with two browsers on 3 different operating systems.)
I guess that's not why I'm not a web development professional...
After you have installed mouse gestures from Optimoz simply edit .../chrome/mozgest/content/gestimp.js to modify gestures as you like.
However, there's a bug that causes install to fail partially in some of the latest nightly builds. After install you have to edit .../chrome/mozgest/content/ pref/mozgestPrefOverlay.xul and replace all occurrences of "outliner" with "tree" to make preferences work (pref should be the in the advanced preferences branch, after editing you need to restart Mozilla). Do this only if you cannot see "Mouse Gestures" pref in the Advanced preferences brach.
_________________________
Spelling and grammar mistakes left as an exercise for the reader.
Over the course of my employment--about three years now--I've rewritten over four applications from scratch... and it's the best thing that could have ever happened to the code. ... you're writing a piece of software the second time around, you know what mistakes you made the first time, and can avoid them.
How common is it for the ORIGINAL developers to be the people doing the code rewrite? Rewrites are usually done because the new developers cannot understand how the original code works. Were the four applications you rewrote your code or someone else's code? If you cannot extend your own code without rewriting it from scratch, then you need to learn about information hiding.
Yes, Netscape 4 had many bugs. However, Mozilla also has many bugs. Why do you think it has taken THREE years to release a stable version? Here's a quote from Lou Montulli, one of the founding engineers of Netscape and the creator of Lynx responding to Joel Spolsky's "Things You Should Never Do, Part I" article. Lou says,
"I agree completely, it's one of the major reasons I resigned from Netscape. In 1998, after wasting a year wanking, a group of new but experienced programmers, and one of our misguided founders, decided it was a good idea to rewrite everything. I had alot of vested interest since I had done most of the original design work on Navigator, but I was unable to supply enough visions of doom to divert the effort. The original design had degenerated substantially due to the integration of Java and the rapid pace of zig zag development that went on over the course of 4 years. There was good reason for a large change, but rewriting everything was a bit overboard to say the least. I laughed heartily as I got questions from one of my former employees about FTP code the he was rewriting. It had taken 3 years of tuning to get code that could read the 60 different types of FTP servers, those 5000 lines of code may have looked ugly, but at least they worked."
cpeterso
The problem isn't with Joe Idiot Manager but with Joe Idiot Customer who ultimately pays Joe Idiot Programmer's salary. Joe Idiot Customer wishes to buy the feature now instead of when Joe Idiot Programmer feels the code base is right.
These things take time. When new features are hurriedly glommed onto an existing, already shoddy code base, you get a shoddy product. If Joe Idiot Customer wants a program that doesn't blue screen all the time, then he needs to wait long enough for quality code to be produced.
And if the original code base was so inflexible that it couldn't support much enhancement, then you can blame Joe Idiot Programmer and his Idiot Manager who, alas, developed it without the benefit of knowing what mistakes they made the first time were.
Times change. In the tech industry, when you design a product, you have no idea what people are going to want put on it five years down the road. If you can accurately predict that sort of thing, you need to be in R&D, and not programming.
Some things can be anticipated, others can't. When Netscape was originally written, they didn't expect to have to add in support for tables. Since it was added in version 2, Netscape's table support has always been slow, weak, and buggy. The renderer should have been gutted and rewritten then, but it wasn't. Since then, the problems have grown worse because bad code has been piled on top of bad code.
You claim that Netscape should have made their code more flexible. Well, they didn't. "Should have" doesn't get you very far when you're producing a prodct, and Mozilla is no exception.
How common is it for the ORIGINAL developers to be the people doing the code rewrite? Rewrites are usually done because the new developers cannot understand how the original code works. Were the four applications you rewrote your code or someone else's code? If you cannot extend your own code without rewriting it from scratch, then you need to learn about information hiding.
Okay, I admit, two of those projects were my own, and when I wrote them the first time, I did need to learn a bit more about information hiding. Mind you, I was an intern at the time. Since then, I've been hired on as a full-time employee.
The other two projects were written very badly, by people who had obviously never attempted to write projects of this type before. To give you an example, one used Netscape 4 and Apache to form the user interface of a local non-web application. The program itself used a postgres database to send signals between various daemons and cgi scripts. The re-coded version is a single executable that uses GTK+ as the gui. It's simpler, and a lot less crash-prone. Sometimes, bad design decisions don't give you the option of editing code that you already have. It's a fact of life.
I'm not saying that rewrites are great. Sometimes, they're just necessary.
8% means thousands of dollars a week (it's a small site). We can't just ignore that.
Blander = better for these sites, convey information, push product.
Besides, you can always return different stuff to Netscape 4.x than IE, we already do that. When we break standards to enhance on IE, we only return that to IE users. It's minor stuff, some of their Javascript.
People aren't suffering, I'm just being careful with the code. The "shiny objects" of the site are always graphics and Flash.
Alex
Lendrick and cpeterso are having a provoking discussion here. I appreciate it. As a manager of a small team of Web developers, I would put in my own two cents. My experience is that both of you are correct. Code does experience feature creep, planned or otherwise. So plugging in new features can require some ugly work unless the code is perfectly modular (and that's rare -- even if you deliberately make things modular, there is a good chance you won't anticipate every kind of need). Given years of development time, maintenance can become very expensive as new developers waste large amounts of salary trying to learn the code. And cpeterso is on the right track -- having green developers do the rewrites will doom the rewrite to repeat the same mistakes. Yet often the original developer is gone, or is wedded to his/her design and won't rewrite, or is bored of the code and has lost interest.
For me, I have this problem -- a codebase that is developer-hostile. I have one employee working on our intranet, and one working on our public site. I intend to swap the employees and have them rebuild each other's work. The advantages:
My Greasemonkey scripts for Digg &
This may or may not be best done from scratch; I dunno, I've not seen the code, so that's up to you.
That way, you get two developers thoughts on each aspect, not just "I did it this way because I think it's cool", and since they know the requirements of both sites, they will make sure that the library makes their lives easier. Then you can swap them over every week between intranet and internet sites, and they'll not notice the difference, since the APIs (the library of code they've developed) is the same.
Author, Shell Scripting : Expert Re
Hey Sparkz. I haven't seen your sig in a long time. But anyway, there actually isn't anything similar on the front-end -- CSS, JavaScript, HTML, all different stuff. Even the PHP on the backend -- about 100,000 lines of code -- is different. The intranet has a budgeting app, an org chart app -- the public site can reuse very little of this. But all those PHP functions and modules need to be more rigorous. Functions for reading & sending email should be separate files that get included, just as the files to initiate a database connection are included. Multiply that by a few hundred more functions and modules that can potentially be cleaned up and put into reusable form, and now we're talking about seriously organized code. That's what I'd like to get to.
There is a game of Risk that comes with C source, and I really liked the organization of the code. It was not only modular, but included files were neatly stored into sensible folders and sub-folders. So when you look at the code, you really didn't need to know all 20,000 lines. I made a few changes by simply picking the folders I was interested in (ai, server), opening the applicable file (and thanks to the include statements, each file was only a couple hundred lines long), and tweaking. That is radically better than our 100 files all shoved into the top level of the Web directory, each about 500-10,000 lines long, with tons of redundant functions and code tweaks that made it into some of the copied functions but not others. And still, the 100 files are the result of planning, and it's much better than anything I had at the last company I worked for. But I see others doing better and I want to emulate them.
My Greasemonkey scripts for Digg &
You be the judge.
http://home.attbi.com/~beef.jerky/xmosaic.bin
They could do that by coding to W3C standards and letting browser makers do their job - conforming to standards.
I would love it if they did that too... Personally, I always check using the HTML validator to make sure my code is fully HTML 4.01 Transitional compliant (I usually use styles for all my formatting, but the Transitional part lets me get away with some pesky formatting tags if I need to use them). Basically, if it is compliant, I say hey... if a browser can't display it correctly (or at least reasonably close to what was intended), then that browser sucks.
Javascript is a whole other animal. It would be nice if there was an ANSI Javascript or something like that (I believe there is an ECMA Script, which is an independent JS definition which Microsoft uses in IE), to which all browsers would be able to adhere. Right now, the current situation is like trying to code in C++ without there even being a valid definition, and using many compilers which may not even support the most basic of features. If there was a defined *OPEN* spec for Javascript (maybe set by the W3C?), and all browsers adhered to that bare minimum, we would realize a significant benefit (and major reduction in coding time) even if Microsoft, et al. add their own extensions to the language. Any C coder knows that fairly useful C programs can be developed which can be ported between Linux and Windows (e.g., CGI scripts).
Basically, the bigger problem IS going to be the Javascript. Aside from a few minor things (such as the lack of support for colgroups), Mozilla does a nice job rendering HTML 4.01 Transitional compliant pages. Solve the javascript problem, and it will be great. Unfortunately for me, as nearly 100% of the users of my current project are using IE 5.5 or better (this is an internal web site project), we have to minimize development time by coding the Javascripts only for those versions of IE.
In case of fire, do not use elevator. Use water!
AOL's confines on M$ platforms are the one's that Bill Gates creates for all M$ users. That's because the current AOL client software uses IE as it's browser.
I know this because my mom uses AOL as her only ISP, so I use it when I'm at her house, and because I encourage her to get pictures from my ftp site. She only uses the browser that AOL has for her surfing, and it behaves excactly as IE does. It lists her as IE_user for anonymous logins and exibits the same abominal ftp behavior, such as opening multiple sessions and not closing them until the sever overflows the number of concurent user allowed, and locking the entire GUI while the ftp site does not respond. Nice, eh? Oh yeah, you can open up IE with all it's shiney junk and it knows all your AOL browsing history and vice versa. Once code, two faces.
IE's poor performance is only the begining of the limits IE puts on it's users. File format problems and the forced downloads of adverts are more serious agrivations, that amount M$ to leverage it's power into the web. That's why it's so important to M$
It becomes apparent to all where the souce of incompatibility is when the user has nothing but M$ crap and it does not talk to itself and crashes anyway. That's the way things are at work, and everybody there knows.
DMCA, Hollings, Palladium. What might have sounded like paranoia is now common sense.
What a concept, Microsoft embraces and extends the English language! M$ embracement is always half done, and the missing functionality is crammed into strange extentions. Imagine that the M$English does not include any past tense construtions but instead has an "enhancement" to the future perfect tense that does the job. NT_English has the same problems, but a real korny sound to it that's popular with want to be's for years after free alternatives made the NT replacement unneeded. Engliz2000 has all the same problems but is based on New Technology Technology that is undone by mergence with the older M$English that has been enhanced to autocomplete thoughts and has had most of the logic filters removed so that adverts can be pushed into your head easier. EnglizXP is completely incomprehsible to speakers of Standard English and changes continuously. EnglizXP is then made the standard language of all MBA thesis and dissertation work, flooding the world with management that speaks only in buzword phrases.
Oh wait, it did happen! It was called Word.
DMCA, Hollings, Palladium. What might have sounded like paranoia is now common sense.
You see, Mozilla developers know how to, and not to, build a browser. Somehow, through some strange chain of circumstances plus big balls, they didn't humor the marketoids and stick to small improvements. They designed a browser for the next 10 years.
We have not yet begun to see how this work will pay off. You see, if you were in charge of "improving" IE6, what would there be for you to do? You might think "this module needs a serious rewrite" but your team would say "don't fuckin touch it--that code has been there since the Mosaic days, nobody really understands anymore what it does, but if you fuck with it, the whole ship is going down." "Well, what about this other module that needs a rewrite?" "Sure, good luck. Some temp patched that stuff together in '94. He had a deadline, and I guess he loved GOTOs..."
My point is that basically, improving IE is now a lost cause. Just about all the tweaking that's doable to that venerable mess has already been done. Sure they might paste on more modules, and they'll spice up the UI with each release. Other than that, they'll sit on their hands.
Mozilla was built from the ground up to be modular, reusable, publically documented, coded correctly. They took a long time getting the fundamentals right, and they refused to cut corners. That took a while, but as a result, Mozilla can be tuned into an ass kicking browsing machine.
To use an analogy: I'm sure that when the jet engine was conceived, the fastest planes used propellers. You might say that it's stupid to throw out piston+prop engines if you've already invested so much time on tuning and testing them. And I'm sure the best propeller planes were faster and more reliable than the first jet planes. Still, you wouldn't be stupid if you put all your eggs into the "jet" basket, because you know the potential of the technology, and you know that in the long run, they'll leave props in the dust.
It seems to me that IE is like a propeller plane that works very well, and Mozilla is a jet plane with many of the quirks that new technology brings with it. Right now, they're about equally well suited for their missions. But there's nowhere else for the prop plane to go.
Well, that was my long-winded take of what's up. In summary: sometimes it's right to throw everything away and comit to a better concept, as painful as that might be in the short term. It won't be long that people turn up their noses at IE.
Brain-dead moderator alert. Hopefully, I'll get the chance to do something about this in meta-moderation, but just in case, let me state why this is a horrid, knee-jerk moderation.
:-)
This post should NOT have been modded "Off-Topic", as the two functions the AC refers to are in fact features of Mozilla, and this discussion is also about Mozilla. (Duh.)
These aren't the only cool things about Moz, BTW -- tabbed browsing also is quite nice. Not mention support for HTML, CSS, and DOM standards that no other browser can touch. Not to mention MathML and optional SVG. I'm using Moz 0.9.9 for all my browsing, email, and IRC now, and it works pretty damn well.
And it's nice to see some positive mainstream attention, too.
Il n'y a pas de Planet B.
BRAVO! I wish all designers would do this!
Javascript is a whole other animal.
I can understand this, but what is frustrating is that it seems that the vast majority of sites out there would be just as useful - and probably easier to use - if they eliminated the JavaScript completely. That aside, some kind of W3C Java/ECMA/Whatevah-script standard would be great.
pr0n - keeping monitor glass spotless since 1981.
Right. And the users will be asked if they want to grant that right. Which of course, most of them being complete idiots will do.
But that's not the point.
autopr0n is like, down and stuff.
You sayd it, start from scratch, not rewrite from scratch. You can always reuse a lot of code and redo the wrong parts / enhance the lacking parts. There's no need to "relearn" everything if you have thought things cleverly from the start. Some people just like hardcoding everything again and again for a lack of initial vision. And they are the ones likely to end the things sooner: but don't ask for ANYTHING not specified in the "whatever" requirements.
unfinished: (adj.)