As I hinted at in the previous post here on Fiftyfoureleven, lately I've had the opportunity to work with a couple of folks who are a bit new to the web. It has been a great experience for me, as it has forced me to think about some aspects of how I work and some of the things that I consider "Best Practises".
So here, in no particular order of importance, is a list of dos, donts and best practises that I would pass on to others if they were to ask (a.k.a. brain and link dump). Feel free to add yours on in the comments:
- Do your IE Homework: Always check your websites in each version of Internet Explorer (install the standalone versions, tame them). You never know what version your client may have (or your clients boss). I would go so far as to say that you should spend a good part of your day surfing in IE, as it is likely that a good portion of your or your clients' traffic is.
- Get a trustworthy host: If you are going to do web design work and offer hosting for your
clients, make sure that you have a host that you can trust and that will give you answers when you need them. I've been with Blue Gravity for years and cannot be happier.
- Go the extra mile: Whether they ask for it or not, it can be a good idea to back your clients sites up for them. I have a couple of folks that I do bits and pieces of work for at times. When I started with them I set up a local copy of their sites, just in case something happened to their live site. Well, recently, something did to one of the sites, and the owner was very very grateful when I managed to dig up the lost material for him.
- Set up a local server for testing: It's not that difficult and there are plenty of packages available, especially if you are running PHP/mySQL.
- Newsletters: If you are going to do e-mail newsletters for a client, try out Campaign Monitor, also, subscribe to their blog or newsletter. Some great tips in there.
- Flash embed with fallback: If you are using Flash in a website, embed it with something like deconcept's excellent FlashObject script. It is clean and easy and allows for fall backs. From the website:
- Conditional Comments: The time has come. IE7 means conditional comments. Use files for each version if need be. Dead simple solution for layering your IE hacks.
- Syndication is great: easy to read and easy to steal - protect your and your clients websites as duplicate content can be a real bugger in Google, and lets face it, where else does your search engine traffic come from? Copyscape has done the trick for me more than once. Also see IP Attorney Bruce Sunstein Discusses RSS Copyright.
- Speeling!! In this day and age there is no reason for spelling mistakes. If you have clients writing blog articles, get them on firefox and install Spellbound or work something like Broken Notebook's spell checker into the CMS they are using.
- Validation helps: I have had some weird CSS errors crop up do to stupid coding mistakes - non unique ids or an unclosed tag - when in doubt, validate to make sure your html is correct. The Web Developer Extension for Firefox, Moz and Flock allows you to upload local html from your testing server, as if it was a live site- very handy.
- Be inspired: There is a lot of great work out there to learn from - Good Designers Copy, Great Designers Steal, after all, but use your head and don't steal sites... Aaaargh!.
- Get in the habit of practising defensive design and contingency design (Google, 5411-1, 5411-2).
- Bookmarklet: PHP Function Lookup will lookup the PHP function that you type into the prompt. Handy for when you forget the order of input of a function, for example. Drag to your toolbar and it's yours.
- Content is king. Content is king (make the best UI experience you want, if it ain't got the goods...). Content is king.
- Best Practises for Declaring Languages in HTML and XHTML.
- All images should be jpegs: Maybe it's just me, but I've seen a more sites lately where people are using Jpegs when they should be using Gifs or Pngs. Sitepoint has a great overview of when to gif, when to jpeg, and when to png.
- CSS Foundations: Many folks were already doing similar things when the articles came out, but Doug Bowman's Sliding Doors 1 & 2 put these things together and also popularized targeting of ids to hilite navigation. Must reads for those new to CSS.
- CSS Bugs: Positioniseverything.net has you covered. Get to know the bugs so that you can code bug-consciously.
- Simple Design Tips for Non-Designers: good tips for those of us who fit the bill.
- Cloak for a top secret preview: When launching a redesign for a website, using cloaking to run the new site in the same space as the current version allows for in-situ testing. Even better, set up a page for your clients where they can turn a cookie on or off and switch between the new and old site; this affords them a preview and can sometimes catch oversites or mistakes before an official public unveiling.
- Bullet proof your scripts: The people you may least expect fall victim to them. Get to know about SQL injection attacks and avoid getting haxored. Same for cross site scripting (victim, homework). Also see Validate Your Input over at Sitepoint.
- If you need to decide which version of Flash to export as, head over here for a good start. Google Analytics can also help you out with actual numbers for a site.
- Programmers need to know regex: also see regularexpression.info.
- Access to mySQL: It is likely that at some point you will have to get data from Microsoft Access into a mySQL database; see Microsoft Access Database using Linux and PHP.