« MT-Textile | Main | End of Iraq war, where's WMD? »

May 06, 2003

It's all about abstraction

We have the programming language evolution starting with machine code, then assembly language to C, Pascal, Fortran; from there it keep going to C++/Java/Smalltalk/C#, VB/Delphi, and the alternative like function language gone along the parallel path. All it shows was a path to have higher and higher layer of abstraction, which help human being’s brain to perceive a more structural modeling. It works, in terms of better understanding or implementation.

So it’s all about abstraction. CSS is an abstraction. While people being tired of spaghetti markup codes, CSS was brought into the picture. It’s intuitive. These people, who design webpages, code it, understand and reading the markup tags, need a better way to think abstractly. CSS just make life easier, you could have think ahead to draft a better model of the design, better control of the style, reusable elements…

I used to be late on what’s the happening topics. I was just aware of the recent arguing of to CSS or not to CSS, which started from JWZ on his CSS is BS . Lots of people argued over what traditional presentation tags could do (especially table layout design) and CSS can’t. CSS do have the drawback because of different browsers’ implementation and bugs, so you’d be easily to be depressed while you want to get the required layout by CSS. I ain’t a web designer sleep with HTML/CSS everyday. I started learning CSS a few months back and do experience the same frustration with layout design, why_it_work_here_not_working_there browsers problem. But I’d still stand on CSS side. Why? Because it’s a better way to design. We’re not talking about one or two page design but a whole website, where you got to wondering about the consitency across all the pages, architecture, process flow. CSS provides big help because it’s one step further, it’s an abstraction of web design.

CSS can’t be a silver bullet though. It did facing the problems that:

  1. unconsistency of browser implementation, lot of bugs waiting to be catched up
  2. hard to learn. CSS is difficult? No, not the basic CSS at least. You could easily learn about basic rules of CSS in 10 minutes, then you got all your H1, H2, H3, p tags having the same font family. But when it come to more advanced level, where you have to cope with layout/positioning and even tricks to hide certain CSS from certain browsers, that’s pretty hard part.

Hard to learn shouldn’t be an excuse to web designers. However, the world of web/HTML isn’t only involved with professional web designers. We have application programmers or even DB administrators have to deal with HTML occasionally. We have ordinary people wanted to have their own web publishing. There are tools (e.g. Blogging tools, CMS) to help on web publishing, but ain’t force/help on CSS usage. In all these cases, cope with standard implementation and various bugs or tricks is just too annoying and people tend to give it up, back to easier table layout design. And that bring more satisfaction because you get exactly what you want! Technique to do proper presentation layout like table would live long since whatever works would stay.

Come on guys, why so picky on table vs CSS? Just use table at appropriate place (e.g. simple tabular data), use CSS for the overall design and control.

I find no perfect solution though. CSS is still the direction. Everybody could have their own choice, but please stick to it since you’d benefit in the long run. Maybe we shouldn’t be rush, at the end of day, CSS doesn’t look so hard at all, as long as you don’t learn all the dark side of browsers in one single day.

Further reading:

May 6, 2003 05:17 PM | MovableType & Blogging
Related entries

Feed2Podcast - Jan 16, 2006

Technorati is the most friendly web service to non-English blogger - Jan 14, 2006

Ping-o-Matic is down temporary - Jan 14, 2006

New kind of spam - Dec 28, 2005