Hacker News new | past | comments | ask | show | jobs | submit login
Is Web Design All About Hacking or Kludging? (ideonexus.com)
11 points by ideonexus on May 5, 2013 | hide | past | favorite | 10 comments

Front end development has a few characteristics that make it particularly tough. You have to support multiple browsers (and the old versions of those browsers), as well as computers with different sized screens and input types. On the backend, you get to pick and choose what runs your code.

Also, to get anything accomplished you have to combine HTML, CSS, and Javascript. None of them were originally intended to do the things we're doing with them now in terms of layout or interactivity.

It's a hypertext document platform that was perverted to be a general-purpose applications platform as well as well as bolting on magazine-like layout requirements.

It is, intrinsically, a hack. The original design and implementation of its scripting language was a two-week rush-job. It embraces XML while using a more YAML-like syntax for styling.

It's gotten better but only by the sheer force of an entire industry dedicated to swimming up-stream.

It seems as if the HTML5 stars have aligned pretty well lately. I find myself testing with Chrome, finishing the project, and everything works in Firefox and IE10.

Heh, yeah those front end folk are insane for the crap they have to put into a page to get things to look pretty and work.

I think for those starting out it feels a lot like hacking and kludging, until you get your preferred libraries and methods worked out then you forget about how hacked up and kludged the process is. :-D

1. He's complaining about bugs in IE7 that "weren't fixed until IE8" Seriously? It's 2013, the modern web runs on IE9 and up. If you're still building for IE7 support, then you have no idea what the consensus of the web dev community is. Google sites don't even run on IE7. 2. His "hack" is necessary because he doesn't understand how to use CSS layouts properly. Instead of absolutely positioning those folksonomies, he should have been floating them and settings max-widths. You can't blame the web for your own ignorance. 3. CSS3 browser prefixes are largely dead and gone and complaining about them is meaningless and misinformed. If you're still targeting Chrome 10 and below or an IE10 preview release (less than a fraction of a fraction of a percent each), then you're simply an idiot.

<p>I realize that the majority of the web is beyond IE6, but when your customer calls you to complain that your web application is broken in their IE6 browser and their system administrators refuse to upgrade their Citrix installation to use a more modern browser, then you refactor your UI to be compatible with IE6.</p>

<p>I can't just tell the customer "You're an idiot," and wash my hands of the situation. You'll understand this firsthand when you get out into the professional world or you'll be that developer who management hides in the basement where you can quietly grumble to yourself about how stupid everyone else is.</p>

First of all, Firefox appears to be fine without the extra "folksonomiesHeight" elements. If they're only needed for IE, at least wrap them in conditional comments.

Secondly, div.folksonomies and div.expandButton can both work without position: absolute if you replace the rules for expandButton with these: height: 25px; margin-top: -25px; text-align: right;

Pixel units aren't as bad as they used to be, modern browsers can scale the page regardless of what units you use. Replace font-size: 12pt with font-size: 16px to ensure the correct height.

As a general tip, look at the conditional comments used for the HTML tag in HTML5 boilerplate (html5boilerplate.com), you can use that to specify workaround rules for IE < 9 (and you could add an IE 9 class yourself). For IE 6/7 you can use Javascript expressions to calculate correct values.

Wow! Thanks for the feedback! I will do!

I am trying to become a web designer/developer after years of working mostly in the backend. And the inelegance of solutions, the spider weblike creep of the code is a big bother. But it is a nice challenge too. To write an elegant, readable, maintainable code for a beautiful and pleasing UI/UX. There might be compromises that would have to be made in the UI/UX end in order to maintain sanity of the code. Finding the optimum balance could be an enjoyable challenge.

That's exactly why I decided against working on web frontend stuff. It drove me crazy.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact