Cross-Browser Coding

L

local

Hi@all,

I am coding my first commercial website. In the past, I wrote pages only
for my own interest. I was never confronted with the problem of
cross-browser-coding, because it was not very important for me that my
pages were looking the same in different browser. But when I agreed to
code a page for a company, I thought it would be important to support a
vast array of browser/language/platform combinations.

I have started to code a page and it looked pretty nice. Then I have
tested it with another browser and was horrified how different the code
was interpreted. I have started to code a javascript that checks the
browser and language und redirects the client to the approbiate page. Then
I encountered the following problems:
- IE would not tell the language used by its client
- IE does not tell the correct version number (always 4.0 compatible) but
it is important to know the correct version because I do use CSS and
version 5.0 (2k standard) has not implemented css2 well enough.
- I tested the pages with opera v7+, ie 5.x, ie 6.x, netscape 5.x,
netscape 6.x and the up-to-date konqueror browser.

After a bit of coding I realized that testing the page on multiple browser
and modifying it to look always good, it will be a huge amount of js code
to redirect the most often used browsers to the different pages. Not to
mention to try to include different language versions.

Now I wonder how important cross-browser coding actually is. How many
browsers do I have to test, which versions? Should I include a
language-depending redirection? How important is valid HTML code, because
I have to do some hacks to get some browsers displaying the page to my
likes, and these hacks are not considered valid. (I am coding according to
HTML version 4.01 Strict).

I do not want a solution to my questions. I am intersted in your opinion
and experiences concerning these problems.

Is it worth the time to enagage in cross-browser-coding? If it is, how far
should you go? Or is this only crap to be ignored, as every few month new
browser versions will appear. I know that one should always keep in mind,
which target group the company will have the website to visit.

I am looking forward to your respones!
 
A

Adrienne

Hi@all,

I am coding my first commercial website. In the past, I wrote pages
only for my own interest. I was never confronted with the problem of
cross-browser-coding, because it was not very important for me that my
pages were looking the same in different browser. But when I agreed to
code a page for a company, I thought it would be important to support a
vast array of browser/language/platform combinations.

I have started to code a page and it looked pretty nice. Then I have
tested it with another browser and was horrified how different the code
was interpreted. I have started to code a javascript that checks the
browser and language und redirects the client to the approbiate page.
Then I encountered the following problems:
- IE would not tell the language used by its client
- IE does not tell the correct version number (always 4.0 compatible)
but it is important to know the correct version because I do use CSS
and version 5.0 (2k standard) has not implemented css2 well enough.
- I tested the pages with opera v7+, ie 5.x, ie 6.x, netscape 5.x,
netscape 6.x and the up-to-date konqueror browser.

After a bit of coding I realized that testing the page on multiple
browser and modifying it to look always good, it will be a huge amount
of js code to redirect the most often used browsers to the different
pages. Not to mention to try to include different language versions.

Now I wonder how important cross-browser coding actually is. How many
browsers do I have to test, which versions? Should I include a
language-depending redirection? How important is valid HTML code,
because I have to do some hacks to get some browsers displaying the
page to my likes, and these hacks are not considered valid. (I am
coding according to HTML version 4.01 Strict).

I do not want a solution to my questions. I am intersted in your
opinion and experiences concerning these problems.

Is it worth the time to enagage in cross-browser-coding? If it is, how
far should you go? Or is this only crap to be ignored, as every few
month new browser versions will appear. I know that one should always
keep in mind, which target group the company will have the website to
visit.

I am looking forward to your respones!

For me, if the site is usable, it's fine. I don't bother with pixel
perfectness, because the sites that I develop are all about information,
and getting that information to the visitor quickly and concisely.

I code for Opera, and I test in Netscape and IE. IE is the most
disappointing because it does not support some of CSS2 (position:fixed to
name one), and is buggy. I also turn on text mode in Opera, so I can see
what a site will look like to a text browser. I also have IBM Home Page
Reader, and Simply Web 2000, that I also test with.

I always validate my documents. I have found that logically marked up
valid documents also do better in search engines. Since most of what I
develop uses server side script, I have to test/debug that, so what's a
minute or two to test/debug validity?

I really don't bother with browser sniffing. As a matter of fact, browser
sniffing really annoys me, especially when I come across some Bozo page
that tells me I have to "upgrade" to IE5 or Netscape 4, and refuses to let
my browser have access (yes, even with Opera claiming to be IE, I still
occassionally get this).

No web site is ever going to look the same, different window sizes,
different platforms, different devices, different video cards, different
browsers, different eye sight, different times of day, etc. As long as the
visitor gets the information they want, and can easily navigate the site,
I'm happy.
 
R

Richard

local said:
I am coding my first commercial website. In the past, I wrote pages
only
for my own interest. I was never confronted with the problem of
cross-browser-coding, because it was not very important for me that my
pages were looking the same in different browser. But when I agreed to
code a page for a company, I thought it would be important to support
a
vast array of browser/language/platform combinations.


As I read, and agree with, on a few sites, forget about checking for the
browser itself.
What you should do is simply check to see if the browser handles a
particular function or not.
For instance:

if (document.images) {.......}

If the browser does not handle it, you can, if you want to get that fancy,
is to redirect that browser to another page so the visitor will see it
correctly.
From what I've seen on stats on my little sites, most visitors use Internet
Explorer or a fairly new version of Netscape or Mozilla.
To be cross browser compatible, KISS it. Keep it simple stupid.
The more junk you toss in to make it look fancy, the less likely it is to be
a cross browser compatible site.
The way I see it, if a visitor is using an ancient browser, that's not my
problem and I'm not gonna worry about making a site just for them.
It's only to easy to upgrade a browser.
 
B

Beauregard T. Shagnasty

local pounced upon this pigeonhole and pronounced:
I am coding my first commercial website. In the past, I wrote pages only
for my own interest. I was never confronted with the problem of
cross-browser-coding, because it was not very important for me that my
pages were looking the same in different browser. But when I agreed to
code a page for a company, I thought it would be important to support a
vast array of browser/language/platform combinations.

I have started to code a page and it looked pretty nice. Then I have
tested it with another browser and was horrified how different the code
was interpreted. I have started to code a javascript that checks the
browser and language und redirects the client to the approbiate page. Then
I encountered the following problems:
- IE would not tell the language used by its client
- IE does not tell the correct version number (always 4.0 compatible) but
it is important to know the correct version because I do use CSS and
version 5.0 (2k standard) has not implemented css2 well enough.
- I tested the pages with opera v7+, ie 5.x, ie 6.x, netscape 5.x,
netscape 6.x and the up-to-date konqueror browser.

After a bit of coding I realized that testing the page on multiple browser
and modifying it to look always good, it will be a huge amount of js code
to redirect the most often used browsers to the different pages. Not to
mention to try to include different language versions.

Now I wonder how important cross-browser coding actually is. How many
browsers do I have to test, which versions? Should I include a
language-depending redirection? How important is valid HTML code, because
I have to do some hacks to get some browsers displaying the page to my
likes, and these hacks are not considered valid. (I am coding according to
HTML version 4.01 Strict).

I do not want a solution to my questions. I am intersted in your opinion
and experiences concerning these problems.

Is it worth the time to enagage in cross-browser-coding? If it is, how far
should you go? Or is this only crap to be ignored, as every few month new
browser versions will appear. I know that one should always keep in mind,
which target group the company will have the website to visit.

I am looking forward to your respones!

The one point you haven't realized is that the visitors who come to your
site willing to give you money, will only be using one browser. They do
not care - will never know - that your pages look somewhat different in
another browser.

With a well-designed site you as developer do not need to know either.
Make sure your pages validate, and degrade gracefully for older browsers
or other devices that don't support CSS.

So, don't waste time with versions for different browsers. When a new
browser comes out, you don't have to change anything.

Might I say that the only people who compare a site with different
browsers are us developers? Do you know any "regular" people who look at
the source? <g>
 
T

Toby A Inkster

local said:
Now I wonder how important cross-browser coding actually is. How many
browsers do I have to test, which versions?

I have two philosophies on this question.

The first is the philosophy I apply when making my own website -- I stick
to the standards and let any browser that can't handle it be damned. If
99% of browsers don't work on it, that's fine by me. (OK, so I have added
a few little workarounds for IE6, but nothing major)

The second philosophy is similar and is what I use for other people's
websites. Again, write to standards, but make sure it works more or less
perfectly in:

- IE 5+ (Windows)
- Netscape 6+
- Opera 7+
- Konqueror

and make sure the content is readable and the site is navigatable in:

- Netscape 4.x
- IE 4 (Win)
- IE 5 (Mac)
- Opera 5+
- Lynx

Now, the best way to do this, is to follow my smiple (sic) 7 point design
procedure:

1. Start with the content. It may be cliche to say so nowadays, but
content really is king.

2. Mark up the content with semantically appropriate HTML 4.01 Strict (or
use XHTML 1.0/1.1 if you like, although I tend to use HTML 4.01 in the
second philosophy). If something's a quote, use <blockquote>. If
something's not a quote, then don't use <blockquote>.

An important thing to remember in step 2 is heading structure. Each page
should have exactly one (no more, no less) <h1>...</h1> heading. Its
content should probably be similar to the contents of the
<title>...</title> element, though not neccessarily the same. Then
first-level subheadings should be <h2>. The next level of subheadings,
<h3>. You will rarely need to go on to <h4>, <h5> and <h6>. Give <h2>
elements IDs -- this is nice for linking.

At this point, you should not even be considering what your page looks
like!

3. Validate your HTML. If there are any errors, go back to Step 2. If
there are no errors, send me £20.

4. Now you can add CSS. It should work in the four target rendering
engines I mentioned above: Trident (Used in IE/Win and derivatives), Gecko
(used in Netscape 6+, Mozilla and related), Presto (used in Opera 7) and
KHTML (used in Konqueror and Safari).

Try to make as few changes to your HTML as possible. Adding classes is OK,
but it is usually better to take advantage of descendent selectors, etc
when you can.

I will not go into detail here, but this is arguably the hardest part,
especially as you will almost certainly need to add CSS hacks to get
things to work in IE5.

5. Validate your CSS. If there are any errors, back to Step 4. If there
aren't, send me £20.

6. Test your page in a non-CSS browser. Lynx is a good one. Or Netscape 2.
If it is unusable, then you probably haven't been paying attention to my
instructions. If it is usable, give yourself a pat on the back and send
me £20 -- you have created a hopefully pretty web page which is still
very usable in Lynx without really targetting Lynx.

7. Optionally, add a little JavaScript here and there, but certainly don't
rely on it. When at all possible, stick to the subset of JavaScript that
is ECMAScript and only use the W3C DOM (not proprietry extensions).

Oh, and by the way, you should have considered accessibility and
usability. These are not really steps as such, but design principles that
should be in the back of your mind the whole way through. For example, in
step 1, don't use long words when short words will do. In step 4, don't
use microfonts, etc.

Some of my favourite usability points:

* don't overwhelm the user with links. A navigation menu should have no
more than 7 links. Better still, stick to 5.

* away from the main navigation menu, but prominently, have a link to the
home page, a site map and, if there is one, a search engine.

* inline links are good.
 
E

Eric Biller

Hi all,

Thanks for you postings. Actually, there were some interesting issues
concerning my problem. Finally I have made up my mind what I should do and
what I should not. There is one point I have to keep in mind; I want
something from the visitor who views my site, not the other-way-round. If
he cannot view it properly, he will not give me (or the company) his
money. Surely, some of the design issues concerning different browsers are
not that important, but the information the site contains has to be seen.
That are the main thoughts I take out of your postings.

btw: that decreases work for me... hehe. Very nice!

greets Eric
 
N

Nicolai P. Zwar

Toby said:
local wrote:




I have two philosophies on this question.

The first is the philosophy I apply when making my own website -- I stick
to the standards and let any browser that can't handle it be damned. If
99% of browsers don't work on it, that's fine by me. (OK, so I have added
a few little workarounds for IE6, but nothing major)

That philosophy seems a little odd to me, as I would have to say that
while I consider the W3 standards the vital basics and an invaluable
help when it comes to webcoding, I do so simply _because_ if one codes
to the standards it will work in most browsers most of the time. If, on
the other hand, validated web pages wouldn't work in 99% of the browsers
out there, I'd say to hell with the W3 rules. Web pages are for people
to use, not for validators to check.

[rest of useful tips snipped]
 
W

Woolly Mittens

Nicolai P. Zwar said:
Toby A Inkster wrote:
the other hand, validated web pages wouldn't work in 99% of the browsers
out there, I'd say to hell with the W3 rules. Web pages are for people
to use, not for validators to check.

If you don't stick to the open standard and accept a corporation's browser
as an in-promptu standard, then that corporation will gain control of the
way you code.

If a corporation's browsers can't show the open standard code properly, it
is up to the end-users to complain to the corporation.

I will not let a corporation influence my coding style, nor should you.
 
S

Spartanicus

Woolly said:
If you don't stick to the open standard and accept a corporation's browser
as an in-promptu standard, then that corporation will gain control of the
way you code.

If a corporation's browsers can't show the open standard code properly, it
is up to the end-users to complain to the corporation.

I will not let a corporation influence my coding style, nor should you.

Also, if coders code around browser shortcomings and bugs then there's
far less likelihood of those bugs being seen, complained about, and
fixed.

Not an option for commercial developers, but coding to standards with no
regard for browser shortcomings and/or bugs is what I choose for my
hobby sites. No current browser is capable of displaying my sites as
intended, I don't consider that to be my problem.
 
N

Nicolai P. Zwar

Woolly Mittens wrote:

If you don't stick to the open standard and accept a corporation's browser
as an in-promptu standard, then that corporation will gain control of the
way you code.

The fear that any corporation could take control over the Web now is a
bit overstated these days in my opinion. Not even Micorsoft was able to
do it, and they probably would have loved to, and they are still trying.
The chance is gone. Anyway, if I stick to the W3 standard than the W3
instead of a corporation sets the rules for the way I code. Your point
being? Is an open standard necessarily more trustworthy than the
standard of a corporation? I don't think so. They all pursue their own
however legitimate interests, and I let neither the W3, nor
corporations, nor this group _gain control_ of the way I code, even
though I most certainly appreciate, evaluate, and consider as much as
possible of what they all have to say.
If a corporation's browsers can't show the open standard code properly, it
is up to the end-users to complain to the corporation.

I will not let a corporation influence my coding style, nor should you.


That's your opinion, but I differ: I let everything influence my coding
style: browsers, corporations, organizations, users, hard core coders
and HTML ignoramuses... I make my coding choices based on a whole bunch
of things, not just the W3.org's demands.

Keep in mind we are talking about an example here where somebody
_explicitly_ stated that it would be more important to him to meet a
particular standard than to reach _99%_(!) of the browsers. That's fine,
it shows you know where your priorities are, and if you don't care about
increasing your audience, there's no reason why you shouldn't go for it,
but frankly no coding standard that reaches only 1% of the possible
audience is worth the match it would take to burn it in my opinion. I
would prefer to code a site that works in 99% of all browsers yet
includes proprietary tags and doesn't follow any standards whatsoever.
The standards are there to ensure usable sites, the sites aren't there
to follow the standards, and web pages aren't programmed to be read by
validators. When a web coding standard makes sense to me, I follow it,
and if it doesn't, I throw it overboard. It's that simple. I admit I
have a somewhat nonconformist streak and rules that are set down as
absolutes are generally suspect to me.
 
W

Woolly Mittens

Nicolai P. Zwar said:
Woolly Mittens wrote:
The fear that any corporation could take control over the Web now is a
bit overstated these days in my opinion. Not even Micorsoft was able to

If you don't start now, will *you* decide when the time is right to get
control back in the open?
Microsoft's browser specific JScript, VBscript and CSS syntax CANNOT be
overstated.
The chance is gone. Anyway, if I stick to the W3 standard than the W3
instead of a corporation sets the rules for the way I code. Your point
being?

You can join the W3C and join in the decision-making, you cannot join in the
decision-making of a corporation unless you have a million dollars. The W3C
isn't in it for the money, corporation would sell you grandmother if it'd
make them a buck.
Is an open standard necessarily more trustworthy than the
standard of a corporation? .

YES... try googling for the SCO and Verisign disaster-area's.
I don't think so

The trouble is that most people don't think.
I let neither the W3, nor
corporations, nor this group _gain control_ of the way I code, even
though I most certainly appreciate, evaluate, and consider as much as
possible of what they all have to say.

You write for microsoft's browser. Are you letting microsoft influence your
style? No? ROFL
That's your opinion, but I differ: I let everything influence my coding
style: browsers, corporations, organizations, users, hard core coders
and HTML ignoramuses... I make my coding choices based on a whole bunch
of things, not just the W3.org's demands.

Uhuh. I'm sure you're getting the best from both worlds.
I would prefer to code a site that works in 99% of all browsers yet
includes proprietary tags and doesn't follow any standards whatsoever.

Properly written code will work in 100% of the browsers. It just won't look
as fancy as your's.
If you are willing to sacrifice 1% of the visitors, you are willing to
sacrifice minority groups for your convenience.
Thank god there IS legislation on that.
 
N

Nicolai P. Zwar

Woolly said:
If you don't start now, will *you* decide when the time is right to get
control back in the open?

The control of what exactly is it that you think should be out in the
open but that is not?
Microsoft's browser specific JScript, VBscript and CSS syntax CANNOT be
overstated.

And what has it gotten Microsoft? Nothing.

You can join the W3C and join in the decision-making, you cannot join in the
decision-making of a corporation unless you have a million dollars.

I admit: a good point, Woolly. I agree with that.
The W3C
isn't in it for the money, corporation would sell you grandmother if it'd
make them a buck.

Not all corporations, Woolly.
YES... try googling for the SCO and Verisign disaster-area's.




The trouble is that most people don't think.




You write for microsoft's browser.

No, I write for the people using browsers.
Are you letting microsoft influence your
style?

Of course. I think I stated this quite clearly. I let everything
influence my style.
No?
Yes!


Huh?


Uhuh. I'm sure you're getting the best from both worlds.

Works for me.

Properly written code will work in 100% of the browsers.

That's not the point, Woolly. Please note that we are talking about a
hypothetical example where standard compliant code would not work in 99%
of all browsers. THAT'S what's at issue, that's what Toby has stated,
and that's the philosophy I have questioned. It's not about the general
usefulness of the W3.org recommendations, which I personally don't
dispute. In fact, I find coding according to their specs makes life
easier in many ways, because one can generally rely on the fact that if
the code validates correctly, chances are it'll show up as intended in
most browsers sooner or later. What I take issue with is to exalt this
useful standard to some kind of religious bible according to which all
things must be judged. The standard is only good as long as it helps web
designers to accomplish their goal, which is reaching various users on
different platforms. If coding to the standard would mean that one locks
out 99% of the browsers, though, I would say ditch the standard. I'd
rather have proprietary tags that work than an open standard that doesn't.
It just won't look
as fancy as your's.

Why do you say that? What do you know about my pages?
If you are willing to sacrifice 1% of the visitors, you are willing to
sacrifice minority groups for your convenience.

I don't give a damn about whether the users of my pages are in the
"majority" group or in a "minority" group.
Thank god there IS legislation on that.

I don't know where you live, but thankfully I'm not living under a
dictatorship, and I do have the right to code crappy, inaccessible web
pages that blind people cannot read, deaf people cannot hear, or
disabled people cannot navigate, and I will stand up for that right.

People have the right to write crummy books, people have the right to
make crummy movies, and people have the right to code crummy web pages.
These rights mean more, a lot more, than the convenience of a few
disabled people who depend on specialized browsers. Not everybody has to
be able to read every webpage. If you're blind and cannot access a web
page that's about selling graphics and pictures, tough luck, but how
many graphics and pictures do you think blind people generally buy,
anyway? Not all that many, I would assume, though I'm sure there are a few.

This "right to poor coding", of course, is only a right for privately
owned web pages and is completely unrelated to pages in any way funded
by public and/or tax money or public service pages.
 
T

Toby A Inkster

Nicolai said:
That's not the point, Woolly. Please note that we are talking about a
hypothetical example where standard compliant code would not work in 99%
of all browsers. THAT'S what's at issue, that's what Toby has stated,
and that's the philosophy I have questioned.

It is very easy to write standards compliant code that won't work in a lot
of browsers. Consider this:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<title>Example</title>
<body><!--[if gte IE 5]><input type example><![endif]--></body>

Valid (check if you like), but has a surprising effect in some braindead
browsers.
 
W

Woolly Mittens

Nicolai P. Zwar said:
Woolly Mittens wrote:

The control of what exactly is it that you think should be out in the
open but that is not?
Standards

And what has it gotten Microsoft? Nothing.

Total domination.
Not all corporations, Woolly.

No... I have to agree that only the multibilion dollar corporations do that.
Or those corporations striving to own a bilion dollar.
No, I write for the people using browsers.

Microsoft owns 99% of the market.
Of course. I think I stated this quite clearly. I let everything
influence my style.

I should have used "dictate" or "dominate"
That's not the point, Woolly.

It is.
 
W

Woolly Mittens

Toby A Inkster said:
Nicolai P. Zwar wrote:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<title>Example</title>
<body><!--[if gte IE 5]><input type example><![endif]--></body>

Valid (check if you like), but has a surprising effect in some braindead
browsers.

Something can validate, but that doesn't mean it's according to the
standards.
 
W

Woolly Mittens

Toby A Inkster said:
Nicolai P. Zwar wrote:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<title>Example</title>
<body><!--[if gte IE 5]><input type example><![endif]--></body>

Valid (check if you like), but has a surprising effect in some braindead
browsers.

What I meant to say was:

Even if it validates, you still have to use the standard properly.
 
N

Nicolai P. Zwar

Woolly said:
Standards

Which standards? There are open standards and proprietary standards.
Both are there for good reasons.
Total domination.

That's what they wish.

[snip]
Microsoft owns 99% of the market.

That is regretable, but whose fault is it that users don't use
alternatives? It's not as if there aren't any.
I should have used "dictate" or "dominate"

In that case you would have been incorrect.

It isn't. Not even close. You should have paid attention to what was
being said in this thread.
 
N

Nicolai P. Zwar

Toby said:
Nicolai P. Zwar wrote:




It is very easy to write standards compliant code that won't work in a lot
of browsers. Consider this:

Oh, sure. It's also easy to write completely non-standard compliant code
that works in almost all browsers.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<title>Example</title>
<body><!--[if gte IE 5]><input type example><![endif]--></body>

Valid (check if you like), but has a surprising effect in some braindead
browsers.


I believe you, Toby, though I don't have an IE5 around to check for
myself what the surprising effect is.
 
T

Toby A Inkster

Nicolai said:
Toby said:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<title>Example</title>
<body><!--[if gte IE 5]><input type example><![endif]--></body>

I believe you, Toby, though I don't have an IE5 around to check for
myself what the surprising effect is.

You don't need IE5. 'gte' = 'greater than or equal'. So IE 5.5 or IE 6
will do nicely.
 
W

Woolly Mittens

Nicolai P. Zwar said:
Toby said:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<title>Example</title>
<body><!--[if gte IE 5]><input type example><![endif]--></body>
I believe you, Toby, though I don't have an IE5 around to check for
myself what the surprising effect is.

It crashes IE5 in a stupid way... complete and utter program failure.

This is the only working part <input type example> and it's part of no
standard I know off.

This is used by l33t h4x0rs to annoy their friends.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,740
Latest member
JudsonFrie

Latest Threads

Top