Linked by snydeq on Tue 16th Aug 2011 16:46 UTC
Web 2.0 InfoWorld's Peter Wayner discusses the 11 hard truths Web developers must accept in making the most of HTML5 -- especially those who are looking to leverage HTML5 in hopes of unseating native apps. 'The truth is, despite its powerful capabilities, HTML5 isn't the solution for every problem. Its additional features are compelling and will help make Web apps formidable competitors for native apps, but security issues, limitations of local data storage, synchonization challenges, and politics should have us all scaling back our expectations for the spec.'
Thread beginning with comment 485651
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[6]: HTML 5 == Pointless Bloat
by Brendan on Wed 17th Aug 2011 23:43 UTC in reply to "RE[5]: HTML 5 == Pointless Bloat"
Brendan
Member since:
2005-11-16

Hi,

Blame Tim Berners-Lee... He invented it and he was heavily opposed to supporting purely presentational markup since day one. The original browser he wrote used the equivalent of a user agent stylesheet to determine how things were displayed (it was not CSS, but it was conceptually the exact same thing).


It was internal, and not something web developers had to care about, and therefore very different to CSS from a web developers perspective (despite being very similar from a web browser's perspective).

HTML, like almost all other successful markup systems that came before it, is founded on the concept of separating presentation from structure and content. This idea is based on decades hard-earned experience. If you want to make a presentational markup system be my guest, but don't try to corrupt HTML into one - it was never meant for that.


I'm not sure which successful markup systems you're referring to. I hope it's not LaTeX (if you've ever tried to use LaTeX to get both HTML and PDF output that looks slightly similar you'll understand why I'd suggest using something else instead).

I don't get your point (or your numbers). I loaded osnews in firebug and I see 5.3KB of css that is used by the site (the rss stylesheet is tiny and is only applicable to rss - it could have been omitted until needed). The actual page content is only 16.5KB. Everything else is javascript, images, or advertising crap and has nothing to do with you argument or mine (and certainly has nothing to do with controlling look or feel).


The web site's main page has changed since I wrote those numbers (3 new articles added, not sure how many removed), and (at the moment) I get 18.7 KiB for content. The CSS has also changed a lot - it was 215 lines (23.3 KiB) and now it's only 77 lines (8.4 KiB). I'm wondering if the OSNews staff have done a few things to reduce the bandwidth.

I don't think it's fair to ignore any of the javascript. I'd argue that HTML has made it difficult for web developers to control presentation, and therefore they're forced to rely on (for e.g.) CSS and javascript and direct DOM manipulation to regain control of presentation, and because the final "HTML + CSS + JavaScript + DOM + whatever is used server-side" quickly becomes an over-complicated mess; web developers use libraries and toolkits to try to cope. All of the javascript used by this site is a symptom of the problem, and therefore shouldn't be ignored.

So your options are either:

1. Have a 5KB stylesheet, loaded once and cached by the browser, that can control presentation of all pages on the site for the entirety of the users visit.

2. Create some kind of crazy markup that incorporates all the styling it does, and then include that markup in the content of every page of the site, bearing in mind that the user will have to download all that markup again for every page load.

Ok. Now try to convince me that option 2 is "efficient". Or maintainable. Or even sane...


Given the choice between "HTML + CSS + DOM + who knows what else" and "a markup language designed for presentation and no need for anything else", I'd choose option 2; because a single 20 KiB page that uses one or 2 languages is much better than a 200 KiB mess that uses many more different languages.

That is leaving out the vast efficiency savings that are available with modern CSS (this site is rather old).


..and ignoring the vast efficiency savings that HTML could have had if modern HTML was designed for presentation.

You can also, get this, create different stylesheets for different uses - alternate layouts, targeting specific devices or usages, etc., all with the same markup. The list of things that make CSS good is a mile long...


So you're suggesting that CSS means things like WML don't have a reason to exist now?

The model I want is where raw content comes from where-ever (e.g. database), something like HTML is used to present that content to visual users, some sort of "Aural Markup Language" is used to present that content to aural users, something like WML is used to present that content to small devices, something else is used to present the content to search engines, etc. Basically, markup languages designed for specific purposes, rather than a horrid mess that tries to cope with everything imaginable at once.

Why don't you actual learn CSS instead of making up stupid arguments against it?


I did learn the basics. I spent hours fighting with it trying to make it work (and mostly failing because it was far from intuitive). The only thing that learning the basics did was increase my desire to replace the entire "web" stack, from HTTP all the way up.

- Brendan

Reply Parent Score: 2

deathshadow Member since:
2005-07-12

I did learn the basics. I spent hours fighting with it trying to make it work (and mostly failing because it was far from intuitive). The only thing that learning the basics did was increase my desire to replace the entire "web" stack, from HTTP all the way up.

You probably were either learning from the wrong sources (VERY likely, lots of web rot out there) or failed to grasp how important semantic non-presentational markup is to using CSS properly. There's a saying I use a lot -- CSS is only as good as the HTML it's applied to. If you're still vomiting up HTML 3 style presentational markup (a disastrous mess that should never have been allowed in the first place) applying CSS is just going to result in a bloated mess. You start throwing classes and ID's on EVERYTHING instead of using one convenient parent tag and it's going to be a disaster as well...

Really though, saying the APPEARANCE on every element in the markup defeats the point of HTML -- saying what things are so the USER AGENT can best determine how to show it. As another saying goes "If you choose your HTML based on the default appearance of the tags, you're using HTML wrong!" -- and that dates back to HTML 2. We got away from that with HTML 3 during the browser wars, and HTML 4 Strict was supposed to drag us back on track. (and now HTML 5 is just 3 in drag, worse than 4 Tranny as it least it was on hormone therapy getting ready to go under the knife)

But then, the markup alone is where a LOT of people screw up their pages -- concentrating on the appearance before they even have semantic markup of the content (or a reasonable facsmile) with a logical document structure... That's the approach I've been advocating for design over the past half decade or so... Semantic markup of content FIRST -- that way you know it's accessibile to EVERYTHING with tags saying what things ARE. THEN bend that markup to your will creating the layout in CSS for each of your primary media targets -- Screen, Handheld, Print (and now screen+width for smartphones/tablets).... then and only then boot up the goof-assed paint program like Photoshop to create the graphics you'll hang on the layout. (and with CSS3 even that looks to get a swift boot in the patoot).

It's why I laugh at the people who end up with the "but I can do it in photoshop" idiocy where they had some artist draw a pretty picture, that's COMPLETELY non-viable as a website due to fixed height elements, fixed width elements, non-tileable or stretchable elements, and areas that can't even dynamically adjust to the content inside them.

Reply Parent Score: 2

Brendan Member since:
2005-11-16

Hi,

You probably were either learning from the wrong sources (VERY likely, lots of web rot out there) or failed to grasp how important semantic non-presentational markup is to using CSS properly. There's a saying I use a lot -- CSS is only as good as the HTML it's applied to. If you're still vomiting up HTML 3 style presentational markup (a disastrous mess that should never have been allowed in the first place) applying CSS is just going to result in a bloated mess. You start throwing classes and ID's on EVERYTHING instead of using one convenient parent tag and it's going to be a disaster as well...


It's hard to remember the exact details now. What I do remember is that I was trying to use CSS to control page layout, and couldn't get the layout I wanted - I kept getting strange/unexpected results, like pieces of the layout in unwanted places and pieces superimposed on other pieces. In the end, I had to reorder the HTML and change the layout to suit CSS, rather than being able to get what I wanted.

The layout I wanted wasn't complicated either (page header, page footer, navigation menu/links at the top right, with main area in the middle). I still don't know if it's possible to have HTML in a logical order (e.g. main content, followed by "header, navigation, footer") where CSS controls layout completely.

Of course I'm not saying that CSS isn't capable of doing what I wanted (I honestly have no idea). I am saying it was far from intuitive, and that if it is possible it certainly isn't easy.

- Brendan

Reply Parent Score: 2

galvanash Member since:
2006-01-25

So you're suggesting that CSS means things like WML don't have a reason to exist now?


Other than for the oddball feature phone that is 3+ years old? Yes, no reason at all. It is dead as a door nail going forward. No one is building WML devices anymore...

The model I want is where raw content comes from where-ever (e.g. database), something like HTML is used to present that content to visual users, some sort of "Aural Markup Language" is used to present that content to aural users, something like WML is used to present that content to small devices, something else is used to present the content to search engines, etc. Basically, markup languages designed for specific purposes, rather than a horrid mess that tries to cope with everything imaginable at once.


And you just illustrated why WML died... You really have some crazy notions, I gotta give you credit for not being shy with them. You are literally the only person I have ever seen describe markup soup as something they actually want.

Reply Parent Score: 2

Brendan Member since:
2005-11-16

Hi,

Other than for the oddball feature phone that is 3+ years old? Yes, no reason at all. It is dead as a door nail going forward. No one is building WML devices anymore...


That's sad - the idea of delivering one file that represents many (small) pages seemed important. I also severely doubt that you'll ever be able to have one HTML file, with one CSS file that lays that HTML out as "one big page for normal users" plus another CSS file that lays that same HTML out as "many smaller pages for mobile users".

"The model I want is where raw content comes from where-ever (e.g. database), something like HTML is used to present that content to visual users, some sort of "Aural Markup Language" is used to present that content to aural users, something like WML is used to present that content to small devices, something else is used to present the content to search engines, etc. Basically, markup languages designed for specific purposes, rather than a horrid mess that tries to cope with everything imaginable at once.


And you just illustrated why WML died... You really have some crazy notions, I gotta give you credit for not being shy with them. You are literally the only person I have ever seen describe markup soup as something they actually want.
"

I've got an idea. Rather than having lots of different vehicles (planes, cars, trucks, wheelchairs, skateboards), lets attempt to create a silver bullet that completely sucks for everything.

Different markup languages designed for different purposes is better than "10 variations of HTML plus 5 variations of XHTML plus 3 variations of CSS plus javascript plus DOM plus java plus flash plus 10 server side scripting languages plus at 15 different toolkits and frameworks to try to make it bearable for web developers plus browser incompatibilities because nothing helps make it bearable for browser developers" all sugar-coated in a layer of hype.

It's the old "Do one thing and do it well" idea.

- Brendan

Reply Parent Score: 2