Site Compatibility and IE8
Kelson writes "As the release of Internet Explorer 8 approaches, Microsoft's IE Team has published a list of differences between IE7 and IE8, and how to fix code so that it will work on both. Most of the page focuses on IE8 Standards mode, but it also turns out that IE7 compatibility mode isn't quite the same as IE7 itself."
HTML as a standard has been so bastardized over the years that the kind of incompatibilities that the article discusses exist not only across different browsers but also between browser versions.
Maybe it's time to start over. Flash and Java applets seem like a good place to start.
This is actually a pretty good list and will allow me to encourage action on some standards-compliant bugs I know of in sites I work on. (e.g. Some programmers previously relied on getDocumentById searching "name" elements.) However, there is one bug in this list that has me both bemused and disgusted:
Hmmm... maybe that's because Microsoft didn't implement the fucking standard correctly? The standard is more or less DEPENDENT on DOM2 events. (At the very least, I doubt anyone expected someone to implement the standard with a dysfunctional DOM.) That's why you can assume that you can use addEventListener to set a postMessage event receiver. But Microsoft didn't implement DOM2 events, despite helping develop the standard 10 years ago.
IE8 standards compliance is a joke. A sick joke played out by millions of unsuspecting users everywhere.
Javascript + Nintendo DSi = DSiCade
Come on! If I wanna make something standards compliant, I can.
Only not quite.
Sorta.
Kinda.
When the stars align in the heavens just so...
...ish
And now Microsoft has given us a new wrinkle^H^H^H^OPTION...option! Yet another way of almost (but not quite...sorta...kinda...YOU GET THE IDEA!) emulating IE7! A most wonderful *COUGH*, stable *COUGH!*, standards comp...AW FUCK! WHO AM I KIDDING?
Yup. Just another pooch-screw waiting to be exploited in some particularly nasty manner!
Status quo!
Chas - The one, the only.
THANK GOD!!!
There are little things that could be fairly important where they don't render things correctly. Just search and you'll find quite a few examples and work arounds.
The most basic one I can't understand is by a basic inset or outset button renders with a solid black line in IE8? The work around is to color each side of the border individually with the custom color you need to make it look inset or outset.
You can lose something that is loose, so tighten the loose item so you don't lose it.
How about following the standards the rest of the world uses instead?
---- Booth was a patriot ----
I just can't seem to figure out what compatibility mode to set my IE8 to to read the article...
Wow now i need to test my site in at least 4 browsers, this is getting fucking ridiculous.
My websites will block IE8, and a message will pop up telling people to go download Firefox, Opera, or Chrome.
I tried IE8, and it is a pitiful joke. I'm not going to work around it, and Microsoft should realize I'm not gonna jump through hoops just to please their idiotic decisions.
*fully extends third finger in direction of Microsoft*
People, the web is fine for multimedia and information presentation, but why is there this constant push to integrate everything into the web? There's all this crap being tacted onto what constitutes a "web browser" that it's becoming less and less a browser and more and more a platform every day. This is not the direction we want to go right now. A lightweight browser that can present information in a variety of devices is where the web needs to stay: Accessibility is more important than features. HTML, XML, CSS, and maybe some javascript is all the farther anyone needs to go. But then Flash came along and suddenly you've got crap that can't be indexed and is inaccessible to people who are blind or deaf, and increasingly devices like mobile phones which have enough power to do the basics aren't enough because the standards are getting jacked up to the point that we have to cram a laptop's worth of computing resources into a form factor that can fit in your hand, and a battery life of less than a day.
This so-called progress is a step in the wrong direction. We need to work on a set of standards that can be implimented with minimal computational resources, is flexible enough to offer a range of presentation options sufficient for most information (images, text, some video and audio) -- and leave it at that. By extending the web into areas reserved for applications and then trying to do everything at once (cross-platform, intensive computations, entire application suites stuffed into web browsers) we are opening a can of worms that promises to segment the web into a million incompatible methods.
We need to work on making this information as available and accessible as possible, not coming up with fancy new ways to make it inaccessible to larger and larger groups of people in the name of progress.
#fuckbeta #iamslashdot #dicemustdie
try xhtml
Microsoft's interfaces are written on quick sand.
use their standards at your peril.
Microsoft has never met a standard that they won't try to break.
That is what happens when lawyers and accountants are the designers of software.
Am I missing something here? Why the hell even introduce the idea of "Compatibility View"? That's just pure sloppiness.
Since when was it the browser user's responsibility (or even the browser's) to decide what mode a page should be viewed in? Isn't it the developer's job to tell the browser how to behave, and the browser does so accordingly, in a consistent fashion?
'If Christ had tweeted the sermon on the mount, it might have lasted until nightfall.' - John Perry Barlow
Last year the IE market was around 80%, its not down to around 60%. Windows 7 will release, and that market share will become 40%. Sure you still have those grandmas and the average unlearned person using their old xp computer with IE and tons of malware but companies are switching to linux and that will make IE lose, plus I hear that they are making IE an option on windows 7?, and their standards compliance is a joke. I stopped making websites that work with IE.
You are making a great argument, but let me tell you also, KDE as example, show that even without standards one is able to create bloatware performing slower on older machines, and alike slow on newest machines.
The same applies to Firefox, it's not the standards, it's bad programming:
1) programmers start using 4GB RAM and 3GHz CPU and code as if there was no 400MHz 128MB machine - i386 or ARM (like iPhone) ....
2) next release, the developers have 8GB RAM and 5GHz CPU (multicore), and the program is alike responsive, more bloated, but they don't notice the program actually is SLOWER because they use faster machines
3) and it doesn't matter if it's open source or not, bad programmers are everywhere
So, not standards, but programmers are the culprits.
A few examples:
BIND vs NSD: save 100MB RAM usage, 20 domains
Apache2 vs Lighttpd: save 150-350MB RAM for 10 domains serving web-site with 1000GB traffic/month (cgi/perl/php mixed)
Firefox2/3 vs Opera: save 50-200MB RAM with 3 windows with total 60 tabs/sites open
so, this shows there are solutions which are truly faster, and using less memory, but that often means to start from scratch and go different paths than the established ways.
Flash: doing what HTML/JS/CSS does not provide and missed to include for a long time (animated SVG coming slowly) - I would recommend abandon Flash, but given the YouTube is quasi standard to deliver (entertaining/educational) videos these days, how can you abandon it now?
People, the web is fine for multimedia and information presentation, but why is there this constant push to integrate everything into the web?
That's easy. The desktop OS market is monopolized and innovation has slowed to a crawl. The market is attempting to route around the damage. It's not working well, but that's what is happening.
Shit, and after I RTFA, it seems that keeping compatibility with IE7 is potentially just as time-consuming as recoding for IE8. Web Designers coding with browser market share in mind, might not really code as close to spec as IE8 can get, instead they'd just make sure it works for both IE7 and 8 under "compatibility" mode!
Microsoft doesn't really give a shit about web standards, IMHO, they're just making sure that they're browser doesn't show ill-rendered XHTML 1.0 Strict, HTML 4.01 and CSS 2. Especially since people who build their sites to spec display badges of honor, the IE dev team would just look bad if they can't properly render those pages.
Considering any site worth a damn have people who code for all major browsers anyways, so my entire post might be just rantish and view as Anti-Microsoft. (not saying it isn't)
JAVA: ahead of its time! NOW the things we want to do are what it could have been doing way before Flash could have filled the demand.
Applets were dismissed back when our needs were simple and our computers were slow.
1) Javascript is SLOWER than JAVA! (browser and flash use it)
2) Flash started out as a vector graphics format; now its a Director/HyperCard mess that is moving towards becoming an Applet platform itself. Flash 10 is NOT anywhere near the same as Flash 1. Its not just an animation format.
3) We have battles over JavaScript 2 at ECMA trying to turn JavaScript into a clone of Java and now the browsers are runtime compiling the script-- next will we start seeing pre-compiled javascript bytecode? (Maybe in Flash?)
4) "safe" platform independent access to web cams and audio hardware-- we have people running ARToolkit in FLASH from a webcam in real time! Its not a vector format anymore... its another kind of applet.
5) Java Applets need better integration; they've not progressed since people dismissed them in the 90s. Now its open; we should be trying to integrate it; catch up to where it should have been now if it were not so ahead of its time.
6) Java was designed to take on massive projects; flash and javascript are not. Java Applets should get DOM access so complex web apps can be made without making javascript a rerun of java-- this means tight integration and FASTER startup times. It could be done.
7) New formats can be done using Java without installing client-side plug-ins. Sure, it is not quite as fast and has overhead; these issues can be addressed-- Flash games are not so simple to startup-- its pre-loaded with the browser... and it has built-in loading screens... Java sure beats being unable to access something in Flash 10 when your setup is too old to install Flash 10. JVM is open now; flash is still risky (and crashes my browser more than anything else.)
Democracy Now! - uncensored, anti-establishment news
Currently less than 25% of browser usage can pass the ACID 2 test. It will be interesting to see how the release of IE8 affects this. Luckily for JS developers, projects like JQuery make cross-browser scripting WAY easier and less error prone. Hopefully broad support for an increasing subset of web standards will make cross-browser layout quirks less annoying for web developers. Overall I think the ACID tests are a good thing to measure this.
Please don't encourage yet another browser we'll all have to support.
If your job depends on addressing the market, then write to standards (test in Firefox and Safari and Opera) and IE7/IE6. That's where the market's at right now.
If your boss says you should anticipate IE8, point them to this graph and this graph. Tell them your anticipation is that IE8 will add work without adding substantial market benefit. You can put off IE8 support until it proves it can achieve the same penetration as IE7.
Early Microsoft web frameworks, circa 1998, generated code so ugly it should qualify as crime against humanity. The stench has contaminated many enterprises, which are stuck with those unmaintainable festering sores.
Looking at the javscript those beasts produced is fascinating; they could put ";" in places you never expected.
Actually Microsoft did include functionality to allow people to build a site that would have made it dead easy to cut out the proprietary crap, the hacks, etc. in the form of IE conditional tags.
Had developers and designers made good use of these then it should be relatively easy to convert the bulk of the crap.
They could have done more to promote these but then again you shouldn't call yourself a professional and include CSS hacks for IE6 in your main stylesheets.
Try to push things towards using a single standard so that move towards "write once, run everywhere".
Hinder further fragmentation of the code you have to write. The two major versions of IE already complicate things unnecessarily, so discourage adoption of IE8 every chance you get.
Internet Explorer is lame.
When you think about it, you realize it's true. Generally the cool kids aren't into IE.
Fuck yourself and that stupid ass "route around the damage" quote that's been abused to fucking death.
...IE8 will be with Webkit/V8 based browsers and with Mozilla based browsers.
Until we get much closer to parity with these things, many of us are still going to work very hard to do most code to the least common denominator -- avoiding if(IE){ } whenever possible.
The problem with quotes on the internet, is that nobody bothers to check their veracity. -- Abraham Lincoln
Because web is, in theory, accessible from anywhere, from any kind of device, any kind of connection. It's easy to develop web applications. It's faster and easier to develop web apps than native apps.
Which is why web standards need to replace Flash, and that's exactly what Mozilla, Opera, Apple and others are working on with HTML5 and such.
Clever signature text goes here.
I didn't realize that even IE7 was that pathetic; it doesn't even see the difference between a 'name' and an 'id' attribute.
Very happy that I'm not web-developing any more.
This one caught my eye simply because it's caused issues for me so many times...
The method getElementById is now case-sensitive and no longer searches name attributes. (emphasis added)
For me, that right there expresses what's been fundamentally wrong about IE development for many years.
#DeleteChrome
WTH? Relax? Fuck that.
You obviously fail to understand the gravity of the situation. Does the web seem like a trivial thing to you? Are you one of those people who says "oh, it's just another thing on the Internet -- no need to take it seriously"?
You think that it's okay to pain "a very, very small percentage of the population" with compatibility problems? I guess you wouldn't give a damn about sewer system engineers or transportation system engineers or power grid engineers either, eh? That's pretty idiotic myopia.
"Yeah, you're suffering. Big deal, there aren't many of you. Just relax." Fuck that.
If you'd been following along you'd have noticed the 5 year languish of IE6. Microsoft dominated the market using its distribution and then just stopped. "Tada! The World-Wide Web! Let it rot." What, you never had to clean up a friend's IE6-spyware-infested machine? Only when their dominance was threatened did they rouse themselves to make any changes. And now you think "they're making a good try here at fixing the problems"? And you're ready to take what they serve you? You trust these guys? The same purveyors of stagnation?
The self-serving protocol pollution and dominance games of Microsoft are only half the problem. You are the other half. Ignorant users (and developers) who fail to see the importance of standards and who are either virtual amnesiacs about Microsoft's track record of standards subversion or are just acting like battered wives.
What happens with standards and the web is pretty damn important. Get some glasses, jackass.
If you haven't seen the move 'Johnny Dangerously' you probably won't get it. Sorry, but these bastards screwed up all the web standards. Just fix the damned thing and move along, please.
Yeah, that 99 bottles geeky dweeb really is an insufferable dipshit, I have to agree.
Because web is, in theory, accessible from anywhere, from any kind of device, any kind of connection. It's easy to develop web applications. It's faster and easier to develop web apps than native apps.
Anywhere availability is nice in some domains, not so important in others. The corporate world is an area where people tend to use web apps overmuch.
As for it being faster and easier to develop web apps than native apps. Ahahaha. Seriously? Tell me you're joking? Not even in the same league - a good desktop GUI development toolkit will _always_ be much more effective.
Which is why web standards need to replace Flash, and that's exactly what Mozilla, Opera, Apple and others are working on with HTML5 and such.
I guess it's nice when some commercial entities anoint themselves standards makers. How nice for them. The problem is people are sick and tired of trying to make the web work. That's why things like Flash and Silverlight are popular with developers. People want to develop web apps the way they develop desktop apps.
Compatibility with IE7's bugs, not W3C standards...
We have an online shopping cart system that renders correct in most browsers even going back to MSIE 5. We have a lot of users still browsing the site with IE 6 because of where they work and their lack of ability to install anything else. Still 70%+ of the traffic is MSIE. It renders fine on all platforms with Opera, FireFox, Safari, and Chrome. Even works on most cell phones with a javascript enabled browser including LG phones, Opera Mini, Blackberrys with 4.7 or greater installed, Blackberry storm, android, and of course the iPhone.
But MSIE 8.....the div with the "Add to cart" button doesn't even render. In MSIE 7 compatibility mode, it renders, but it splits the div into two elements on separate sides of the page for no reason that I can find. I am considering redirecting MSIE 8 users to page that says:
"Due to incompatibilities Microsoft creating in MSIE 8, we are unable to support your browser type. Our website will work with previous versions of MSIE or any standards compliant browser such as firefox, opera, safari, or chrome. We recommend you switch to one of these browsers for improved browsing of the internet."
"The problem with socialism is eventually you run out of other people's money" - Thatcher.
"it's becoming less and less a browser and more and more a platform every day. This is not the direction we want to go right now"
no, this IS the direction we want to go. google isolates all chrome tabs as individual processes, (so crashes are isolated)
they are focusing in lightning fast javascript, so that the browser IS the OS
just look at netbook sales: cheap because the issue is just getting on the web. everything everyone wants to do is on the web, this IS the future. the future is dinky os, without even a trashcan or document in site. and one big wonking rbowser, in which you do EVERYTHING you want and need to do, even something like photoshop
no really, this is the future and you are completely wrong
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
I hate to be pedantic but Macromedia, not Adobe, is the originator of Flash. There have been changes since December '06 but I doubt there has been a rewrite.
"it's not about aptitude, it's the way you're viewed" - Galinda
Things like integrated spell-check are overrated?
Seriously though, you rail against pervasive accessible multimedia. I think yours is probably a contrary view to that of the populous who wish their telecoms, music, video and such to be seamlessly presented across various devices. The commonality for that seamless presentation is the internet and, for the persistent media, the web.
What you are proposing appears to be the equivalent of suggesting everyone should only read for entertainment/information gathering rather than watching video or listening to music.
The web very soon after its genesis stopped being solely a system of textual information presentation and moved to be a system for multimedia presentation and, shock-horror, entertainment.
Millions and millions of people are enjoying playing flash games online in their browser right now - but you think we should cut this off until what, until we can present all human knowledge on a teletype?
Accessibility is King, granted (I'm a huge advocate of accessibility and standards compliance) but without features to access what's the point?
NB: Flash /per se/ isn't that bad, it's just that on the whole it is written without accessibility in mind - this too is not as bad as it seems as multimedia games [the primary use it seems] simply aren't [generally] accessible by the blind and deaf.
Compatibility issues can be solved very easily: Remove the detection code that detects IE8 as an obsolete browser and prevents you from visiting the website that requires you to upgrade to a later version.
Hell, it's already happened with Opera 10, which gets detected as Opera 1.0.
Most of the page focuses on IE8 Standards mode, but it also turns out that IE7 compatibility mode isn't quite the same as IE7 itself.
That old chestnut, eh?
- Dan
Code for the standard and not a browser so screw the browser if it doesn't conform to the standard. Shoot I did a page and it looked different on mobile safari(ipod touch) compared to even the desktop safari. I really had a good laugh at that one so if it can't read the stadard screw it.
I am officially getting retired this year from the business of making websites/systems for other people, I'll just work on my own stuff using standards, and only use the IE detection scripts for display a message informing users why the site doesn't looks right on their browser, posting links to standard capable browsers.
There you have it
https://addons.mozilla.org/en-US/firefox/addon/4988
Internet Explorer 8 No Compatibility Issues
Maybe there's a reason why they use web apps so much. Maybe it's because it's faster, easier and cheaper, along with the other things I mentioned.
That's your claim. I disagree, and so does the rest of the world it seems. I am not surprised that C++ programmers feel threatened, though.
The commercial entities are part of the process of making standards. The standards process is run by a non-commercial entity. Non-commercial entities (like Mozilla) are also part of the process.
Silverlight is not popular. Flash is popular because it covered a need.
Clever signature text goes here.
Because browsers, despite the incompatibilities, are a lot more ubiquitous and differ a lot less than native operating systems, and because most devices that you are interested in reaching already have one installed. Therefore, its a lot easier to build an app that relies on the user having one of a handful of common browser profiles and expect the user to be able to reach it over the internet and interact with it than it is to do so any other way and reach the same size audience.
It may not be the direction you want to go, but it clearly is the direction the rest of the market has collectively decided to go, with or without your blessing.
It can't "stay" there because it hasn't been there for years. Sorry.
Clearly, other people have different perspectives on their needs than you do.
If that's what you feel you need to work on, then work on it, and convince people that what you've developed is a better choice than what everyone else is developing.
Have you ever used WPF? Ever used even old school MFC? It was very easy to create very nice looking GUI apps. There are similar design tools for Java. C++ - meh. In terms of GUI apps, C++ is probably only the right answer about 25% of the time.
You seem to think there's a debate here. There isn't. Developing for the web is demonstrably and provably more difficult, expensive, and slow than developing with the best GUI toolkits for the desktop.
A simple thought experiment proves you're simply wrong. Which target platform has more restrictions and compromises, a web browser or a desktop OS? Yeah, thought so.
Maybe you're thinking of whatever TrollTipTech Super-Cutie "technology" the Slashdot crowd thinks is hip? Yeah...no. That stuff is primitive shit.
The only web design ((HTTP/javascript/CSS - not Flash/Silverlight) platform that's reasonably efficient to develop in IMO is GWT. I guess ASP.NET / JSF type hacks are OK too.
Because pushing everything into the web is what the PHBs want.
1984 was not supposed to be an instruction manual.
You probably have java and just do not know it yet (windows user?) Apple has JVM and JVMs with Linux is going to become common.
The biggest programming language has been Java for years now. I've seen "windows" apps that install a JVM and with some integration most users can not tell the difference (some app-specific JVMs, others system wide.)
Nothing says you must install a system wide JVM library. Browsers can include their own tweaked JVM, its open sourced now. It doesn't have to be a do-everything JVM (the browser could choose-- like Firefox does with the integrated SVG library.)
BTW, your cell phone may have JVM on it. Those are not massively huge and slow...
Democracy Now! - uncensored, anti-establishment news
No argument.
1) There is more than Sun's JVM.
2) Cisco's IP call center app I looked at long ago was java based and sun's java wasn't visibly present or pre-installed.
3) Before your time, there was windows 95, windows NT and windows 3.1. They were a larger majority of the market than windows has today and MOST of them had no WEB BROWSER or PPP setup! Yes, there was a time when people had to install a web browser and/or configure and install network hardware/software to get on the internet-- all of these processes being more difficult due to the lack of internet access or default support for it. Did that stop us from making websites?? nope.
3.5) Firefox is dead on the web! Blakey Rat just said so! not having it on windows by default is "alone enough to declare Firefox dead on the web."
4) Market share stats are skewed. Most such stats are based upon SALES; of which, business and government comprise a super majority. Consumers are a different group but the numbers often lump them together. Then there are data centers...
Democracy Now! - uncensored, anti-establishment news
You are assuming that everyone is using Windows PCs. This is of course not the case. More and more people are doing stuff from other types of devices. But even on a Windows PC, a web application is a lot less difficult to produce than a native application, regardless of C++ tools.
That depends on what you are trying to achieve. Most of the time, the restrictions of the web as a platform are irrelevant compared to the benefits (faster to develop, cheaper, easier to maintain, wider availability, etc.).
Clever signature text goes here.