Web 2.0, Progressive Enhancement, other buzzwords
Posted: Tuesday, June 2nd, 2009 @ 05:00 PM under Web Development
You see them everywhere, along side of tons of people preaching about one or the other but none of it makes much sense in practicality ecspecially if everyone decided we're in web 2.0 now -- which I also don't agree with but maybe that's another blog post entirely. For now, I want to focus on my latest issues with Javascript/AJAX and the theories of progressive enhancement and graceful degredation. We'll start with PE.
Progressive Enhancement is the fancy word coined for "making sure your site works at the core level of (X)HTML". From there, one should add on their other tweaks in the form of stylesheets (CSS), Javascript, and/or whatever else. That makes sense, and I sure hope anyone who calls themselves a real developer already knows that. What I do not agree with, however, is to make everything you make functional for everything there is. That's not possible in reality, and even if you can pull it off on your little blog article "demo page" it's still not practical for "web 2.0 applications" or in reality any remotely big site.
There are reasons Digg(not a fan, but everyone knows it), Gmail, and lots of other applications do not follow these practices simply because it's pointless.
Let me take an example I've run in to myself on my latest website which is an adult video site. Lots and lots of interactivity on this website; it's key to it's survival if it has any shot at competiting with the big boys or almost any cheesy $50 "tube" script. We've also used JS links via href or onclick. We've all done form parsing in JS without submitting. I don't disagree one should possibly add a fallback to a real POST or maybe even a href but the idea of doing it in every spot just so some small percentage (maybe) can use a less-than-desired version of your website is beyond me.
I want to talk about the key reasons people decided it's best to use this practice (or rather, preach it). All of the reasons are absolutely ridiculious and seem to be spit out and recycled as an act of desperation for the cause, but here we go none the less.
Some people disable Javascript. Yes. I'm aware. Do I care? Not at all, and why should I? I am supposed to care because the following?
1) Security measures - Javascript isn't your problem. Internet Explorer is, Windows is, idiotic clicking on those funky monkeys saying shot the ball for 10,000 dollars and you believed it now you're sucking down some ActiveX trojan or something. Not my problem!
2) Work/school blocks it - Right. Maybe they should. You're not being paid to surf the web and do jack shit at work. Quit bitching you can't screw your boss over on behalf of developers trying to provide great experiences to their users.
3) Some people say their firewall blocks bits of code -- again, this sounds like your problem not ours.
Out of reading lots of articles on JS related topics lately that's the jist of the reasons to progressively enhance. Wait, there's more. What if joe blow wants to use his phone to look at your website? Phones don't make good use of Javascript!!! -- well, I thought this statement was illogical from the get go. One is to complain a website, intended for a web browser, doesn't work good on a phone, or PDA, or whatever else? Geez, ya think? Because you can make a watered down version of something it's automatically required? I don't think so.
You know, it boils down to the simple fact that if you have something small and hardly complex you can pull it off and feel good about yourself. If you are developing complex applications or scripts even then I wouldn't worry about it. It's wasted time, code, bandwidth, etc. That's my thoughts and I'm sticking to them. We need to move forward on the web, not stand still. Think back to all the combinations of stuff that we think might be good but suck. It's time people look to the hardware makers of our new fancy tools who want to put you on the web to put you there properly. Just because a developer can fix an issue that isn't their problem doesn't mean they have to, or they should.
Graceful Degredation is another fancy word coined for simply "having failsafes" in your code. A dirty example is your <a href> links which use onclick="this();" and either no href or href="#" some say what about javascript disabled people who click it and nothing happens. What about them? Adding in some simple stuff for this scenario is definitly easy but it takes out the practicality of javascript. In my instance a reload of a page means downloading another 10-150 mb video file, 30-50 thumbnails of video clips, and lots more. Of course I'd love to prevent that with AJAX and that's what I do. I do not care much if someone else can't interact with the site. I do agree one should make your core site functional in markup and not document.writes() or anything extreme but again that's just common sense. You can make a website and not be a developer. Don't confuse the two.
So my question remains if we're in web 2.0 why are we designing web 1.0? Backwards compatability is not always a good thing. Sometimes you need to move on. We have no problems leaving the cassette, VHS, or other outdated and un-useful to us now technologies to rot how come we're not doing the same on the web?
Javascript is essential to any website now days that wants to be successful on a large scale. Not every website needs ajax or fancy stuff but a lot do. A lot do simply because someone else has it. It's in our nature to compare anything and everything and obviously our prefered choice is one central place with everything we want on it. Obviously that will never happen but we must try to incorporate most successful elements of other websites in to our own. Out of the box, we must be competitive to the best in the industry or we'll be destined to fail. On the web, the greatest thing about it to [to me] is that a developer with the proper knowledge and tools at his disposal can take on any major player in the real world on the web. You could out rank CNN.com for keywords, it's possible [unlikely, but an example]. That's where one should spend their free time in SEO, not on supporting NS 3.0 or IE 5.x and other things. Leaving these folks in the dust is the only way to get them to move in to the new web age, the age of interactivty, the age of web 2.0.
I have nothing more to say really. Out of lots of the articles I've read it seems only a few people have the same opinions I do, but of course, I was reading articles for PE, GD, and other things so that was expected.
In the end, to each their own, and that's how we'll always roll.
No comments exist for this blog post
You must be logged in to make comments!
2012 Archives (1)January (1)
2011 Archives (1)January (1)
2010 Archives (8)March (5)
February (1)
January (2)
2009 Archives (65)December (4)
November (5)
October (8)
September (1)
August (4)
July (9)
June (8)
May (7)
April (19)
2008 Archives (1)February (1)
2007 Archives (8)November (1)
June (1)
May (1)
March (1)
February (4)
Blog Posts: 84
Blog Comments: 96
Blog Views: 43,388
Online: 9
Hits Today: 22
Hits Total: 389,484
Users Today: 0
Users Total: 753
I might be a daddy!28 views, 0 comments
It has been a long time sinc..614 views, 3 comments
Breaking Bad Season 3 Premie..702 views, 2 comments
Diablo 2 Ladder Reset on Mar..942 views, 0 comments
Ball Pythons - A money trap?4616 views, 0 comments
It has been a long time sinc..125 days ago by brresch
It has been a long time sinc..198 days ago by nitestormz
Why is the internet so borin..200 days ago by beerguy
It has been a long time sinc..286 days ago by regangutta
Breaking Bad Season 3 Premie..372 days ago by bterrill







