Thursday, June 29, 2006

My hatred for Web 2.0, and how I fit in

I was bookmarking a joke website about office slang, using del.icio.us of course, and in the "Popular Tags" section there was "web 2.0" ... someone fuckin' tagged a joke website web 2.0! Immediately a very original thought popped into my head ... "I hate web 2.0". Many people's jaws would drop and gasps would fill the air if they actually heard me say that ... well i said it, so be shocked! But seriously, let's talk about web 2.0 for a second, or a while, however long you want to read. I find web 2.0 to be one big hack; a conglomeration of disjoint technologies and a vain attempt to make the web prettier and easier to use. Background Since people have no idea what web 2.0 is (since jokes are now considered in the bucket), let give you a historical definition. Web 2.0 is the name for this new movement in web development, both technological and design related. It really started with CSS design and the breed of sites that started appearing. Graphic Designers were starting to develop very beautiful sites and websites were turning into web applications. Then the 2000's buzzword began ... blogging. Remember iweblog.net? Of course not! That was my old website I started in college ... i could have been huge! Anyway, I digress ... back to web crap-point-oh. So blogging started coming into the mainstream with tech companies and news reporters and soccer mom's. So we had CSS and blogging, but the online world was still no where near as active ... some new technology needed to be puked out of somewhere to start the avalanche. Internet Explorer had this javascript object called XmlHttpRequest ... it let a browser send a message to a web server and get back xml data without refreshing the page. This little undocumented object was pretty useful in sending xml around, and most other browsers have a similar object to do the same thing. But last summer Google Maps decided to use it to send html data around and refresh parts of the webpage with it. Sound familiar? Yes, I am talking about the birth of AJAX, or the name no one wants to say, "Asynchronous Javascript And XML". And why does no one want to call it that, other than it being really long? It's a blatant reminder of it's hackiness. So what is AJAX really? AJAX is really an integration of a couple technologies. Really just one. Javascript. XML isn't a technology, just a data format. Asynchronous is just a descriptor ... so we're only left with Javascript. But the effect of this is huge on websites ... Just as some background, GUI applications generally work on widgets and events. An event (onclick) is tied to a widget (button), the event gets called when the button's event is fired (click). The event can update any part of the gui. Webpages work in a request/response nature, forcing the entire site to be reloaded on each click or event. However, AJAX lets this request/response to only affect a part of the page, allowing websites to masquerade functionality like gui apps. This is huge, a big win for web applications ... or is it? The hack starts to show ... This changes the whole architecture of web apps. Rather than using links, now we need to tie javascript code into the link to get all this to work. Plus, what happens to the address bar? The page the user is viewing may not be directly bookmarkable. What about the back button? Does it know about partial-page refreshes? Very early on this type of web development was very cumbersome. My first AJAX application used three javascript functions that I wrote myself and used in a ASP.NET website to do search-as-you-type, plus a custom function to update the part of the page I wanted to display the search results. Ouch. Much harder than Click Me :( To the rescue, many ajax javascript libraries have surfaces to abstract these needs, but the raw html still looks gross. Other web frameworks like ASP.NET and Ruby on Rails provides server side view code that generates the javascript properly. Sounds hackish? It is, but at least the programmer doesn't have to deal with it :) What us designers have to say about it If web 2.0 ended there, I think I'd be Ok. But of course this couldn't be just a technology thing; web designers are using it as a machine to communicate what we've been trying to say for the past 5-6 years ... tableless design, CSS, and making webpages pretty. Woohoo. But there are characteristics of this era that weren't in our initial push; links that onHover produce a background color, the web 2.0 star/splat thing, large fonts, and animations all over the place. Web animations used to be taboo and ugly, and that's why everyone went over the flash. But now all of a sudden they are accepted again. To be fair, they were used in the interface design, making them difficult to use and understand, but now I see it being used more to help make partial page refreshes look nicer and be more obvious. What I am going to do about it When ya can't beat the, join them, right? Well, not quite. I love what web 2.0 stands for, but I don't like people using the term for everything that comes out of this time period. Technology changes so fast, labeling a turning point isn't that useful. The web really has changed over the last couple years, but it has only changed in a good way for the users. Us developers and designers have had it rough, but it's our job to support the projects that let web 2.0 and our sanity exist. Ruby on Rails, Prototype, Scriptaculous, and all the other ones are our best friends. Hell, I've been trying to make Rails forever, I'm really jealous someone finally got to it! But super exited at the same time since it's amazing :) In short, don't tag websites about job quotes "web 2.0." Hopefully this little rant has educated you about this amazing time we live in, or at least gave you a laugh or two.

1 comment:

Matt said...

Nice post, good read.
... *mutters as he goes back to hacking out web applications...*