|
|
Apr
29
Posted by:
Joe Brinkman
4/29/2006 3:29 PM
What I am about to say may be sacreligious in some circles but I feel it can never be said enough. CSS is not ready to be my primary method for laying out pages. There. I said it. I know. By now I expect people are frantically trying to find the comment button to flame me. But follow my logic here. The web community spent 10 years in purgatory fighting the browser wars to come to some consensus around HTML standards that could be used to build a site that looked decent in all current browsers. The development community was tired of the HTML extensions that worked in browser x but not in browser y. We shunned ActiveX controls and forced Microsoft to all but abandon VBScript. I want to write a web page once and have it served and rendered correctly in all major browsers.
About the time the browser wars were in their final stages, it was decided that it would be good to separate our data from the presentation. HTML was given a new X and tweaked to bring it into line with the XML standards. Now I had a format that was easy for marking up data without worrying about how to present that data. The presentation duties were relegated to CSS. CSS was great. You could control almost every aspect of how your data was displayed. You could put it in boxes, and give it pretty pictures and add margins and padding and all sorts of fancy fonts. We were in Nirvahna. But then some idiot went and fired up one of the browsers that were defeated at the Battle of Redmond and the Battle of Mountain View. WHOA! Sparks started flying from the screen. What happened to the beautiful website I just spent weeks building?
I think we're ok. All my presentation logic is in one place. Maybe if we just tweak it a little we can make everything beautiful again. No problem. Hmmm. Where to tweak? I followed the CSS spec exactly. What could be wrong. Maybe if I consult the Oracle at Google, the gods will give me the answers I seek. Ahhhh, the God named Holly has a hack that seems to fix my problem. All is right with the world. Then someone mentions something about this Opera where people go on a Safari to hunt Firefoxes. My head is spinning and my site looks like Crap. Back to the Oracle where I find the God Tantek has another solution. My site is looking great again.
Hey did you hear that the Redmondians have upgraded their armor and are readying a new battle tank. Guess what? All those solutions from Holly and Tantek and a myriad other Gods need to be updated. Hey did you also hear that there is a new CSS standard coming out? It will solve all the problems of the previous two versions of the spec. Of course, between bugs and incomplete implementations, we will spend another 10 years trying to get everyone to support this "standard" before it even approaches useability.
ENOUGH ALREADY!
I am tired of everyone telling me to jump on the XHTML/CSS bandwagon. It is a huge waste of my time. Come back to me when you have something that actually works WITH ALL BROWSERS. Until then I will use CSS for window dressing only and will not rely on it to build my whole house. In my opinion, it and the browser manufacturers are just not ready. If you wonder what caused this rant, just look at this simple explanation of clearing floats and it should be obvious to any but the true zealots what is wrong in CSS land. Notice the name of the html title. EasyClearing.html. I am sorry, but if it takes you this long to explain an "easy" method I hate to see what the hard methods looked like.
The state of affairs with CSS is just not acceptable. All the productivity gains we have made in other areas of web programming were for nothing if I have to spend all of this extra effort to make my pages look correct in various browsers.
10 comment(s) so far...
Re: Still not a believer
I've only been playing with DotNetNuke a few days now, and I realize it's biggest drawback is cross-browser compatibility. I've noticed that the "Page Management/Basic Settings/Page Details/Permissions" does not render correctly in Safari. And the whole "IFRAME" thing leaves out a lot of browsers. Personally, I love Microsoft products, but I would never expect everyone to use IE...
By ffazzio1@stjudecc.org on
4/29/2006 3:52 PM
|
Re: Still not a believer
Joe: Amen and Amen!!!
By dagilleland on
4/29/2006 9:47 PM
|
Re: Still not a believer
Iframes are supported in all recent browsers and there is even a W3C XHTML module for use in XHTML strict documents.
By flanakin on
5/1/2006 8:03 AM
|
Re: Still not a believer
Zen Garden is good, but I think the following link is just as valid:
http://www.goofball.com/news/990716_feces
You can create "art" with almost anything, that doesn't mean that Davinci should have painted the Cistine Chapel with cow manure, nor does csszengarden prove that CSS is ready for primetime.
There is a reason why there are whole sites devoted to nothing but CSS hacks. I don't need extensive hacks for any other part of my programming toolkit, why should I accept it for my web-page?
By jbrinkman on
5/1/2006 11:25 AM
|
Re: Still not a believer
These are all good points, and in general I agree. But, what happens if developers don't support and promote CSS? There is a balance to be found between "I need to make my web site consistent and attractive across all browsers" and "If this page does not display properly in your browser, complain to your browser vendor about not producing standards compliant software". Without some (read that as considerable) pressure, vendors will ignore standards and continue to produce proprietary products.
By rodcoate on
5/6/2006 9:19 PM
|
Re: Still not a believer
I guess that CSS is becoming the major way to layout pages since it provides an astraction that is higher then using table and inline styling. But if you are speaking about DNN, well I agree with you: it's impossibile to develop a full css based layout for DNN. DNN has an old and wrong doctype that prevents IE6 to behave in IE6 mode, but is forced down to IE4 mode: so all the enanchemtns made to the rendering engine of IE are not used.
Also, another big problem is that DNN embeds some useless span,divs and tables in the rendered HTML, so this prevents a complete CSS based layout. I think that DNN team needs to work more on this part of the software
By simonech on
5/9/2006 7:59 AM
|
Re: Still not a believer
I agree with everything Joe said about the state of things right now. It's at the very least a frustrating circumstance.
But it's hard to gloss over the advantages of CSS layouts for the future - particulary to disabled users and to search engines. The markup that both have to wade through to get at cotent is substantially less. And it appeals to the programmer in me as simply elegant code. The savings in page size is a less compelling argument as broadband access spreads.
I posted this before in the forums - the first step is to get DNN to produce simple valid HTML (without the "X" in front).
I was told in the forums that it's impossible with DNN 3.xx (due to the doc type issues) and would require substantial work for DNN 4.
For me as a real world user of DNN in the client environment, I'm not concerned about CSS yet. However, it can be challenging to justify to clients why their site doesn't pass simple html validation.
It's a battle an increasing number of the DNN community will face as the CSS movement (which is focused on validating the output) gains even more popularity.
By wpballar on
5/12/2006 9:43 PM
|
Re: Still not a believer
The core team is working to fix the HTML validation. It is not going to be an overnight change but we will get there. Much like the issues around Medium Trust, it is something that must be understood and ingrained in the development process.
No matter what the core does, it is also important that the module developers follow suit. Having reviewed many modules, I can say that this will not be a quick process to get the module developers up to speed, but we are putting in place the processes that will help hasten their improvement.
By jbrinkman on
5/13/2006 8:41 AM
|
Re: Still not a believer
I have to agree with Joe in this area. And it's not because I'm a core team member.. we've each got our own opinions on many areas, making it a lively place sometimes in the core team discussions.
However, I am an advocate of balance. And you see there are people here advocating they can make DNN fully W3C compliant by making some changes, then I say implement them into the projects that need them, and let's take advantage of the diversity and flexibility DotNetNuke has provided the wider community.
All I do in my work is skinning and design, and in the large commercial projects I'm working on, ONLY ONCE have I ever been asked to do NO TABLES in the design. However, when they sent me the design they wanted, I sent them back the design they could have... and they immediately dropped that stance, stating they were not willing to compromise to that level and they are absolutley thrilled with the end result, even the CSS loving Designer who created the initial site!
I've been mindful in the design conversion in making the site carry as little tables as possible, but the point is, commercially, on SOME sites, it's going to be an impossible task.
I also agree with Joe there are going to be a handful of people who will always be complete purists in their own field but it's possibly a very narrow view to take because W3C compliant does not mean Accessbility compliant or XHTML compliant. Compliant is now a watered down word with alot of different and subjective opinions attached.
In the enormous growth of DNN, and the amount of extra work and enquiry I'm getting, I've notice absolutely NO growth in the requests by companies and commercial users for CSS compliant sites. Not a single one. I checked my mail to confirm that. And that I suppose is why I feel very confident in the directions being taken by the core team decision makers at the moment - especially with other fixes that are very important too.
On another note that is also of relevance in the area of compliancy - Cathal and I are working on some structure together, so we developer/skinning partnership that allows us to discuss changes and then present to the core team for further discussion. From that point, the board of directors can make the decisions on if/when/how it would or could work.
Everything takes time and every one of the core team developers is aware of the issues mentioned by others and not is moving on with blinkers on, oblivious to the CSS growth.
I think Joe's just saying - Hey, your comments are taken on board, but it's going to take time - so how about a break!
I think if you really require perfect validation, you take the build, make your core and other changes and run with it. There is plenty of information for you to be able to do this and you'll solve the problem at hand.
Just my thoughts on the matter. Thanks for this blog Joe.
Nina Meiers
By nina on
5/14/2006 12:19 AM
|
Re: Still not a believer
I have a client for whom we have created a DNN site. He received the following comment from a colleague: "Your site was created with something called DotNetNuke - this generation is not compliant and does not use CSS, can you change to a compliant (http://www.w3.org/) site? Ask them why your site is not W3 compliant."
If anyone can help me with a response to this I would appreciate it! Thank you Margaret Logan
By margaretlogan on
6/20/2006 10:06 AM
|
|
|