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?
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
Oh, another option: develop the whole site in Flash - pixel perfect on every browser that supports Flash! :)
Except for when you realise that some browsers allow transparent Flash backgrounds and others don't... And you have to mix object and embed tags to get Flash to display... And you need to watch out for different versions of the Flash player, often needing Javascript to do Flash detection.
But yes, at least most movies *will* look the same across multiple browsers and platforms.
Simon.
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"?
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 concur on that.
moz first, then tweak for IE 6.
That way, one html base, on css.
By the way, I do xhtml 1.1 strict, no tables.
Arguably the sites aren't eye candy, but google, linx and modem users love them. Plus, everyone in the corporate world has a modern browser, and that's my target audience.
Also, use templating with asp or php. It saves a bunch of time.
"Piter, too, is dead."
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
Then either you're serving your pages with the wrong MIME type, or they can't be seen in IE at all.
You're not supposed to serve XHTML 1.1 as text/html: you should use application/xhtml+xml. See the W3C's XHTML Media Types. If you're labelling your XHTML 1.1 as text/html, then your browser isn't treating it as XML (note that Mozilla is using Quirks mode, for instance).
Snag is, Internet Exploder (to IE6SP1) doesn't know what to do with application/xhtml+xml, even though there's been a built-in XML parser since IE5, and application/xhtml+xml was defined in RFC 3236 over 2 years ago (and was presumably floating around the standards track for some months before that). But don't worry: just remember that Internet Explorer 6 SP1 gives you the freedom to experience the best of the Internet. At least, that's what it says on the box.
Assuming you're not prepared to be held hostage to the Great Beast, the best workaround at the moment seems to be to use Apache's content negotiation (MultiViews) to lie to IE (and anything else that doesn't know about application/xhtml+xml) that you're giving it text/html.
There's more on this here and here.
I've found that most people running 1280x1024 or higher almost never maximize any window whether they use windows, linux, or osx. On the flip side, people running 1024x768 or lower almost always maximize their current window because screen space is at a premium on those low-end resolutions. I never believed in this phenomina until it started happening to me. Every day at work I'm stuck with 1024x768 and I maximize my windows on both my Linux and Windows work computers. But at home, I never maximize anything because I run 1280x1024.
You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
Actually, I prefer to browse at higher resolutions with the browser maximized...lets me read more before I have to scroll. I could care less how many lines the text is spread over. I would prefer more information onscreen to whitespace any day.
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law
Lol. I marked you foe because there's functionality there, and since it's pretty hard to have a true enemy on a message board, people whose reasoning skills I find illogical go on that list in the hopes that I won't see their posts in the future and waste my (and your) time, since that would generally be a good thing (I waste too much time on /. as it is). Trust me, though, I attach no significance to these discussions either. Hmm... Maybe I should just swap "friends" with "foes" in terms of the modifiers assigned, and really mess with people's heads. "Wow, he just called me a 'fucking wanker' and then he put me on his friends list! Strange!"
The point still remains that I was right. You say "he...claims that's what he meant"? How are you (and the person to whom I originally replied) more reliable indicators of the OP's intentions than the OP himself? Sorry, the OP has spoken. What part of "You are 100% correct!" didn't you understand? My inference (not assumption, inference) was correct. That makes me right, and it does make fean (the person to whom I replied) dumb for not seeing the inference that I saw. Here's why:
To use a legal analogy, "the reasonable man" would have read the OP's post exactly as I did, since it would be unreasonable to use a browser in a web development setting for no other reason than visual "prettiness." In the lack of other evidence, the only reason fean assumed this unreasonable notion was so that he could portray Michael.Forman as a "Mac fanboy." If Forman had been speaking of an obscure browser for Windows, fean would likely not have initiated the name-calling. Yeah, I've done plenty of name calling in this thread, too. And I often do so when dumb people set themselves up to be knocked down a few pegs.