TommyCarlier wrote:
I'm not defending the IE team, I prefer Opera and only use IE if it's really necessary. I was just making a general remark that you can't just call people incompetent without knowing the people or the reasons behind certain decisions.
I don't see why not. One of the reasons browsers are so hard to write is because of the way HTML is implemented. If HTML were well defined in the bad cases (specifically rejecting bad pages) then browsers would be much easier to write, would be more backwards compatable and more interchangable and would have less funny breaking changes between firefox and IE.
Now one could argue that those poor old folk on the IE team are having a hard time because they have to work with such a horrendous backwards incompatable mess that is HTML, but if they stopped and thought about it for a second, they'd realize that a number of the problems with HTML stem from the fact that they screwed up (and screwed others) while implementing earlier versions of HTML.
Microsoft should expect its market share in the browser market to steadilly decrease to around the 40-30% mark. If they really wanted to stay on the top of the market they should implement a better system with the following:
1. Bad pages are rejected - thus avoiding the need to have consistent failure processing between versions.
2. A well defined data encapsulation language - if you're going to have styles, don't have <b> and <i>. If you don't intend to have a feature in future, don't include it (<marquee> and <blink>).
3. Write down a good, clear and concise definition of the language and how they are drawn and rendered.
4. Make it so that while the data can be extracted, the layout and non-content images can't be trivially extracted. The internet's casual approach to stealing javascript and other code means that the value of online IP development is much less, and means that little R&D goes into online web-experience development, compared to say, gaming.
5. Write the program in C++ and use RAII (or hell - if you're starting from scratch use C#). This way you won't have the memory leaks, buffer overflows and ridiculous security problems that meant that people went away from IE in the first place.