There are so many articles out there for web developers to get a good grasp on how things should be done. We all know how CSS should be structured, and not to clutter up the HTML with useless DIVs, but how close does the average developer actually come? In truth, probably a lot less than most of us would think. Especially in what I call real world development, meaning working in an extremely fast paced corporate environment, not something like freelancing where you can have months to complete one website.
Image credit: Marie Linder
CSS Implementation, Structure, and GASP - Not Validating!
We all love CSS3 and what it can do. Some of the things that have already been done are beyond ludicrous and into plaid. Can we agree that the Pure CSS3 Twitter Fail Whale is ridiculously cool? Good. Maybe you learned something from it, but how many of you would actually do something like that for a client instead of creating an image in like, ten minutes?
Developers working for a company that is churning sites out just as fast as they can build them, are even more constricted by what they can do. Be it rules that companies make stating that it must look the same across all browsers for a consistent look, or by the clients who get mad that what they saw at home, isn't the same as what they saw at work, limits the amount of even the most simple things you can do.
There are so many blog posts out there on how to make everything perfect in your CSS files. But is all this bad? Some things, maybe, others not so much. Sure it would be great to write flawless CSS, but do clients really care about validation? When you deal with the sheer quantity of sites these developers do, then no. If you use the underscore method to target IE6 to use a GIF instead of a PNG, and you don’t put it in a separate IE stylesheet, does it really matter? Not really.
For myself, I have learned more about the differences in browsers, how to incorporate subtle CSS3 effects that won’t piss off a client, and solve problems faster, because of doing it the down and dirty way. Short time turn around can make you into an adaptable web development machine, just don’t expect any awards for what’s under the hood.
HTML Coding and What Really Goes on When You Don’t Know What the Future Holds
Image credit: bludgeoner86
New developers often get criticized for ‘divititis’ (divitis…whatever), and usually rightfully so. Now think of all times you have read an article about it, and how you should eliminate as much as you can. If you took a look at the HTML that is used to create template sites to be used with a custom management system, you might accuse the writers of that code of the same thing. But there is method behind that madness.
Let’s say for example, a new button has to be inserted into 200 websites. It becomes a simple matter of targeting these extra
divs that have the same name across the board, and pop in goes the new button. The other
divs might have different names do to a developer’s style, but these extra ones are always the same. When working in a fast paced environment that is constantly upgrading and changing, you can never know what has to be inserted into the HTML. Better to be prepared than not.
Flash Abuse – Not as Big of An Issue If It is Handled Properly
Image credit: xJasonRogersx
Moving on to the abuse/usage of Flash, refresh my memory, do we love it or hate it today? If you ask me, I don’t have any feelings toward it, because it is just another tool. It’s good for some things, and not for others. Keep in mind though if you are one of the anti-flash people, that what you think about it does not matters to clients. The average person getting a website neither knows about the flaws, nor cares. It worked on that other website they saw, and they want the shiny objects, too.
How about page headers done in flash because a special font wanted to be used? Oh no, The Horror! Think of all the iPhones and iPads! What do we do? Yes, this is done, and feel free to not believe it all you want. Who is thinking about @font-face right now? I love @font-face, but go to a site that uses that CSS, clear your cache, and refresh your browser. Notice that half to full second delay before the font actually grabs hold? Believe it or not, some places actually think that is unacceptable, so Flash is used, the iPhone gets a separate non-Flash layout, and the client is happy.
Let’s Try This Software Today
There are some things that rock when working in this "real world" type development. You usually have a lot of heads to bounce ideas off of for one, and two, what a developer uses to code is pretty open. Dreamweaver, Aptana, NetBeans, whatever – as long as it gets done, it doesn’t really matter. There is a lot of freedom of choice as long as you are not using something specific to a program that makes it required to use.
Image credit: dougbelshaw
Conclusion of This Craziness
Image credit: Jason Lupi
Now, before you start calling blasphemy, let’s get a few things straight. It would be great to put all the things we have read to good use, like how we should structure our code, and what to implement. It would also be great if there was time available to do so. You can’t predict who will be working on your files, what they will do to them, and usually the time isn’t there to fix it. What you do on a personal project, and what you do in “real world” development are two totally different things.
Chris Coyier once wrote about The Abstraction Point, stating "Your abstraction point is the level of abstraction you feel most comfortable in getting stuff done from day to day." In "real world" development, working for corporate, the abstraction level is set to: whatever it takes. If you will forgive a movie reference, then I think you will understand when I say “there is no spoon.”