In the current web development world with mobile devices kicking in, Browser wars still a pain and more UI attractiveness, how should one actually start designing & programming websites. Should
Question
- First develop site to support javascript & UI goodness turned off then
- slowly add effects and enhancements? or
it just plain matter of taste.
Opinion
Have you used any techniques, how has it helped
(this isn’t the question actually, so don’t close the post thinking this is question. I want opinions to this with answers to above question)
Just keep graceful degradation in mind. It’s pretty hard making a good experience these days by making a basic HTML & CSS layout and then coating it with some javascript effects.
Have a clear idea of what exactly you’re going to be accomplishing with the site. When developing, remember to separate content and presentation. Generate your HTML. Add the CSS to make it look good. Build extra functionality with javascript, while keeping in mind that the extra functionality should work even without JS if it’s being used to content delivery.
For example, when using ajax to load up dynamic content, you would first add an anchor tag with a link to an actual page that has the data. Then, include JS that if running, would hijack the click, load up the data in the background and display the relevant content dynamically.
Simply adhering to the guidelines that a) Your markup should be semantic b) your immediate content should make sense with JS and CSS turned off and that c) not having javascript should not adversely affect the usefulness of your site will help tremendously.
A lot of people recently started talking about responsive design as well. This will help your site not look like crap when loaded up on different sized screens.
Of course, most of it comes down to your target user base too. If you’re say, building a utility for web developers, you can assume they have the newest baddest browsers, and go to town with all the JS you want. On the other hand, if you’re making say, a website for a local pre-school, your audience might not have the browsers needed to make more intensive javascript work.
It all boils down to judging the situation correctly, and making an informed decision on just how much you can depend on technology that is not plain HTML to deliver a good experience.