Designing Websites - What Browser to Code For?
flyingember asks: "I code up PHP/CSS webpages and recently wondered about who to code for. We know that each browser supports CSS a little bit differently than the others, likening back to the Netscape/Internet Explorer HTML wars. Opera or Mozilla hacks are seen constantly across the net. Looking through two years worth of saved webalizer statistics, 95% of my visits came from IE and the rest from Mozilla, these are the teeming masses of the internet. Even the traffic to my site two years ago resulting from this article sent 50% IE users on Windows XP, and the total was 95% from IE. The numbers have only grown more IE 6-dominant since then. Given the overwhelming Internet Explorer user base, unless your webpage is specifically targeting The *nix or Mac crowd why code for anything except IE 6?" While each browser does support CSS, and even some HTML a bit differently, what functionality seem to be universal across all of the major modern players? Can you design a sharp looking website with such features, without resorting to browser-specific code? If so, how?
Anybrowser.org is another good one if you need convincing.
Nothing irritates me more than having a webpage not display properly in opera when I have chosen to let opera identify itself as opera, but renders correctly when I tell opera to identify itself as IE6.
This Quote probably sums it up best
"Anyone who slaps a 'this page is best viewed with Browser X' label on a Web page appears to be yearning for the bad old days, before the Web, when you had very little chance of reading a document written on another computer, another word processor, or another network."
-Tim Berners-Lee in Technology Review, July 1996wang33
PAGERANK++ Robsell.com
I do not belive I have seen any of these "Mozilla hacks." Most of the "hacks" I have seen are for things that every browser except IE works properly with, such as the so-called "IE Box Model Hack" that I hear talked about a lot. Can you provide an example of one of these nessicary Mozilla hacks please?
I have found that as long as you code to standards, and test your page a bit in different browsers, you should be able to code up a page that looks the same, or at least acceptable in all browsers. I suggest coding for Mozilla, as it is more standards compliant, then testing for IE, and applying the (very few) IE hacks that are nessicary to get it to look right. You would be suprised at how similarly they work, unless you are doing some very complex CSS.
/usr/games/fortune
As late as what, 1998? a web developer might have asked the same question about Netscape. It had such a large percentage of the market share that it was a pointless crusade to code for anything else.
Look where it got them.
There's also somethign about the question that's slightly reminiscent of the Y2K problem--I've said this myself on occasion, and know plenty of others who've echoed the sentiment: "Oh, i'll get around to updating that page long before another browser takes over." Yeah, right.
Bottom-line: code to the standards. IE 6 is fairly decent about most of them, though not as good as the Lizard, so you're probably safe for the future as well that way.
I used to code for Mozilla due to its strong adherence to standards and support for transparency in PNGs. However, now that I've added an Apple G5 to my collection of Linux machines, I find myself developing my website content exclusively for Safari. As long as it works perfectly in Safari, I'm satisfied.
The sole reason is that Safari's output is immaculate. The output (specifically the fonts) is so perfectly rendered that the HTML almost looks like it is typeset in LaTeX. Thus, to answer your question, I recommend Safari over other browsers for the same reason I recommend LaTeX over word processors. It's one step up.
Michael.
Linux : Mac
PHP is a server side technology; it doesn't matter WHICH browser you code to, because the PHP doesn't care. CSS, ok, CSS is different: but here's the problem with coding to IE6's CSS model: you don't know how it's going to change in the future. You have no idea how Microsoft is going to change its support of the CSS features whose behavior is peculiar in IE6. With W3C standards, at least you have a target that stays (relatively) still - the other browsers at least are all going to keep backward compatibility to the W3C recs.
Unless you're doing a lot of weird CSS hacking, making a standards-based page look good in IE6 is a lot easier than making an IE6 page work in Safari or Mozilla.
Now, if you said JAVASCRIPT, well, that would make more sense; the object models are significantly different between IE6 and Mozilla and Safari and Opera. There the smart thing is to write separate pages for both browsers and use those PHP programmer skills to serve up the right page for each.
Okay, here's what you should do, IMO. Design for HTML 4.01 transitional. Or XHTML 1.0 Transitional. Use tables for layouts, and CSS for font specifications and a _few_ other things that are all commonly supported, _exactly the same_, on all major browsers. This is called "lowest common denominator." Don't use _anything_ that's not standard, mind you, but use that which is _correctly implemented_ from within the standards, and you'll be alright. When XHTML came out, browsers didn't stop supporting the older standards - they still work, and honestly, they work more reliably across the modern browsers than ANY of the newer standards. That's just the way it is until MS decides to actually FIX their LAME-ASS browser.
:)
Is it your job to push people into installing a decent browser? No.
Would it work, even if you tried? Hell no!
Is developing _ONLY_ for the latest standards going to magically make everyone who comes to your site, or even a reasonable percentage, _want_ to upgrade? Another hell no.
You need to get real - the MS IE browser dominance is going to stick around a while (another few years, most likely), and by that time, hopefully Longhorn will be here, and will bring with it a browser that supports standards. One can only hope.
So there ya go!
Oh, another option: develop the whole site in Flash - pixel perfect on every browser that supports Flash!
The fact of the matter is that you will need to do browser workarounds, even if you only design for IE. The IE 5 box model is wrong and there are a lot of people using that browser. So just get the standard right and then go back and compensate for broken browsers.
And yes, I know that I'm not stnading on very solid ground with the way SongBuddy looks in IE. I'm more interested in getting the features going than in supporting a browser I haven't used in quite some time.
Why can't I moderate something "Wrong" or at least "Grossly Misinformed"?
Code for Mozilla/Firefox, fix for Opera and IE (more so for IE). The Gecko engine is the most standards compliant, and also regularly the strictest. If you design for it first, you know it'll likely work in other browsers. When it doesn't, then you make work around bugs in the other browsers.
I design for Opera (just cos that's what I use and it's pretty standards compliant) and then perform any necessary fixes to get IE to work, which isn't usually too much hard work. It usually looks fine in Mozilla as is.
But yeah I agree about the whole frustration of the thing. Darn IE's box model and font sizes...
If you want to make sure your page looks the same in each browser use valid HTML. It is when you start doing things that are not valid and incorrectly nesting tags that things go wrong.
Decide which standard to code your page in (HTML 4.01 Transitional or XHTML 1.0 Transitional are good), put the right doctype on the page and then code according to the standard. Check your page using the W3C validator and fix any errors. Check your CSS document for errors too.
I do not use CSS for layouts since they never render the same in each browser, I still use tables. Just us CSS for fonts, sizes and general formatting that is accepted by all browsers.
(\(\
(^.^)
(")")
*This is the cute bunny virus, please copy this into your sig so it can spread
Code to standards but make sure that your code is happily displayed without any quirks in a range of browsers and on a range of platforms.
Browsers you should be worried about (in no particular order, so don't start flaming me about ranking): MSIE, Opera, Mozilla, Netscape Navigator, Safari.
Platforms you should be worried about: Windows, Linux, Mac.
Of course, if you're intending your content to be viewed on the move, make sure you've got WAP/portable browser friendly pages too. Oh, and remember resolution: you might have a 1600 by 1200 desktop but the average web user doesn't. 800 by 600 is as high as you should design unless you want to alienate the majority of surfers.
If the various combination of browsers and platforms scares you, don't worry. There are various apps out there (and websites) that will show you what your pages will look like in several browser/platform configurations. Someone more immediately familiar with them them than I am will surely (hint, hint) provide you with some useful URLs.
"Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
I would suggest designing for the minimum browser, as many people may be connecting using modems, carrier pigeons, or other low bandwidth connections. The FSF homepage is a good example.
Unknown host pong.
Code to the standards, but also look at your target audience and the nature of the site....
If you are coding for general site that will attract all kinds of people, code for software that will be up to 12-18 months old. The reason is that it takes a majority of users to catch up to the latest versions and 18 months is the usual timeframe it takes for users. Can you use just CSS for all things, no. CSS-P (for positioning) still isn't exact on all browsers who can do it, so you do run into a few issues here, so a few tables might be necessary to get the desired affect. Should you compensate for all users? That depends on who the site is for. If it's public access/govt site then more acceptance is needed, if it's just a particular niche, then you can get away with being more selective.
If you are coding for an intranet, the answer might be easier to find. Large companies usually set a browser standard so you can code for a particular browser, if you absolutely need to. So for example, if a company standardizes on IE 6, then you can take advantage of all the particulars of that browser.
Now, to put it into more perspective, what's the percentage of users who might be in the odd-ball category... about 5%. Should you care about supporting them, depends on your willingness and cost of doing so.
ever thought about about designing to them all? No brainer really.
Failure is simply the opportunity to begin again, this time more intelligently. - Henry Ford
If you write to IE6 then your markup will be hosed as soon as Microsoft updates. They have a history of changing rendering even in minor updates, and IE7 will certainly be different. Want to retool your entire site when IE7 comes out? Do you really want to play whack-a-mole with Microsoft?
What if you do ever want to make a site that's aimed at Mac or *nix users? You'll be screwed since you only know how to write for IE. If you write to standards, you have a known good base knowledge.
Here's another reason: writing to the standards is easier. They're published, and several good validators exist. You'll need to do very little to get a standards-compliant site to do what you want in IE. Also, any in-depth CSS design help you're likely to find online is targeted to the standards, not how they're broken by $proprietary_corp.
In practice, here's my advice:
- Make your markup as clean and semantic as possible. Avoid all presentation (font tags and the like); put distinct sections in div tags with ids; use the markup the way it was designed.
- Do a first style pass in your browser of choice. I use Safari. It's not the most standards-compliant, but it's easy for me to use. Every browser has quirks, but that's the next step.
- Preview in Mozilla, Opera, IE, Safari and Konqueror. Most of these can be had for any platform. IE is hard on Mac, but I use Virtual PC. Safari is hard if you're on Windows, but you can use Konqeror, which is similar.
Ignore Netscape 4 entirely. It's a broken piece of shit, always has been, and getting something to look good in it is a total waste of time. By ignore it I mean import your styles: If you're desperate, make a simple style sheet using no tricks or positioning and link that, then have your fancier imported style sheet override it.Visit CSS Zen Garden for inspiration; ALA and the WASP for information.
Use the standards. It's better for you in the future, more flexible, better for your users, and just plain easier.
This isn't as much "normalization" as it is "don't take so many drugs when you're designing tables."
Blast it. I meant to unfuck those angle brackets. Here's what I meant:
<style type="text/css" media="all">@import "res/css/base.css";</style>
This isn't as much "normalization" as it is "don't take so many drugs when you're designing tables."
Why target Mac users?
(But as you can see, Mac users are also more likely to post as AC.)
If you're using PHP, the issue can be easily solved. I started doing this lately with some of my own work. I design a site, write all the CSS for Mozilla/Netscape, and make sure it all works. Then I make clone of the stylesheet, and customize it to Internet Explorer 5.0 or 5.5. After I have both, sometimes there's another one for Opera and Safari, if you're feelin craaaazy, I write a simple script to parse what browser they're using from the HTTP_USER_AGENT and import the correct stylesheet. It eliminates javascript, and document just the slightest bit smaller (What's 1k difference you might ask? What if your're server a million pages a month?) I haven't run into any problems with it, the pages looks the same for everyone, and it takes an extra 10 minutes work on my part. Oh, and as far as what to code for? Personally, I code XHTML 1.0 Transitional, and CSS 1, because 2 isn't so popular with the older crowd of browsers.
I develope all my pages in Mozilla first, one because that's the browser I use all day, two because it has the best css support. Third is beacuse it comes with tools that allow me to diagnose a page much better than anything from MS. The DOM inspector, JavaScript Console, and the JavaScript Debugger are indispensible when building any kind of DHTML site that relies on CSS for display. After I bulid the site in Mozilla I make some corrections for IE and that's pretty much it. I don't bother with testing on Opera or Safari because it's just not worth the time for the few people that come to my site and use those browsers. So, that's my $.02 with about 10 years of development and real-world experience.
THIS SPACE FOR RENT
That way you can pop up a ECMAScript alert:
"Your browser does not fully support the current web page standards (links here) and it may cause trouble on this or any other website. You can obtain one of the following browsers to fully enjoy pages everywhere, or continue with your current one (more links here). Thank you."
Make sure to pop it up on the main page only, and preferrably track it with a cookie. No-one wants to see it every time.
Marxist evolution is just N generations away!
Build and test your CSS in the most advanced browser available before testing in others, not after. If you build a site testing in a broken browser, your code begins relying on the broken rendering of that browser. When it comes time to test in a more standards-compliant browser, you will be frustrated when that browser renders it improperly. Instead, start from perfection and then hack for the less able browsers. Your code will be more standards-compliant from the start, and you won't have to hack as much to support other browsers. Today, this means Mozilla, Safari, or Opera.
(From the CSS Crib Sheet)
You see, if you design for IE flaws and the market shifts, you'll have designed yourself into a corner.
You're also hindering the adoption of alternative browsers because "it only works in IE."
Also, IE-only sites tend to be inaccessible, and inaccessible sites may have nasty consequences, like ADA lawsuits.
It takes only marginally more effort to create a cross platform site.
Designing with Web Standards is an excellent book on cross platform design.
And for those not convinced of CSS's inherent flexibility, there's the CSS Zen Garden. Cross platform, any browser. (Yes, even Lynx.)
Code after the standards not browsers, try to make the code as semantic as and always use a proper doctype, i usually recommend a sctrict-dtd.
but when choosing a doctype, you choose you should choose one that triggers the standard compliance rendering mode in the diffrent browsers. see here for a list http://www.hut.fi/~hsivonen/doctype.html
Quirksmode.org is a nice place to check out which javascript and css properties that is supported in the diffrent browsers. this css overview has been very helpfull http://www.quirksmode.org/css/contents.html
Several people here have already said "code to standards, not to a specific browser," a comment with which I agree completely.
But I also want to add this. Many people with whom I've had this conversation reply with "yeah, but I like the MS-specific extensions; and given that IE users comprise 95% of the visitors to the site I'm working on, why not use them?" This response has always amazed me, and I wonder if it works with the executives at the firms for whom they design sites: "We're gonna deny access to 5% of your potential customers, and thus cut your web-generated revenues by 5%; but your site will have this cool funky-looking formatting! OK?" More likely, they don't tell the web design customer that they're throwing away 5% of their revenues.
For lots of companies, 5% of revenues is the difference between profitable and not.
I'm part of a team of people coding a corporate website. I use Mozilla, everyone else uses IE. As a consequence our site works very well in both browsers. Simple.
Pretty much any recent browser EXCEPT Internet Explorer in any of it's incarnations does CSS sufficiently well, bugless and standard like that you can expect things to more or less work the intended way in any of them - with the notable exception of overflow:scroll or overflow:auto in KHTML (Konq, Safari, maybe it's been added recently though?).
IE is a whole different ball game. In IE there are 3 big problems...
* First is no PNG-alpha support without ugly (and not brilliant as they will break things like links over the top of them) hacks.
* The second is floating, that is, using float:left, and especially float:right - this is simply broken on so many levels, depending on what you are floating where, all sorts of things can happen, from losing all your left margins, losing background colours, losing forground text, losing borders, getting extra space, getting less space. This has got to be the most infuriating problem ever, at least you can work around the PNG issue, but this, forget it - you'll never get it right. Many a time I have made a layout, all fluid for browser size and conforming to standards, degrades brilliantly, only to have a look in IE and find it completely torn to shreds because it decided that a float:right somewhere is far to complicated for it to handle.
* The third is the box-model, althugh it has to be said, I don't really care most of the time if IE displays a box a couple pixels bigger or smaller.
There are many other smaller issues in IE that you'll come across when writing good standards compliant CSS that will take you ages to figure out.
To top it all of, Microsoft doesn't give a sh*t about any of these problems, as far as they are concerned IE does everything it's supposed to, so what if it has bugs people will work around them, because hey, we're Microsoft.
The long and the short of it is, and I hate to say it, you have to develop using IE as your base-reference because it is the lowest-common-denominator, what you do in IE will work fine in the other browsers, but IE simply can't handle the stuff the other browsers can do.
I'm waiting for the day that Mozilla comes up with some whizzy bang dohickey for the browsing world that everybody wants - bring back the browser wars ! At least IE might get some much needed patching then.
NZ Electronics Enthusiasts: Check out my Trade Me Listings
What specific browser to code for? Well, since you can't possibly code for all of them, code for NONE of them! I hate going into a store that has a sign saying "whites only", so why should I put up with the equivalent on the web?
If you can put in stuff for one browser and still have it look good on the others, then do it. At the minimum, the site should be fully functional and not ugly under any browser. It doesn't have to be fancy, but it should be navigable without damaging the users' eyes. If you start querying what browser the client is using, you're heading down the wrong path.
But you still have to test on all of them. At least IE, Mozilla/Netscape, Safari/Konqueror, and Opera, at the minimum.
Don't blame me, I didn't vote for either of them!
I bought this great book which explains all about CSS and javascript and the differences between browsers. I keep it near me always.
Dynamic HTML, The Definitive Reference
There are some reader reviews in there so I won't go into detail, check it out and see if that's what you need.
Code to the standards. Absolutely. Without Fail. Yes, IE (Windows) is a gawd-awful abomination when it comes to supporting CSS standards. Not that M$ can't do better - that's shown by IE on Mac. Mozilla has some warts, too, but recent versions are far more compliant than IE.
Sure it's a bit of work (read that as "being a professional") but you can make cross-platform standards-compliant web sites.
Failing to adhere to standards will bite you in the a**. Just look at what happened to those who assumed (though the RFCs don't allow it) that http://user:password@some.site/ was valid because it worked when they tried it. All their crap broke when M$ issued a patch that removed that non-standard behaviour.
Even M$ has problems with this. The "box model bug" gave rise to the "box model hack" which lead to M$ having to include a "compatibility" mode in later versions of their browser.
So I repeat. Stick to the standards - any deviation is at your peril.
~~~~~~~
"You are not remembered for doing what is expected of you." - Atul Chitnis
Guess, what cockgobbler? I went to your site and it looks better in IE than in Mozilla FireShit. AHHHAHAHA! Here you are thinking "Yes, score one for open sores!", when in fact you so fucking failed it. All's not lost though. You can take solace in the knowledge that I printed out your front page and wiped my shit-encrusted ass hairs with it.
The CSS functionality that works the same between the various recent browsers is sufficient to code up good, modern looking websites. There is no need to code in browser dependencies.
While each browser does support CSS, and even some HTML a bit differently, what functionality seem to be universal across all of the major modern players? Can you design a sharp looking website with such features, without resorting to browser-specific code? If so, how?
You read the W3 specs and code to them. Then, you test with several modern browsers and remove whatever features still cause undesirable behavior.
Note that CSS itself has lots of limitations and seems to leave a number of layout decisions up to the implementation. So, you can't realize every flight of fancy, you will have to choose a design that's a compromise between what is possible and what your graphic artists want.
Note also that "sharp looking" and "usable" are often in conflict to some degree when it comes to web sites. In most cases, usability is more important.
I think someone doesn't understand what HTML is for. The purpose of writing web pages is not to code for a specific browser, it's to code standards compliant so all browsers (that are also standards compliant) can use it. I don't see any reason why any proprietary extension to HTML should be used on any page.
don't rule out Lynx, for some reason on my site it makes up almost 14% of my traffic!
I say Lynx is making a comeback!
I for one welcome our new Lynx overlords (again).
now this deserves to be modded up!
In order of priority (sure flame away)
1) Latest IE/Latest Mozilla Balance on Windows (needs to be 50% viewable on latest IE and 50% viewable on Mozilla reasonably compromised so right now, IE 6/Windows and Mozilla 1.6/Windows)
2) One version back of above browsers (IE 5/Windows and Netscape 6/Windows, the Mozillas all render close to the same anyways)
3) Safari (latest version)
4) IE/Mac (latest version)
5) Mozilla/Mac (latest version)
Beyond that, well I just can't please everyone
...in bed
I just decided to check (im not the original poster), and his site works perfectly fine in Konqueror (well it loads quite a bit faster in Konqi)
h tml , don't even think thats a fraction of the amount out there)
That kind of begs the question, what is better? Apparently slow loading time and many exploits is a good thing ( http://www.eeye.com/html/Research/Upcoming/index.
...unless your webpage is specifically targeting The *nix or Mac crowd why code for anything except IE 6?
This again? Geezus, why is it that in the computer business that history is doomed to repeat itself every freakin' six months?!? You know, I used to work for a company with an all IE all the time policy. First, even they couldn't do it right, then! They fell into the trap of using all sorts of nifty IE scripting novelties, and, guess what, it sucked! Even worse, it wasn't uncommon for people in the company to need to access websites from a Sun workstation, for example, only to be left cussing from here to the moon.
DON'T CODE ONLY FOR IE, EVER!!!
Vote in November. You won't regret it.
Sorry guys, but as guerilla as it sounds, we're at war with the Corporate "pushers". My website "works" on IE; but nothing more [than just work]. However, visitors that have recent/compliant browsers get a much better experience (alpha PNG transparency, etc.). It's evolution. It gives people a _reason_ to upgrade to Mozilla/Opera/whatever_is_standards_compliant.
I design my sites to offer the users with most compliant browsers the best/most beautiful experiences. Since I control how my content is delivered from the server side [for the most part], I have the power to deliver better content to compliant browsers.
Should I deliver better graphics to compliant-browsers? Probably not, but this is [browser] WAR - it's an ironic metaphor for the corporations-versus-the_people battlefield of the future.
My server detects your browser and if it's IE (a KNOWN-non-compliant-pig), I delay the delivery of the content. By doing so, I can provide more server power to the visitors that are using standards-compliant browsers. This might seem trivial, but until you've svelt the slashdot effect firsthand, you probably can't really understand the power of your webserver.
Never underestimate the power of a strategically placed
if (useragent!="standards compliant") { "sleep(2); }"
statement [particularly if it's an unexpected slashdotting].
Do you honestly think the non-compliant browser "pushers" wouldn't the same thing to us?
DISCLAIMER: My site is NOT 100% W3C-compliant (yet); but we're working on it.
Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
I don't know about Mozilla Hacks... The only time I've ever seen any sort of hack has been to screw around with CSS so that IE displays things properly... Never for Mozilla.
Having said that, I am in the process of recoding my site to be completely CSS/XHTML 1.0 Transitional instead of coding it to be for any browser. So I guess that means I suggest you code your pages to the W3.org standards. its the only way to be sure that the browser makers get the point.
I don't like the idea that Opera promotes of allowing you to pretend to be another browser. The whole idea of coding a page for a specific browser just really pisses me off. If you code a page to a specific browser, what was the whole point in w3.org coming up with standards? And if 90% of people use IE, whats going to get the point across to MS to use the standards properly better? As it is, the whole defacto standard of 'code for IE, the rest can put up with it' is just taking us back to days of 'use MSOffice, the others can kinda view it.'
The new design I will be putting on my site soon (just finishing colours and graphics) is going to be 100% CSS and XHTML 1.0 Trans and if people using IE can't get the full benefits of it, they can either get a browser that can (firefox) or they can complain to Microsoft about it. If they don't want to do either of those things, well, I'm not going to lose any sleep if they don't come back to my site.
So basically, don't code for any browser, code to w3.org standards. XHTML 1.0 Transitional/XHTML 1.1 Strict or, if you're proficient in it, go straight to pure XML. Trust me, down the line you'll be much better off and far happier you'd done it now and not waited for Longhorn's release to do so.
Its been almost 10 years and the WWW is supposed to be a major achievement over gopher....
Time to dig up all those gopher standards dicussions and bickering from the days of yore...... Oh wait, there weren't any! Gopher was really nice in that respect.
My, how we have progressed!
Mezzoblue has a post that pretty much answers this question perfectly. Dave Shea outlines which pre-installed and downloadable browsers your website should be supporting.
"We're gonna deny access to 5% of your potential customers, and thus cut your web-generated revenues by 5%; but your site will have this cool funky-looking formatting! OK?" More likely, they don't tell the web design customer that they're throwing away 5% of their revenues.
For lots of companies, 5% of revenues is the difference between profitable and not.
I too totally agree with this statement. A while back I was going to buy a Lord of the Rings elven broach for my mom. I found the official web store, had the credit card out and was ready to purchase. Unfortunately the web site did not work with Mozilla 1.5.
Making a standards compliant web site that works on all platforms is not that difficult. Writing software to safely handle credit card transactions is much more difficult. Since the site was not even capable of producing simple browser standards compliant HTML I had no faith in their ability to write code that safely handled my credit card number so I put it back in my wallet and left the web site never to return.
Very few commercial sites can afford not to support 5% of their users. If you can afford to do so, your site is not important.
I'm working for a company that has to support mozilla in its web based systems because customers demand it. Right now that is giving us trouble because a few years ago we thought like you (i.e. it is our own fault that we are having some maintenance overhead now).
Jilles
I design my site to valid XHTML standards, If the browser cant display it properly, then it is BROKEN! I should not code web pages designed for BROKEN web browsers. Thats like putting ICE CREAM on the roads to cope with microsoft tyres. I desgign my site with css and transparent pngs, and I always put a firefox button on my site educating users about it. Anyway, if you havent got fire fox yet, you should its the fastest, leanest most freindliest browser there is. Everybody is downloading it! Its so popular that Mozilla.org is still slashdotted two days after it came out! You really shouldnt just code for one web browser just because its market share, you WILL get bitten by the other 4%. I have noticed many previously IE only sites get converted into valid HTML sites after I complained and educated the web master. That would be like baring all kids from your shop because they are only 5% of the customers, its just not right.
found here
You're not any type of fanboy. You're just dumb.
His point was that he used to code for Mozilla, because Moz is very standards-compliant. Now he uses Safari to preview things in, since Safari/KHTML pretty much renders things just like Mozilla does (namely, according to standards)--that's why they made Safari User Agent string:That's because it's so freaking much like Gecko (Mozilla) when it comes to rendering pages according to standards.
He's not trying to cater to one browser--he's using standards-compliant browsers like the excellent Mozilla and Safari to make sure all browsers can render his pages. Just because MSIE has the best market share doesn't mean catering toward it would be a good idea.
Audience that can view a site designed specifically for MSIE 6.0, assuming general public viewership: 95%
Audience that can view a site designed specifically to follow standards: 100%
See the benefit now?
Show me a website that renders properly in Safari that doesn't render useably in MSIE, and I'll consider removing your dunce cap.
ActiveX, VBScript...random BHO's and hijacking exploits. Oh, yeah. Let's use that browser as the gold standard.
Code for the best first, then add hacks for the rest. That means: get the site looking perfect in the latest version of Mozilla, then add in all the necessary hacks to make it perfect in IE6/Win. After that, you can (if you wish) get it looking good in IE5 on Win and Mac, and if you're a masochist try to make it work in NN4 and IE4. If you use a couple of CSS filters (notably the * html hack and the underscore hack) you can pass commands to IE only, and the various @import and commands will help you serve the right code (or none at all) to other browsers.
.abc { width: 18em; padding: 1em; }
.abc { width: 18em; } .abc * { margin: 1em; }
But basically, once it's right in Moz, it's going to be mostly right elsewhere. Whereas if you get it perfect in IE first, you will inevitably find you've done a whole bunch of things the wrong way and you have to UNDO them to get them to work elsewhere.
Other hints: the box model is only a problem if you use padding, thus:
<div class="abc">
<p>Blah blah blah</p>
<ul>...</ul>
</div>
This will make the box 20em in standard browsers, but only 18em in IE5.x. To solve it, replace the rule with:
Exactly the same effect in standard browsers AND in IE.
For more, read dithered.com's filter table and follow some of Zeldman's and Mezzoblue's links.
: Bat :
I have discovered a truly remarkable
I code up PHP/CSS webpages and recently wondered if coding to standards is worth the hassle. We know that each browser supports CSS a little bit differently than the others, and that something that avoids the few troublesome stles works perfectly but I'm too fucking lazy. The net is littered with pages done by people who code for IE and then as an aftertought hack Mozilla onto the top. Looking through two years worth of saved webalizer statistics, 95% of my visits came from IE and the rest from Mozilla, with such a large market share why should I care about standards or about Mozilla. Even the traffic to my site two years ago resulting from this article sent 50% IE users on Windows XP, and the total was 95% from IE. The numbers have only grown more IE 6-dominant since then. Given the overwhelming Internet Explorer user base, unless your webpage is specifically targeting The *nix or Mac crowd why not just target only IE that way I can abandon the crazy idea of writing decent HTML.
Just to repeat what everyone else says first: its very important to design to standards. Its the only way to be sure that things will continue to work.
But a second point: many browser statistics are misleading. As well as it being easier for non-IE users to block webbugs and fake user-agent strings, sites that are designed for IE only suck in other browsers, and arent 'sticky' for non IE users. Non IE users will be consistently under-reported on many sites as a consequence.
So, if there are 10% of users using non-IE, and you are only getting half of them, should you care? Well, yes. Non-IE users are more likely to be technically savvy - they've got as far as changing their browser!.. and are thus more likely to be educated, employed and able to pay for stuff (especially small shiny expensive stuff). So you lost 50% of one of the best market sectors, while keeping 100% of the deadbeats. Nice move.
Knowing your market sector is more important than knowing what your browser shares have been. E.g. we work in on sites which are largely browsed by architects, and guess what - they largely use Macs. But we didn't get them until we spent time making the site Mac friendly.
-Baz
Unless you want your old customer's bitching at you that your page no longer works properly you have no other choice thant to follow the standards, and even if MS abandon all support for rendering HTML in a half sensible way, you do at least have the option of saying "Its valid (X)HTML, ets a bug in IE, not my problem".
As lots of people have said, dont' code for specific browsers, code for standards. HTML is meant to be rendered in different ways on different medias, so try to take advantage from this, not to go against it (and lose).
When you code try to code html (and php, of course) first, and have it look "readable" in the plain old ugly(?) way, so that everybody will be able to get the informations you're giving. Of course you'll have to think about the future css presentation, by adding classes, etc. but don't add anything visual at this stage. Do not use tables for layout, as they can give a good result on most visual browser, but only do damage when using anything else, or a visual browser in a small window, etc.
Then you can choose to develop css for a good standard compliant browser such as mozilla or safari, and then fix minor quirks for the most used browser (aka explorer), or if you are tight on time you can try to develop standard css for explorer and test it on standard compliant browser only to check that you're not bringing havoc on them.
When I'm using a browser that is not mainstream I don't care if something that should take all of my window width only takes 98%, or if there are minimal quirks in the layout, maybe small empty spaces (an em or two) where there shouldn't be any, or similar stuff, as long as I can clearly see the contents; I know it is an issue of browser compatibility and I accept it, people who don't know about it usually use explorer anyway, so it less of an issue.
I won't repeat the mantra "code for standards, not for browser", that horn has been tooted enough already. But here's why I think it's true.
:)
If you stick to the standards, and if you try to create a page that looks decent no matter which browser or platform you use, chances are the page will also work - somehow - on a mobile device. Opera is available for the P800/900, there's the PocketIE and there are several HTML browser for PalmOS devices. They do a good job, and if you stick to the standards, you won't be making it harder for them.
I think they will become more and more popular over the next few years - if you get it right now, you save yourself a lot of work later (which also applies if you do not care if mobile devices can render your page). Instant marketing bonus: you can label your page as "displays fine on mobile devices". Now, how many sites out there can claim that?
Hmmm, can anyone come up with a nice icon for that? *g*
My cats ate my karma. They also wrote this comment.
is that you need to put display: inline in the CSS. Of course display: inline makes no sense at all for a float, so sane browsers simply ignore it. When IE sees it, the annoying margin/spacing bug is turned off.
Finally! A year of moderation! Ready for 2019?
Don't feed the trolls, but briefly, the answer is write it in (X)HTML (and CSS for a range of UA types -- visual, aural &c) -- if you really want lots of people to access it make sure it is still in valid (X)HTML but also is rendered reasonably in a few common randomly-chosen UA's or rendering engines (preferably at different sizes and with different default CSS) -- e.g.: Gecko, KHTML, MSHTML, Lynx, w3m, Opera.
If you want the latest features of (X)HTML on your page and certain non-forward-compatible UA's that are not being very actively developed (e.g.: MSIE) display the page broken if more recent features are used, then do some UA sniffing to display a message warning your users of the UA problems and giving them the option of viewing a basic HTML 2.0 version of the pages on the site -- you could use a script to generate this from the main site every so often.
Joe Llywelyn Griffith Blakesley
[This post is in the public domain (copyright-free) unless otherwise stated]
1mb+ of images on a frontpage is pretty nasty on 56k modems or even normal-range ADSL. Who is going to wait 5 minutes for the page to load?
You're asking a community who largely use Mozilla, here - what are you expecting as an answer?
More to the point: I'm currently working on a community council website which legally HAS to comply to W3C standards, and they've insisted on CSS for layout. Whilst it has taken me a week to write CSS that works on every major browser currently in use (IE6, IE5 mac&pc, Mozilla, Safari, Konqueror, Opera etc), I have finally got there.
It seems like an odd sort of question - the subject of the number of users is a bit pointless unless we have specific figures. 95% IE users is a lot if you get 100 users a week - it's only 5 users who have problems. If - like my clients - you have 500,000 users a week, that's 25,000 who can't see the site - when you take into account accessiblity too (and local councils are always worried about legal issue surrounding that) you're probably putting a lot of effort for a very small majority of users with screen-readers - but you try telling them that they don't matter because they don't use IE6.
sig:- (wit >= sarcasm)
Does that mean your site should only work on IE or use IE specific elements? Well consider this. How many years ago was it when netscape rules the browser market? Not that long ago right? Are you prepared to completly rebuild your site if and when IE looses top place? And don't go that will never happen, when the first IE was out people also said it would never beat netscape.
There is also something else to consider. Opera may have a tiny share of the desktop browser market but it rules supreme on the phones. Worse if you code for IE desktop then you are in for a horrible suprise when someone tries to access your sites with IE for mobile phones. At least the version I worked with didn't support CSS at all.
So the answer? Make sure your site looks and works properly on IE and make sure it works and looks okay on everything else. Yes that does mean opera AND mozilla AND lynx/links.
If you want to know why ask yourselve this. If you build a brick and mortar shop would you put in a door that kicks out even 1% of your potential customers? No? Then why do it with your website?
Displaying a page telling people to "update" to browser X is also a terrible crime. Imagine if you went to a gas station and they told you to buy a new car. You would pissed off. Especially if you drive a motorcycle.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
Eric Raymond took this up YEARS ago. Just stick to standards. If you can't do it with the standards, don't do it.
Code every thing to render in Lynx! You kids and your fancy [blink] tags don't know how good you have it. Back in the day we did not have "pop ups" and "flash". A couple of tags and some actual content was all we had to design pages with. The web went down the toilet when they introduced Mosiac.
Seriously, however you format your pages, always fire up Lynx and check your work, a text reader usually sees the web as Lynx does.
SD
âoeWho knew something as harmless as willful ignorance could end up having real consequences?â
I use the common denominator; limited CSS1, tables and hand coding to get exactly what I want. I test in IE, Gecko, and Opera. No issues. The Visibone color palette is the safest (your colors will look the same in 16, 24, or 32 bit color.). Test all your color gradients to ensure they look smooth in 16 bit color.
From a money point of view Mozilla.
For everything else, Amaya.
A blog I run for the wealth
1) Your "sleep" wastes YOUR resources by leaving more webserver processes/threads and connections running for longer.
2) Lets just hope most of your customers don't have non-compliant browsers
3) Cos if they have then between them they'll waste all your resources leaving no webserver slots to serve your "compliant" customers
4) And if this hasn't happened yet, it's because all your "non-compliant" customers have left you because your web site is TOO SLOW
5) So the only customers you got left are the ones who don't need your help cos they are clever enough to do their own work.
Marking up to standards shouldn't be harder than marking up to a certain browser. It should be easier, since it's all documented. If a browser breaks, the coders of that browser will fix it[1].
Second, separate presentation from content. It makes it much easier to make sense out of webpages. If you can't even do that, you really are "fucking lazy". If you're that "fucking lazy", get off the 'net, or at least tell us all where your site is so we can throw it in our /etc/hosts and be done with it.
[1] Or they won't, as in the case of MICROS~1. With a quasi-monopoly such as the great MICROS~1, they have no incentive to fix IE, since everyone's already using it. But they're not a true monopoly! Download Mozilla Firefox (a better browser anyways, and it's extensible!) and pray to Life.Animalia.Chordata.Mammalia.Primates.Hominidae .Homo.Sapiens.Creator that IE6 will fall off the earth. Blech, what a nasty browser.
CSS: -moz-border-radius
http://lab.artlung.com/css/rounded-mozilla/
It's perfectly harmless to IE, but it makes rounded borders a billion times easier in Mozilla.
Note: There are still a few bugs. Try putting content in a rounded border when you don't have enough padding. You'll get square corners poking out of the rounded corners.
The radical sect of Islam would either see you dead or "reverted" to Islam.
Code to the standards, and make sure your clients realize that even though "everybody" uses IE, it is a relic, essentially unchanged since version 5.0, released in March 1999. More importantly, IE still has poor support for W3C recommendations that existed for years prior to version 5.0. These things make sites harder to implement, take longer, and therefore will cost more. Your clients will understand that.
Evangelize standards compliant browsers, both for your clients and for the users on their sites. Web developers are the only people who can drive these changes in the general public.
My response to you: do you want people to access the information on your web pages?
If the answer is "Yes", then you must take care to make sure that people can, that there are no impediments to people doing so. You must stick to standards, and>you have to test it. I've seen too many web sites that were only "tested" with some version of IE and fell flat on their face with Mozilla or Opera.
If the answer is "No", then go home.
My usual baseline is that web pages that look right in Opera will look right in anything. Usability in Lynx is a plus. I'm still unsure if Flash is a disease or a crime.
...laura
If you hadn't realised it was taking the piss of the poster, i ^C^V his post and changed some words to what he meant to write :-)
I do totally disagree with "Marking up to standards shouldn't be harder than marking up to a certain browser", this isn't the case even with Firefox, It renders shit (x)html, sometimes even after you specify xhtml1.1 (I once missed the last " of an attribute and it looked no different. I guess its more important whether it renders correct code correctly rather than definetly breaking on shit code. The w3c has a pretty neat verify service to check its ok
You heard'em, slashdot (exept for a small minority) want's you to code to standards. :-)
The mentioning of 'coding' made me think a little though:
Lot's of people refer to writing webpages as 'programming HTML', I think that's a great Idea! Make the next big markup language a binary format. If you didn't write it properly it won't compile. On the other hand, where would our beloved slashdot go...
"Be careful or be roadkill" - Calvin
You sir, are a BANANA.
True, I can resize my browser, but checking all browsers would require investing thousands of dollars for a specimen of each hardware platform on which a specific browser codebase runs.
With ... Safari's sketchy table DOM ... your only option is to wait.
Safari is based on KHTML, which is LGPL'd. If Apple keeps Safari synchronized with KHTML releases, then you can (hire a programmer to) fix the DOM bugs, submit the patch to the KDE team, and speed up their being fixed in Safari.
IE/Windows, on the other hand, can be fixed with pop-ups: "You can make this web site look better by switching to Mozilla Firefox today!"
Flash may not be entirely useless, but it certainly has no place on the web...
"No place"? Not even Newgrounds.com? Or would you rather see those published in WMV format?
i usually recommend a sctrict-dtd.
I moved my site back to Transitional when I found a bug in the W3C's Strict DTDs, namely that the value attribute of the li element was removed on a mistaken notion that value was presentational rather than semantic. Thus, HTML 4 Strict and XHTML 1 Strict make it impossible to start a list anywhere other than 1, a, or i. No, "use CSS instead" is not an option because the list will start on the wrong number in UAs such as Lynx that don't support CSS in general or that particular CSS property in specific. I find the starting number of a list a semantic datum rather than a presentational one; if I wanted to number items from 1 to 10 in the first part of a document and 11 to 25 in the second, would displaying them as 1 to 10 and 1 to 15 be correct? No.
I moved my site back to HTML 4 when I found that 1. Microsoft Internet Explorer 6 doesn't provide a default XHTML stylesheet for documents that specify the XHTML namespace, and 2. XHTML sent with Content-type: text/html causes some serious problems.
But you still have to test on all of them. At least IE, Mozilla/Netscape, Safari/Konqueror, and Opera, at the minimum.
Unless Konqueror has been usably ported to Microsoft Windows, testing on "Safari/Konqueror" would require a significant investment in a second computer for many web developers, who primarily work on Microsoft Windows workstations.
But for 2 down, you'll need at least two more computers, one PC (possibly $500 new) to install another Windows instance (each Windows instance seems to allow only one IE version to be installed into it) and one Mac (at least $800 new) to run three Mac based web browsers. If you can get a company to pay for it, that's great, but not everybody has that luxury.
I usually recommend strict,yes. But if one have an an exception like this of course you can use Transitional. Usually there shouldn't be any need for a Transitional doctype. (probably cause i'm a bit fed up by messy code ;) )
And instead of value, I think one wants you to use Counters in css. Of course currently one browser is supporting counters in css.
Some example of counters.
www.html-world.de(translated by google)
www.w3schools.com counter-reset
www.w3schools.com counter-increment
I'm also aware of the problems with xhtml, the reason i only said strict, not 4.01 strict or xhtml 1.0 strict. I believe it should be up to yourself to deside which is the best suited for you. But of course there is always a bunch of people jumping the bandwagon. As it is now xhtml1.0 may be sent as text/html http://www.w3.org/TR/xhtml-media-types/ Though i have seen very often pages that is supposedly in xhtml1.1, but sent as text/html. When confronted most of the people that made these pages have no clue what the document should be delivered as. they just think its cool to use the latest doctype. Espesially fun when you know these people use MSIE ;) (MSIE which open a download dialog, when it tries to open a document sent as application/xhtml+xml)
One could use this apache mod_rewrite described at greytower.net but it really doesn't solve the problem, but it allows the document to be opened in MSIE.
News Flash for all you amateurs: There is no browser war. If your web site doesn't work on someone's browser (especially the MOST USED BROWSER) then your site broken and you will lose visitors, sales, etc.
But most of you are just "coding" whiney blogs so i guess that doesn't matter to you.
Build to standards, test for compatibility: Tables for layout, CSS for everything else. IE/Moz/Opera/NS4 on PC/Mac you can be pretty sure.
Anyone who would build to "standards" despite browser demographics or would impede use of their site by any visitor based on their browser is a moron.
vk.
I have been wondering why major sites don't use CSS for their sites? Sites like Yahoo, Google, Amazon.com, eBay, etc... Why are they still using the font element?