Cross-platform issues
Platforms?
The chances are you're reading this on a graphical browser (probably some variant of Microsoft Internet Explorer) running on a desktop computer (at a guess, made by Dell, Compaq or Gateway, running Windows 2000).
But you might not be. Someone else could have printed it out for you, or you could be using a Macintosh, or a PC running Linux. Your web browser might not display graphics at all, or you might have them switched off. You might not even be looking at this if you have poor vision and use a screen reader. For all we know, you could be parachuting over the Himalayas browsing the web on your mobile phone. We call all these different devices or ways of accessing the web 'platforms'. And when we talk about cross-platform design, we mean making things that will work (to some degree) on all these different platforms.
Go with the flow
As with any craft, if you want to avoid frustration, its best to go with the flow; use the right tool for the job and work with the features of the materials you use, rather than against them. You could probably make a car out of papier-mache, but you'd have to spend a considerable amount of time touching up the bodywork after you'd taken it out in the rain. You could build a website that looks exactly like a magazine, but you'd have to spend half your time working round the many differences in browsers to get your pages looking exactly the same in each one. And when you get bored of that design, and want to try out something new, how long is it going to take you to redo it?
Giving users control
You can try your best to make your site work across a variety of platforms, but you're unlikely to get it right all the time. If you design your pages with a flexible layout, users will be able to adapt it to their needs. Don't worry too much about it looking exactly the same on every browser; build flexibility into your designs and let users do the fine-tuning.
Compromise
So you've decided to make your site look and work the same in every browser from Lynx 0.1 Beta (running on a 1970's Cray supercomputer) through to Internet Explorer 56 (on a VR head-up display). There's only one hitch; it's going to take you 3 years to uncover the one finely balanced combination of HTML, kludges, hacks, filler and sticky tape that will work in all your target browsers. In the end you're probably going to have to compromise. Some users are going to get the ideal experience, some are going get the gist of it with a few rough edges, and a few are going to have to do without.
Graceful degradation
There is no perfect solution, so the compromise approach most designers take is to pick an ideal platform (usually a common one, like Internet Explorer running on Windows 2000) and design with that in mind, whilst making sure that the essential elements of the site work properly in other browsers.
For example: Your site has a chatroom. You look at your server logs and see that most of your visitors are using IE 5 on a PC. You want to make sure that your chatroom looks and works perfectly on that browser, but at least degrades gracefully on other platforms. If the text isn't in the right font on a Mac but works OK, then that's probably acceptable. It is also likely to be acceptable if none of the graphics are visible, but the words are still readable for someone using a handheld computer.
Links
The Difference Between Web Design and GUI Design:
http://www.useit.com/alertbox/9705a.html
The Secret Life of Mark-up:
http://hotwired.lycos.com/webmonkey/02/42/index4a.html?tw=design
Validate Your HTML for All Platforms:
http://hotwired.lycos.com/webmonkey/98/22/index3a.html
Learn more about web standards:
http://webstandards.org/learn/faq/
A "hands-on" approach to browser testing:
http://www.alistapart.com/stories/testers/











