.. big companies encouraging the use of closed standards nobody else can do anything with.
If Macromedia really want to make the web a better place, they should concentrate on SVG, working with the W3C to extend it and making stuff that supports it well, not writing evil closed stuff and making sure they're the only people who can possibly support it with tools that don't even let you use the clipboard.
Of course, that will never happen, because anyone can develop an SVG tool; it's even human readable. Not something a company like Macromedia want to hear.
But for about £2/month (yes, UK based) you can get a ClaraNews account, which also gets you a ClaraNet email address (which are utterly rock solid an come with server side filtering) and basic dialup.
They're not wonderful (if you're after binaries, they're more a suppliment than a primary feed, partly because they limit you to 256kbps, partly because retention isn't always great in such groups), but they're hard to beat for the price. They even have decent support.
> Why do you never see any Sci-fi shows about what the near future could really be like
Because most producers, and indeed, most writers are just too unimaginative to work realism into a series like this.
Just look at Star Trek; the aliens are all humans with ridged heads and various stereotypes, the society is dull and boring, and the people act completely unlike real people.
Sure, you can throw in (Sociopathic|Pychopathic|Weird) (Killer|Assimilator) aliens in and have a few dodgy unrealistic unconvincing space battles (when was the last time you saw an "antimatter" powered ship in Star Trek explode and light up half of space and literally melt the hulls of anything nearby? Hell, when was the last time you saw a quantum-photon-xeon-pentium torpedo that did anything but dent a ship?), and have some sickening ultra-transparent "morality" tales, but at the end of the day it's so phoney that there's not a chance in hell anyone's going to go away from watching it thinking they've really seen what the future might be like, or some idea that could make them think for more than 5 seconds.
There are all sorts of issues that would make for great stuff in sci-fi, but because they require skill and imagination (not to mention a few ounces of clue) they're avoided.
All this talk of simplicity, avoiding flash etc is all well and good, but don't loose sight of the basics when you're coming up with your design.
Look at your URI namespace; think about what it means; go read about what it means, don't just choose names arbitarily or you'll find you break them in no time. Do your users really need to know all your content is served by index.php? Does that really mean anything outside Apache? If not, remove it; go mod_rewrite it away and when you find you need to move to Java or C# or/bin/sh you can make sure nobody notices. No worrying about 404's, no waiting for search engines to catch on, and if you're lucky and/or smart, you'll get nice clean meaningful URL's the user won't be scared of. Cool URI's Don't Change, and they mean the same to everyone.
Always remember that HTML is a semantic markup; a <h1> tag, for instance, defines a HEADING, it doesn't define a larger font or anything else; on an aural browser it'll be read in a slightly different tone or gender of voice, on a PDA where space is limited it may just be a different colour, or displayed indented, or any of 1001 different things. With XHTML and CSS2 you can accept all this and still have decent control over how your site looks and lays out on the devices you do know about. A great way to see this in action now is to play with turning off navigation elements, and even things like making copyright notices bigger for print media (@media print {.. } in CSS2); excellent for publishing documents on a site without making multiple versions AND without dropping the niceties of your site.
Make use of the semantic structure of HTML; surround abbreviations with <abbr>, use title="" attributes to give links and even arbitrary areas of text descriptions; these things add to the user experience and provides them with the rich set of information hypertext was always supposed to without you needing to worry about crap like DHTML bubble windows; they're standard parts of the browser.
A nice technique for design is to develop your HTML from XHTML 1.1 Strict (think: HTML 2.0 in XML). Build up a meaninful document and surround all the logical sections in <div>'s, then you can use CSS to move them around; you'll probably find a nice natural layout magically appears.
Scripting languages != interpreted languages, and you're right, they're not going away anytime soon.
Languages like Python and Ruby (and even Perl) are moving more towards Java than/bin/sh; they have good, well developed object models, significant standard libraries, excellent stability, powerful syntax etc.
With Parrot they're even moving towards a common runtime, with code developed in one language available to any other targeted at it.
With these languages moving to virtual machines, and with them being either extended or built from the start to support more advanced features like OO/exceptions/{insert favourite buzzword}, they're definately on their way to making dynamic languages (hey, look, ma, another buzzword) a pretty nice alternative/complement.
Oh, and with Parrot being what Perl6 is aiming for, it's virtually guaranteed to end up on pretty much every Unix box on earth. Can you say that about.NET or Java?:)
Indeed. However, knowing the capability to remove them is there as a default part of most browsers is useful, and can be extended beyond just nuking ads (making text larger, changing typeface, changing base colours etc).
Trying to remove adverts in a standards compliant way is also rather interesting, since you start to notice all the hacks sites use to make your life difficult.. even SlashDot uses some JavaScript to dump a webbug and the banner on you.
To get people started:
a img[width="468"][height="60"] {
display: none; }
CSS 2 Selectors provide enough power to nuke most banner adverts, and, if you're clever enough, remove these text ads.
CSS 3 Selectors should be even better, and let you do it on a per-website basis, which might be useful if your rules to nuke Google ads are too general to apply to all sites.
You will need a browser that impliments them, though; Opera and Mozilla support most CSS 2 selector syntax, but IE6 does not.
You can use the same techniques to override ugly colour schemes, change font styles and sizes and even include content. Just define it all in a user stylesheet; that's what it's there for.
I might revive my banner killing user CSS actually, it worked quite well.. but I don't think I'll bother with Google:)
Should probably have included a link to http://people.freebsd.org/~jasone/kse/ for those who cba Googling; there is some good stuff about the current threading implimentations there too.
> a 100% correct threading library. (Like the FreeBSD one.)
FreeBSD's threading it actually supposed to be rather smelly - just ask on freebsd-hackers or so.
This is why Apache 2 on FreeBSD is best off sticking with the prefork MPM. The introduction of KSE's in -current will alleviate this, but that's still heavily in development.
The API's are not yet fixed, so they tend to break. You can probably compile CVS of PHP to the current beta Apache 2, but the next time they change something PHP will most likely track the CVS change, leaving the beta out in the cold again.
I managed to get mod_php + Apache 2b28 coexisting, but it liked to segfault a lot (even when idle) and always ended up eating 100% CPU. I even managed to add Zend 2 (next-gen PHP engine) to the mix, but, well, I haven't seen Apache fall over so much since I got PHP 4.0.0 to generate 50,000 internal errors on a single script.
> Supply a bugreport, give an example where it
> doesnt work and you'll see it fixed in an updated
> version
Erm, an example of where it doesn't work is the official W3C Style page, where you'd have to be blind not to see it? One would expect them to notice little things like that in testing.
Care to point out the IE bug database?:)
> the W3C 'standards' are inconsistent and odd sometimes.
There has never been an inconsistency in how to handle anything you don't know. "If you see something you don't understand, ignore the entire rule", which is reiterated throughout the rec's.
> CSS is a nice idea, but in the long run, it has
> to become a definition language how to
> visualize data (content)
In the long run it has to be extended as a stylesheet language. Oh look, what's that on the horizon, oh, it's CSS3, and this time it's modular:)
> The IE6 GUI is basic, yes, but it's a browser,
> not an IDE you live in all day.
A browser is one of my most used applications, so I don't want to put up with a crappy lame-ass excuse for a GUI IE provides. (This goes for Mozilla too;)
> The security issues are related to
So what? All I need to know is there have been at least 5 huge holes in it this year, and it's not even March yet. I'm not going on a rampage spouting off how shit their security is, but, like sendmail and pine, I'd rather avoid it.
> What makes me laugh when I see mozilla is that
> I simply can't understand why I should run a
> program that uses a nonnative gui renderer.
It is native.. to Mozilla:)
One of the reasons the XML/HTML/CSS/JS stuff is so advanced is it's used all over the GUI too; one of Mozilla's design goals was to be ultra portable and look the same everywhere, so just abstracting the GUI stuff away and reimplimenting it on every environment it needs to run on isn't suitable. Personally I think they *way* over-valued a consistant look across every OS in the Universe (come on, what's more difficult, making a native-accented Qt/Gtk/Win32 UI that looks and feels pretty much the same, or a fully blown ultra abstracted UI toolkit?).
Unfortunately, another of it's design goals is to be an "application platform", so in trying to support a browser, mailer and HTML editor, they also wanted to support $EVERY_RANDOM_APP, which I suppose pushed it over the edge. So far I've only seen one third party app based on Mozilla, and that's a crappy, *hugely* slow IDE.
I never said it would be a trivial or easy thing to do. It's a trade off between the benefits you'll get from engineering next to the costs of potential failure. As with anything else, it's just a case of managing those.
Sure, major screwups are going to have potentially very serious consequenses, so we need to work towards minimising them, not just drop it as being a Bad Idea[tm] and loose the massive benefits it can bring.
Evolution isn't interested in reasons; that they don't kill us before we reproduce and let us hang around long enough to raise our offspring and maybe help them raise theirs for a bit is enough for it not to be selected against heavily, if at all.
Evolution is really just one huge long testing process keeping mutations in check.. I don't see how applying some intelligence to the equation will make things worse.
Putting directories in it doesn't behave as expected (actually, they appear to work in IE6, about time, even if they break if you don't use IE as your default browser), it handles overflows in a horribly braindead manner (it creates a little tab and shoves everything behind it, with no way of making it, say, double height), and it has very poor management capabilities; if you want to add something to your bookmark list and have it on the links bar, you need to navigate all the way down to the target each time though the lame-ass bookmark manager.
Um, I said "the links bar behaves like it's been written as an afterthought to add various sponsored links to your browser, not as a useful navigational aid":P
Sigh, always get it wrong the one time you don't hit preview.. lets try again:
Erm, yes, because IE supports relative positioning. Try it with FIXED positioning.
Compare:
test
With:
test
With:
test
In all cases, IE6 should see it can't handle the second position attribute and ignore it, as defined at http://www.w3.org/TR/REC-CSS1#forward-compatible-p arsing and as used on www.w3.org/Style/
Erm, yes, because IE supports relative positioning. Try it with FIXED positioning.
Compare:
test
With:
test
With:
test
In all cases, IE6 should see it can't handle the second position attribute and ignore it, as defined at http://www.w3.org/TR/REC-CSS1#forward-compatible-p arsing and as used on www.w3.org/Style/
> MS have never claimed to support position:fixed within IE6
No, meaning when IE see's "position: fixed;", it should ignore it.
w3.org/Style/ uses "position: absolute;position: fixed;"; when a client that supports absolute positioning, but not fixed, it should accept the first then ignore the second, not accept both and then drop down to default positioning, which is what IE6 does.
> DIV's and SPAN's with CSS are more powerful than tables.
They're more correct than tables, and since HTML 4 Strict they've been the recommended way of laying stuff out, but it's still too hard to emulate simple table layouts in CSS, even without taking into account the worrying quantity of workarounds it's gathered in it's short life.
Still, it's worth going a good CSS layout if you can manage it:
http://glish.com/css/
http://www.thenoodleincident.com/tutorials/box_l es son/index.html
http://www.brainjar.com/css/positioning/default. as p
> Unfortunately, I find that I do miss the
> incredible speed of IE 5x. Say what you will
> about IE security, but it's still the best
> browser out there.
Microsoft seem determined to keep CSS support held back as much as possible, and when they do add new things, they break it in ways that totally destroy the core ideas of CSS as being forward compatible and gracefully degrading.
IE5's CSS box model is broken, meaning any layouts you do using CSS (which has been a W3C rec for about half a decade now) come out too big in IE5. The workarounds include hacks that exploit parser bugs (embed a } in a string somewhere) that also trip up other browsers that get the box model right (like Opera 5), meaning you need to double up your IE5 hackaround with an Opera 5 workaround to restore the original behaviour.
IE6 still lacks support for anything but the most utterly basic CSS2, and claims to support things like position: fixed when it really doesn't (http://www.w3.org/Style/ is a good example of this; if a browser can't fix the menu to the viewport, it should just fix it in the document, but because IE6 thinks it supports that when it really doesn't, it screws it up and positions it as if it doesn't know any CSS positioning. Argh.)
Fast, it may be, but the UI is horrendously basic (the links bar behaves like it's been written as an afterthought to add various sponsored links to your browser, not as a useful navigational aid, the browser still likes to go busy and lock you out in various operations, blegh), the standards support ranges for reasonable to pathetic and, yes, it has a string of security issues that seem to just keep coming.
For general use, I find Opera is great; the abiliy to turn off style makes it a good browser to deal with badly written sites (blue on black text doesn't always appear on sites you're not interested in reading), the UI is nice and self contained (I love MDI, but you can turn it off and revert back to Mozilla-style tabs-there-only-if-you-explictly-open-them if you want), the CSS support, while not being a patch on Mozilla's, is a great reference implimentation for what you can reasonably expect to seriously use, and the speed is very acceptable.
Mozilla is, unfortunately, held back by trying to be an application platform, with it's slow-ass XUL GUI setup that pushes load times past 10 seconds, even on a 1.2GHz Athlon. Still, with solid HTML, CSS and JS support, and great cross platform compatibility it's an excellent browser, even if it does make you want to punch some of the designers sometimes.
.. big companies encouraging the use of closed standards nobody else can do anything with.
If Macromedia really want to make the web a better place, they should concentrate on SVG, working with the W3C to extend it and making stuff that supports it well, not writing evil closed stuff and making sure they're the only people who can possibly support it with tools that don't even let you use the clipboard.
Of course, that will never happen, because anyone can develop an SVG tool; it's even human readable. Not something a company like Macromedia want to hear.
But for about £2/month (yes, UK based) you can get a ClaraNews account, which also gets you a ClaraNet email address (which are utterly rock solid an come with server side filtering) and basic dialup.
They're not wonderful (if you're after binaries, they're more a suppliment than a primary feed, partly because they limit you to 256kbps, partly because retention isn't always great in such groups), but they're hard to beat for the price. They even have decent support.
> Why do you never see any Sci-fi shows about what the near future could really be like
Because most producers, and indeed, most writers are just too unimaginative to work realism into a series like this.
Just look at Star Trek; the aliens are all humans with ridged heads and various stereotypes, the society is dull and boring, and the people act completely unlike real people.
Sure, you can throw in (Sociopathic|Pychopathic|Weird) (Killer|Assimilator) aliens in and have a few dodgy unrealistic unconvincing space battles (when was the last time you saw an "antimatter" powered ship in Star Trek explode and light up half of space and literally melt the hulls of anything nearby? Hell, when was the last time you saw a quantum-photon-xeon-pentium torpedo that did anything but dent a ship?), and have some sickening ultra-transparent "morality" tales, but at the end of the day it's so phoney that there's not a chance in hell anyone's going to go away from watching it thinking they've really seen what the future might be like, or some idea that could make them think for more than 5 seconds.
There are all sorts of issues that would make for great stuff in sci-fi, but because they require skill and imagination (not to mention a few ounces of clue) they're avoided.
Thankfully, we still have some decent quality writers in other areas of media..
[waits to be bitchslapped for dissing Star Trek.. I do like it really, honest]
.. or does it just look like a rather oddly designed overhead projector?
:)
OHP's, I'm sad to say, are not my idea of the pinnacle of design, no matter how many neon lights you fit in it
Oh, and it has one of those awful doors who's only purpose in life is to slow you down when you're trying to juggle CD's.
All this talk of simplicity, avoiding flash etc is all well and good, but don't loose sight of the basics when you're coming up with your design.
/bin/sh you can make sure nobody notices. No worrying about 404's, no waiting for search engines to catch on, and if you're lucky and/or smart, you'll get nice clean meaningful URL's the user won't be scared of. Cool URI's Don't Change, and they mean the same to everyone.
.. } in CSS2); excellent for publishing documents on a site without making multiple versions AND without dropping the niceties of your site.
;)
Look at your URI namespace; think about what it means; go read about what it means, don't just choose names arbitarily or you'll find you break them in no time. Do your users really need to know all your content is served by index.php? Does that really mean anything outside Apache? If not, remove it; go mod_rewrite it away and when you find you need to move to Java or C# or
Always remember that HTML is a semantic markup; a <h1> tag, for instance, defines a HEADING, it doesn't define a larger font or anything else; on an aural browser it'll be read in a slightly different tone or gender of voice, on a PDA where space is limited it may just be a different colour, or displayed indented, or any of 1001 different things. With XHTML and CSS2 you can accept all this and still have decent control over how your site looks and lays out on the devices you do know about. A great way to see this in action now is to play with turning off navigation elements, and even things like making copyright notices bigger for print media (@media print {
Make use of the semantic structure of HTML; surround abbreviations with <abbr>, use title="" attributes to give links and even arbitrary areas of text descriptions; these things add to the user experience and provides them with the rich set of information hypertext was always supposed to without you needing to worry about crap like DHTML bubble windows; they're standard parts of the browser.
A nice technique for design is to develop your HTML from XHTML 1.1 Strict (think: HTML 2.0 in XML). Build up a meaninful document and surround all the logical sections in <div>'s, then you can use CSS to move them around; you'll probably find a nice natural layout magically appears.
Er. Better stop now
> scripting languages (e.g. Perl, Python)
/bin/sh; they have good, well developed object models, significant standard libraries, excellent stability, powerful syntax etc.
.NET or Java? :)
Scripting languages != interpreted languages, and you're right, they're not going away anytime soon.
Languages like Python and Ruby (and even Perl) are moving more towards Java than
With Parrot they're even moving towards a common runtime, with code developed in one language available to any other targeted at it.
With these languages moving to virtual machines, and with them being either extended or built from the start to support more advanced features like OO/exceptions/{insert favourite buzzword}, they're definately on their way to making dynamic languages (hey, look, ma, another buzzword) a pretty nice alternative/complement.
Oh, and with Parrot being what Perl6 is aiming for, it's virtually guaranteed to end up on pretty much every Unix box on earth. Can you say that about
http://www.openbsd.org/ - the OpenBSD logo is a pufferfish.
The others will represent the other BSD's; FreeBSD, NetBSD, BSD/OS and MacOS X.
Indeed. However, knowing the capability to remove them is there as a default part of most browsers is useful, and can be extended beyond just nuking ads (making text larger, changing typeface, changing base colours etc).
Trying to remove adverts in a standards compliant way is also rather interesting, since you start to notice all the hacks sites use to make your life difficult.. even SlashDot uses some JavaScript to dump a webbug and the banner on you.
To get people started:
a img[width="468"][height="60"] {
display: none;
}
CSS 2 Selectors provide enough power to nuke most banner adverts, and, if you're clever enough, remove these text ads.
CSS 3 Selectors should be even better, and let you do it on a per-website basis, which might be useful if your rules to nuke Google ads are too general to apply to all sites.
You will need a browser that impliments them, though; Opera and Mozilla support most CSS 2 selector syntax, but IE6 does not.
You can use the same techniques to override ugly colour schemes, change font styles and sizes and even include content. Just define it all in a user stylesheet; that's what it's there for.
I might revive my banner killing user CSS actually, it worked quite well.. but I don't think I'll bother with Google :)
Should probably have included a link to http://people.freebsd.org/~jasone/kse/ for those who cba Googling; there is some good stuff about the current threading implimentations there too.
> a 100% correct threading library. (Like the FreeBSD one.)
FreeBSD's threading it actually supposed to be rather smelly - just ask on freebsd-hackers or so.
This is why Apache 2 on FreeBSD is best off sticking with the prefork MPM. The introduction of KSE's in -current will alleviate this, but that's still heavily in development.
The API's are not yet fixed, so they tend to break. You can probably compile CVS of PHP to the current beta Apache 2, but the next time they change something PHP will most likely track the CVS change, leaving the beta out in the cold again.
I managed to get mod_php + Apache 2b28 coexisting, but it liked to segfault a lot (even when idle) and always ended up eating 100% CPU. I even managed to add Zend 2 (next-gen PHP engine) to the mix, but, well, I haven't seen Apache fall over so much since I got PHP 4.0.0 to generate 50,000 internal errors on a single script.
> Supply a bugreport, give an example where it
:)
:)
;)
:)
:)
> doesnt work and you'll see it fixed in an updated
> version
Erm, an example of where it doesn't work is the official W3C Style page, where you'd have to be blind not to see it? One would expect them to notice little things like that in testing.
Care to point out the IE bug database?
> the W3C 'standards' are inconsistent and odd sometimes.
There has never been an inconsistency in how to handle anything you don't know. "If you see something you don't understand, ignore the entire rule", which is reiterated throughout the rec's.
> CSS is a nice idea, but in the long run, it has
> to become a definition language how to
> visualize data (content)
In the long run it has to be extended as a stylesheet language. Oh look, what's that on the horizon, oh, it's CSS3, and this time it's modular
> The IE6 GUI is basic, yes, but it's a browser,
> not an IDE you live in all day.
A browser is one of my most used applications, so I don't want to put up with a crappy lame-ass excuse for a GUI IE provides. (This goes for Mozilla too
> The security issues are related to
So what? All I need to know is there have been at least 5 huge holes in it this year, and it's not even March yet. I'm not going on a rampage spouting off how shit their security is, but, like sendmail and pine, I'd rather avoid it.
> What makes me laugh when I see mozilla is that
> I simply can't understand why I should run a
> program that uses a nonnative gui renderer.
It is native.. to Mozilla
One of the reasons the XML/HTML/CSS/JS stuff is so advanced is it's used all over the GUI too; one of Mozilla's design goals was to be ultra portable and look the same everywhere, so just abstracting the GUI stuff away and reimplimenting it on every environment it needs to run on isn't suitable. Personally I think they *way* over-valued a consistant look across every OS in the Universe (come on, what's more difficult, making a native-accented Qt/Gtk/Win32 UI that looks and feels pretty much the same, or a fully blown ultra abstracted UI toolkit?).
Unfortunately, another of it's design goals is to be an "application platform", so in trying to support a browser, mailer and HTML editor, they also wanted to support $EVERY_RANDOM_APP, which I suppose pushed it over the edge. So far I've only seen one third party app based on Mozilla, and that's a crappy, *hugely* slow IDE.
Mozilla = ((Netscape + IE + Opera) + (mIRC - pIRCh)) * (Java * 10)
I never said it would be a trivial or easy thing to do. It's a trade off between the benefits you'll get from engineering next to the costs of potential failure. As with anything else, it's just a case of managing those.
Sure, major screwups are going to have potentially very serious consequenses, so we need to work towards minimising them, not just drop it as being a Bad Idea[tm] and loose the massive benefits it can bring.
Evolution isn't interested in reasons; that they don't kill us before we reproduce and let us hang around long enough to raise our offspring and maybe help them raise theirs for a bit is enough for it not to be selected against heavily, if at all.
Evolution is really just one huge long testing process keeping mutations in check.. I don't see how applying some intelligence to the equation will make things worse.
Putting directories in it doesn't behave as expected (actually, they appear to work in IE6, about time, even if they break if you don't use IE as your default browser), it handles overflows in a horribly braindead manner (it creates a little tab and shoves everything behind it, with no way of making it, say, double height), and it has very poor management capabilities; if you want to add something to your bookmark list and have it on the links bar, you need to navigate all the way down to the target each time though the lame-ass bookmark manager.
Well, I suppose it'd make spam a bit less pointless, and imagine if Outlook is still up to it's old tricks..
"I SEND YOU THIS ORGASM IN ORDER TO HAVE YOUR ADVICE"
Um, I said "the links bar behaves like it's been written as an afterthought to add various sponsored links to your browser, not as a useful navigational aid" :P
ffs, I and SlashDot both suck *so* hard.
<div style="top: 100px; left: 100px; position: absolute; position: fixed;">test</div>
<div style="top: 100px; left: 100px; position: absolute;">test</div>
<div style="top: 100px; left: 100px; position: absolute; position: blablabla;">test</div>
Sigh, always get it wrong the one time you don't hit preview.. lets try again:
p arsing and as used on www.w3.org/Style/
Erm, yes, because IE supports relative positioning. Try it with FIXED positioning.
Compare:
test
With:
test
With:
test
In all cases, IE6 should see it can't handle the second position attribute and ignore it, as defined at http://www.w3.org/TR/REC-CSS1#forward-compatible-
Erm, yes, because IE supports relative positioning. Try it with FIXED positioning.
p arsing and as used on www.w3.org/Style/
Compare:
test
With:
test
With:
test
In all cases, IE6 should see it can't handle the second position attribute and ignore it, as defined at http://www.w3.org/TR/REC-CSS1#forward-compatible-
> MS have never claimed to support position:fixed within IE6
No, meaning when IE see's "position: fixed;", it should ignore it.
w3.org/Style/ uses "position: absolute;position: fixed;"; when a client that supports absolute positioning, but not fixed, it should accept the first then ignore the second, not accept both and then drop down to default positioning, which is what IE6 does.
> Show me the IE or Opera bug db and then I'll shut up
http://bugs.opera.com/
> DIV's and SPAN's with CSS are more powerful than tables.
l es son/index.html
. as p
They're more correct than tables, and since HTML 4 Strict they've been the recommended way of laying stuff out, but it's still too hard to emulate simple table layouts in CSS, even without taking into account the worrying quantity of workarounds it's gathered in it's short life.
Still, it's worth going a good CSS layout if you can manage it:
http://glish.com/css/
http://www.thenoodleincident.com/tutorials/box_
http://www.brainjar.com/css/positioning/default
> Unfortunately, I find that I do miss the
;)
> incredible speed of IE 5x. Say what you will
> about IE security, but it's still the best
> browser out there.
Microsoft seem determined to keep CSS support held back as much as possible, and when they do add new things, they break it in ways that totally destroy the core ideas of CSS as being forward compatible and gracefully degrading.
IE5's CSS box model is broken, meaning any layouts you do using CSS (which has been a W3C rec for about half a decade now) come out too big in IE5. The workarounds include hacks that exploit parser bugs (embed a } in a string somewhere) that also trip up other browsers that get the box model right (like Opera 5), meaning you need to double up your IE5 hackaround with an Opera 5 workaround to restore the original behaviour.
IE6 still lacks support for anything but the most utterly basic CSS2, and claims to support things like position: fixed when it really doesn't (http://www.w3.org/Style/ is a good example of this; if a browser can't fix the menu to the viewport, it should just fix it in the document, but because IE6 thinks it supports that when it really doesn't, it screws it up and positions it as if it doesn't know any CSS positioning. Argh.)
Fast, it may be, but the UI is horrendously basic (the links bar behaves like it's been written as an afterthought to add various sponsored links to your browser, not as a useful navigational aid, the browser still likes to go busy and lock you out in various operations, blegh), the standards support ranges for reasonable to pathetic and, yes, it has a string of security issues that seem to just keep coming.
For general use, I find Opera is great; the abiliy to turn off style makes it a good browser to deal with badly written sites (blue on black text doesn't always appear on sites you're not interested in reading), the UI is nice and self contained (I love MDI, but you can turn it off and revert back to Mozilla-style tabs-there-only-if-you-explictly-open-them if you want), the CSS support, while not being a patch on Mozilla's, is a great reference implimentation for what you can reasonably expect to seriously use, and the speed is very acceptable.
Mozilla is, unfortunately, held back by trying to be an application platform, with it's slow-ass XUL GUI setup that pushes load times past 10 seconds, even on a 1.2GHz Athlon. Still, with solid HTML, CSS and JS support, and great cross platform compatibility it's an excellent browser, even if it does make you want to punch some of the designers sometimes.
I even use a Mozilla Modern look skin in Opera