Dvorak Rants on CSS
John Dvorak writes on CSS after working on redesigning his weblog, the article ended up being extremely funny. From the write-up:
As we move into the age of Vista, multimedia's domination on the desktop, and Web sites controlled by cascading style sheets running under improved browsers, when will someone wake up and figure out that none of this stuff works at all?!
I can't believe the guy is still writing. The only reason I ever browsed through PcMag back in the bookstore days was to catch his commentary -- to me he was still the first real tech comedy print blogger before the term was coined.
I have to agree with him here 100%. Back in my SysOp days running a multinode BBS, I remember the hassles of the design interface -- we had 80 x 25 characters to use and we had (at most!) 2.4K/s download speed. Any remember using TheDraw to animate ANSI? What fun those days were.
All those hours and hours of editing in edlin and then TheDraw and then the RipTerm editor were always a big hassle, but today's multimedia standards are absolutely horrible. Once something finally gets to the ideal stage, it is replaced by something new that doesn't work well. CSS is probably the worst "standard" ever created in terms of design -- the idea is great but I'm starting to see that "freely created" standards are more and more garbage, no matter what the ubergeek thinks.
I'm in the process of starting our CSS layout from scratch for all of our blogs (I hired one graphic designer and have 2 more volunteers). We've spent 40 hours in the last week testing a few ideas on a variety of browsers and they're a mess. I think I should go back to the days of plain-jane HTML and just deal with it, but many people are becoming comfortable with the whole Web 2.0 interface and it is almost expected. I can accept that, but it seems that CSS does more harm than good, especially with the massive number of browsers out there. I really think we should consider each browser application and each version number as a totally seperate entity. I have to keep an entire set of different installs of various browsers (when possible) just to test all the different versions.
I'm a pro-market kind of guy, so I can accept these stumbling blocks because I do know that it is better for the market to have all the competition, buggy or not. Many standards do work eventually, but they have to be replaced because something new was released that everyone wants. I look at Flash (which was mostly proprietary for a long time) and I was much more luckier in designing a flash interfaced site (in terms of compability over the long haul) than I have been with any of the public standards.
I'm wondering: is the future not a public standard but a mess of proprietary ones that may work better, even if they require plug-ins and additional software to work? Standards bodies have NO REASON to try to make something work in even one platform -- they can blame the developer of the platform for the mess. Proprietary formats, on the other hand, often times will see any bugs being blamed on the developer of the format, not the developer of the platform using the format. When Flash first came out, the great majority of problems we had were always blamed on Macromedia, not on IE or Netscape. While I'm not saying this is necessarily an area that competition (of relatively proprietary standards) is the best for the short term, it might be for the long term. Who is competing against CSS in terms of proprietary standards for basic text and graphic layout? Will HTML be replaced by a variety of other formats that require some other application to be bought to create them?
(FWIW, I know that making a good CSS means documenting and comments everywhere -- even when that is done properly there still seem to be a ton of problems across the various platforms. I also have spent time on csszengarden.com for some insight in overcoming the problems).
Dvorak is waiting for DPSS.
Ever since we began using CSS for handling the visuals on our reporting platform we've had a much easier time making a big splash with clients. In the past just giving a new look and feel was all that was needed to appease the vast majority of clients; in spite of the data shown being exactly the same. Sure CSS requires effort, and as I read through the W3C's documentation I don't see them make the claim that CSS is necessarily easy on its own. Instead, the combination of tools (HTML and CSS) make presentation easier to update and shape.
DPSS (Designer Perceptive Style Sheets) should be ready in the next 50 to 100 years though. So, Mr. Dvorak, hold out just a bit longer and you can just think it, and it will be done.
Instead, Mr. D, rant about how the different browsers (IE6 rules!) failed to follow a published standard. The largest obstacles in web development are not the individual elements, but the containers. Having to do the same thing 3 different ways is obscene. On that, we agree.
My ZooLoo
The problem is not with the CSS standard, the problem is with implementations of that standard. IE has been on a different planet for years when it comes to implementing standards. It's kind of laugable that there's the "Microsoft CSS standard," then there's the real CSS standard.
Firefox does better, and unlike Microsoft, they're actually trying. (And making a damn good effort of it, IMHO, it's actually really close from what I can tell.)
I don't have much experience with Opera, but I haven't had much trouble with it when dealing with CSS.
Remember several years ago when several car manufacturers got busted for putting bad tires on new cars? No one argued that having tires on cars was a broken idea. The same is true in this case. Don't ditch CSS, just fix the friggin' browsers.
Besides, what exactly is the alternative? Putting style tags on each element? For one thing, you'll run into the same problems, and for another, I'm confused as to how that is easier than using CSS. Going back to tag-level formatting? No thanks. Frankly, that was a hideous idea when they came up with it the first time.
It was a nice rant, though, but misdirected.
Ah yes, material for years.
Dark Reflection
The only reason I use CSS is because color coordination does not run in my genes.
Whycome when Dvorak troll he gets linked to and when I trolls I get modded down?
Dat jus not fair.
..Dvorak displays lack of understanding of issue he's ranting about.
Ok, this is actually a bit funny, but not in a humorous editorial column way. More of a sad "son hits dad in the groin with a baseball bat on 'Funniest Home Videos'" sort of way.
Slashdot Burying Stories About Slashdot Media Owned
Solution: Start telling MSIE users to upgrade when they show up at your website, and if they don't, tell them to shove off. Yes, CSS standards are good. Firefox and Opera implement them a whole heck of a lot better than MSIE does. Okay, MSIE is catching up, but it's only one update followed by another 5 year span of stagnation. Users don't realize what a drag they're causing on web standards by sticking with such an old browser; it's time to help them feel the pain.
Cast:
...
John Dvorak: played by a angry, crying, screaming Horatio Sanz
Normal Human: played by you (unless you are John Dvorak)
Dvorak: CSS IS STUPID!! I CAN'T MAKE IT WORK SO IT SUCKS!!! STUPID STANDARDS BODIES!!! WHY DON'T THEY MAKE ALL THE BROWSERS WORK THE SAME?!?!? WHY!?!?!
Normal Human: Uhm, John. The standards bodies aren't in charge of the browsers. And lot's of people use CSS on sites that look practically identical on all the major browsers.
Bvorak: NO THEY DON'T. I CAN'T MAKE IT WORK, SO IT SUCKS!!!
Normal Human: Maybe if you bought a good book on CSS. Something by Eric Meyer...
DVORAK!: BUT IT CASCADES!!!
Normal Human: It's suppopsed to cascade. Just calm down.
DVORAK!!!: A BEAR ATE MY PARENTS!!!!
Normal Human:
DVORAK!?!?!: KHAAAAAAAAAAAAN!!!!!
Normal Human: I hate you.
Oh, and there are of course the IE-specific CSS bugs to bear in mind too - http://www.positioniseverything.net/explorer.html
throw new NoSignatureException();
I find CSS to be a dream and much easier to work with than tables. More often than not, when people complain about CSS there are two main reasons:
a. Explorer (but you learn some work arounds)
b. They don't know what they're doing and are unwilling to learn (it's a paradigm shift as they say)
Of course, learning it from a good source makes all the difference.
I use CSS for layouts and for type (and for print.) It's a breeze. I recently had to do a quick update of an old site that used tables. It was a horrible, horrible experience. Fortunately, I've got the project to convert it using XHTML and CSS.
"Another fine mess from the standards bodies."
What? So, the reason why CSS renders differently on each browser is because of the standards bodies?
In other news: The POSIX standard is why Linux isn't the top operating system. The SQL standard is why every database works slightly differently (enough to trip you up). The 802.11a/b/g standards are why wireless can be a pain to set up...
I [may] disapprove of what you say, but I will defend to the death your right to say it.
If your Internet connection happens to lose a bit of CSS data, you get a mess on your screen.
When does that happen? When the web server times out because the CSS is too big to host out? Or when Dvorak's AOL connection kicks him off because his free 100 minutes has run out?
C'mon...
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
"As most readers know, I'm a blogger."
That's like saying, "As most readers know, I am a computer operator."
CSS stands for Conspicuously Sketchy Sheets
Here's a tutorial John - http://www.w3schools.com/css/css_intro.asp
He who knows best knows how little he knows. - Thomas Jefferson
From the article: "There actually are Web sites that mock this mess by showing the simplest CSS code and the differing results from the three main browsers and the Safari and Linux browsers." Does anyone have a link to these sorts of sites that he mentions?
In retrospect, I think it's the last thing he said that made any sense.
That which does not kill her only prolongs my agony.
wtf does that imply? and wtf does it have to do with CSS? and wtf is this stuff that matters?
It's a logical necessity. Starting with "As we approach the age of Vista" logically predicates the following statements on the assumption we are approaching an "Age of Vista".
This allows us to say anything we please, because of the well known logical rule having to do with statements predicated on falsehood.
Example:
"As we approach the Age of Vista, engines powered by quantum singularities willreplace internal combustion."
"But, the internal combustion engine is still here!"
"Is it the Age of Vista?" "No."
"Well, then."
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Unsurprisingly there are a lot of 'omfg css is so easy, you are just doing it wrong' and 'its the implementers problem' type replies. While both these statements are true, they are missing the point.
CSS in principle is a good idea, and in practice, even in its current state, is a great improvement on the alternative, but the fact remains that in order to do a non trivial design that works across all in-use browsers it is going to take a lot of work. To do this in a standard way (without relying on browser quirks) takes more work still. Not particularly hard work, but can be very time consuming. Granted, this is the fault of the implementations, but that is a bit of a moot point to the person who has to spend the hours trying to remove a 1 pixel gap from the side on image in ie, without breaking the appearance in firefox.
As a professional web developer, I rarely am meet with issues that I have any difficultly understanding, the problems come when you design an elegant solution for a problem, implement 99% of it, then find some bug in one of the technologies used requires you to throw it all out and start again, rushing a ugly and hard to maintain solution in order to meet deadlines and avoid the broken bits. Experience help to avoid this, but when you multiply the amount of technologies typical in a web project (server, db, client side scripting, server side scripting, content (html), display (css)) etc. by the number of implementation that may be used for each one, factoring in the rate of change these technologies go through, it become impossible to be ready for all possible limitations/ errors in implementation.
If your Internet connection happens to lose a bit of CSS data, you get a mess on your screen.
Oh come on, Dvorak, this does NOT happen. TCP/IP has checksum features, if packets come in corrupt or not at all, the server resends that packet. It's an integral feature of TCP/IP.
Dvorak is an idiot. I really should stop paying attention to him.
"Black holes are where God divided by zero." - Steve Wright
Sure, CSS has issues, but most of his frustration appears to stem from the fact that he really doesn't know much about CSS.
He's probably used to HTML. The Web exploded because HTML was easy and anybody could 'get it'. I taught my grandfather HTML over lunch on a sheet of paper in the late 90's. This was good for the web, despite how people bitch and moan about their refined aesthetic sensibilities being offended by amateur GeoCities pages.
Since then the programmers have taken over. HTML documents need to have an XML namespace declaration at the top that most mortals can't remember. The CSS inheritance model is nonsensical, I need a 2-page cheat-sheet to get the syntax right, its designer thinks declaring aliases are 'too complex' and it takes a bona fide css expert to get css positioning working across browsers with a design that survives user-preferred fonts.
I'll start worrying about all this when browsers stop rendering the transitional DTD styled with basic CSS and positioned with tables.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
...or maybe the inanity, your choice. He mentions Vista and CSS in the same sentence, and then focuses on CSS for a rant about things that don't work?
Tired of FB/Google censorship? Visit UNCENSORED!
Who the hell used edlin? Blackbeard was a full-screen editor with a very reasonable set of control codes to do things, though Turbo Pascal 3's editor was probably the best of the best for the time.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
http://csszengarden.com/ highlights some of the wonderful artistry you can do with CSS. Once people get a grasp of using CSS, going back the traditional table based layouts, and mixing content and style, is no longer an option; but CSS is far from easy to pick up. In fact initially using CSS is incredibly frustrating.
I've been writing code since I was 5 when my dad taught me Fortran. As a pre-teen, I learned BASIC. In high school, I learned C and Pascal. In college, I learned LISP, Ada, and C++. My "favorite" language right now, simply because I am having more fun with chip design, is Verilog. Suffice it to say that I have a lot of experience with programming and programming languages and quite radically different ways of thinking about encoding algorithms (software and hardware design are very different from each other).
Coding web pages makes me violently ill.
Back in 2003, I decided to learn web programming. In the process, I learned to hand-code HTML, CSS, Javascript, Java, SQL, and PHP. PHP, I can handle, because it's simple and straight-forward and designed to make back-end writing easy (although I understand that there have been some developments with Ruby since then). SQL makes sense, since it's specialized for database manipulation.
But when it comes to developing front-end web content, I just cannot justify using three different languages for one thing. I mean, I do understand the idea behind specializing languages (PHP vs. SQL), so in the abstract, I see a reason for making a separation between structure/content (HTML) and formatting (CSS). I just have a visceral reaction to having to use two different languages with two different syntaxes at once in this context. Embedding SQL in PHP doesn't bother me. For some reason, CSS and HTML bother me. I think it's because I feel like they're haphazzardly slapped together and FORCED to get along. PHP and SQL have no relation. Each is designed for its function. HTML evolved from a structural markup language into a total mess, and then CSS was invented as a bandaid. Along the way, no one ever thought to actually unify them. And then there's Javascript.
CSS, HTML, Javascript, and Java each has its own different name for each kind of DOM object. WTF!
If you want to do the full gamut of web front-end programming, you have to learn four names for every object or attribute!
What were these people thinking?
They weren't.
And it's never going to get better. 100 years from now, web programming will be tainted by the legacy evolutionary path everything went through.
Just wait for the Semantic Web. Yet another syntax to learn. No unification AT ALL.
I'm currently enjoying the pleasure of converting message board software from (broken at that) HTML 4.01 with tables for layout, to XHTML 1.0 Strict using CSS entirely for styling and presentation. It's been a long work in progress (we're on about our 6th month of development work for this version, but XHTML/CSS isn't the only work being done, and we're all volunteers), but the change has been amazing. You wouldn't believe the increased speed at rendering pages, even for a Perl-based project. It's thrilling, actually. And of course we kept the tabular data (memberlist, calendar) in tables because it belongs in such.
Yes, our CSS file is huge now, but I can live with that.
I thoroughly enjoyed those percentages you either pulled out of your ass, or were delivered, Joseph Smith style, on a stone tablet from heaven.
Jeremy
It's when there's a hole in one of the tubes, all the CSS starts to leak out.
Bogtha Bogtha Bogtha
IE6 has problems. In all fairness, CSS was here first.
barack to the future?
If you want to complain, complain about Internet Explorer. Mozilla, Opera and (as far as I know) Safari all support the CSS table rendering model, which can do almost everything that HTML tables can. The main thing it lacks is support for colspan and rowspan, but for your average website layout (banner across the top and one or maybe two sidebars beside the content) you can get away without using either.
Of course, Internet Explorer only supports the bare minimum of the stuff in that chapter, and even then only when applied to HTML tables. Nor does Microsoft plan to support it in the near future. Most people don't even know that CSS can do table rendering because of Microsoft's lack of support, but the truth is that for all of CSS's warts, simple table-based layouts are actually right there in the CSS2 spec and will work just fine in every modern browser except Microsoft's.
Baby Jesus cries :'-(
The poor souls that don't have their threshold at -1 will totally miss this humorous gem!
Bah!
His rant can be extended to the whole PC world in general. The infancy of the personal computer industry began in an atmosphere of "selling the dream" and never worrying that it couldn't be delivered... and has never grown up.
Computers with sixteen-slot S-100 busses that couldn't possibly drive sixteen cards.
The Apple ][ which had no fan. The first time I saw one, I said, "Wow! they must have brilliant thermal engineers." Then the owner explained that the reason why the cover was off was that if he put the cover on it would overheat and shut down. They didn't have brilliant thermal engineers: they didn't know that they needed thermal engineers.
I remember a guy who kept talking about how wonderful his North Star Advantage was. I asked him if it was reliable. He said, absolutely, he had had no problems with it whatsoever. So the next time I was in his office, I asked for a demo. "Oh, I can't," he said. "The power supply burned out last month." "But," I said, "I thought you said you hadn't had any problems with it." "I haven't had any problems with the computer," he said. "Just the power supply."
And that, in a nutshell, is the way the PC industry has been since its inception. CSS is just one of many examples. People tried to achieve consistent appearance with HTML, and couldn't because it wasn't designed for that and different browsers rendered it differently. So, they invented CSS, whose whole reason for existence is to allow Web pages to be written to a standard that will be rendered consistently by all browsers. And it doesn't really work, and nobody cares.
How about all those USB devices whose instructions tell you never to plug them into a hub?
How about all the CDs that burn and verify without error... and can then be read in about 95% of all CD readers?
How about all the Bluetooth thingies that won't interoperate properly with other Bluetooth thingies?
How about all the Windows releases, each of which is going to solve the security and usability problems of the previous releases?
It goes on and on... but it doesn't matter because nobody expects the stuff to work any more...
"How to Do Nothing," kids activities, back in print!
This marks the day Dvorak realized the same frustrations of myspace kids everywhere. Hell, he even wrote a blog complaining about it.
"Dear Diary,
I don't understand why CSS won't work on my site! OMG, all I want to do is make every div tag on my page 50% transparent, why does it slow things down so much?? Sometimes I think everyone's out to get me. In the end I ended up using Tom's myspace editor, but now I have a link to his page on my page and I don't know how to get rid of it. I hate my life.
-J.D."
Dvorak seems to be missing the point:
"CSS's real benefit was that the layout not only could be changed easily but also could become dynamic: The content is stored in a database and presented as necessary, with instant updates. With dynamic content, it's possible for 100 people to go to the same Web site and get 100 different versions."
Wasn't it CGI, not CSS, that made dynamic content possible? CSS:
1) SEPERATES presentation from information, making all those cgi scrips a lot cleaner and easier to program
2) Pushes the processing of formatting client-side
Any CGI script can display 100 different non-css html pages to 100 different users.
Just because Dvorak can't figure out how float positioning works doesn't mean its a bad standard. CSS isn't perfect, but I don't see you coming up with anything better and getting all the browsers to support it (if imperfectly). I think the CSS that is consistently supported across browsers is far more impressive than the CSS that isn't is frustrating. In fact, I think we should have the W3C try to negotiate peace in the middle east as well.
And if you're still not happy with CSS, why don't you just output all of your web pages as XML and use XSLT for formatting. Then come back and tell me how complicated you think CSS is.
Anyone who has done more than look at CSS and come to the conclusion that support isnt concistent would also realise that there are ways to overcome almost ANY problem. I have overcome almost every "compatibility" obstacle i have come up against in XHTML & CSS, largely through the use of SIMPLE, DOCUMENTED methods that are freely available through the wonders of google. Stop bitching and use your brain. Just because every tom dick and harry can open FrontPage doesnt mean you should expect it to be a 30 second tutorial to learn the way browsers, css and xhtml work. You can open a japanese book just as quickly as you can open FrontPage, but you dont expect to learn in just by looking at the pages for 30 minutes, do you? Either learn how to do it or shut the fuck up and go find someone to wipe your ass for you.
What is...?
Besides the poor implmentation of the browser makers of the CSS standard, the standard itself has plenty of flaws or omissions. Even people with quite a bit of experience creating web pages have trouble using CSS for certain layouts, this speaks to the basics of CSS. No wonder people have been pissed off at the W3C, their standards are lacking and they can't get proper industry-wide implementation of them.
John Dvorak, San Francisco Examiner, February 1984
Dvorak: Visionary of the Future
is to become a .NET developer and live happily ever after, of course. Except... not. The reason for all the languages and syntax is that the web grew up out of humanities desire to communicate. There is no one company that delivered the Internet as we know it. If you look at the history of any of the languages you mention you will find your answer as to why things are as they are. JavaScript came from Netscape and was originaly called LiveWire. It was a radicaly new web language that would give developers the tools to add client side processing to websites. Problem was that very few web developers at the time were actually programmers. They were most likely either DIY hobbiests or corporate lackies who sleezed their way into an easy paycheck by becoming the "web guy". So it rotted in the background until, hey, AJAX everybody!
HTML came out of SGML and the academic community. It was designed to deliver, get this, text _and_ images in the same document on the Internet! So cool! People were supposed to write their web pages in a text editor and then PUT their documents on the webserver. But PUT was not secure or powerful enough so enter webdav.
CSS is great! I have no complaints about the CSS/HTML dicotamy. And things will only get better with time. The problem with CSS is Internet Explorer. But I'm not going to beat that horse.
The web came so fast, and so many people were thinking about it that it produced an explosion of technologies, each trying to deliver something new. Now days we are sorting it all out, keeping whats good and letting the bad fade.
It's only been 15 years of the web. Can you imagine the world without it? I'd say things are pretty good.
Kind Regards
"A few great minds are enough to endow humanity with monstrous power, but a few great hearts are not enough to make us w
How about this: All browsers must support CSS1 completely and CSS 2.1's positioning at least.
Or what?
"Or I'll say, 'All browsers must support CSS1 completely and CSS 2.1's positioning at least' again!"
I don't make the rules. I just make fun of them.
- His articles are cascading. I mean, it starts sucking at the top, and the further I delve into it, the more it sucks. And if my web browsers looses some of his article, then all hell breaks loose on the suckiness.
- His articles don't follow the standards. Typically, and article posted online is supposed to be interesting, informative, and be written by a well educated man. This article follows none of those standards.
- His article was supposed to be dynamic. But every time I read the damn thing it's stil the same old boring Sh!t.
And it makes a hissing sound: "csssssssssss...."
MPEG-4.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
Or if your Internet connection happens to lose a bit of HTTP data, will the rendering be ok?
Or if your Internet connection happens to lose a bit of TCP data, will the rendering be ok?
Or if your Internet connection happens to lose a bit of IP data, will the rendering be ok?
The people that want it to "look nice" rather than to work are the culprits!!
I disagree. The people at fault are those who still think it is 1990 and design and programming are wholly separate disciplines. Camps 1 and 2 need to disappear. Camp 3 is growing fast.
Camp 1: Designers who want eye candy.
Camp 2: Programmers who would prefer that the Web be reduced to square corners, primary colors, dense copy, and no white space.
Camp 3: People who understand that design and programming have to work together in order to create true usability. Call them interaction designers, web developers, or webphibians. The name is unimportant, but the cross-disciplinary skillset is vital.
Read the EFF's Fair Use FAQ
Why didn't I think of that? Just ignore the standard and design for IE. Its such a great idea! Let's be practical here; who really cares about those fringe users running Linux, Unix, OS X, embedded systems, etc. If they want to look at websites, they can just get a real OS, right?
The sad part is that many people will probably read your comment and miss the sarcasm completely.
I have had many otherwise knowledgable people who make their living from designing websites defend the practice of designing for IE and IE alone, arguing that since that's where the market is, web standards can be damned.
Even if it was not intentional on its part, the bad CSS rendering code in Internet Explorer can be considered another of Microsoft's "Embrace and Extend" strategies. After all, if Microsoft cannot own the web, at least it can render it unviewable by anything other than its own software.
Ah, good ol' Microsoft: Setting back world progress in computing yet again.
Incidentally, to whom do I address my invoice at Microsoft to cover the months of unnecessary work I have spent over the years to make my perflectly CSS-compliant websites not looked like squashed garbage in MSIE?