MSN.com stuurt slechte stylesheets naar Opera browsers

De makers van de Opera beschuldigen Microsoft ervan hun product willens en wetens te presenteren als een slechte browser. De Noren zeggen bewijs te hebben dat Microsoft bij het opvragen van de pagina MSN.com bewust een andere stylesheet naar Opera stuurt dan naar Internet Explorer, Mozilla of Netscape. Nu is dit op zich normaal: veel sites hebben speciale stylesheets voor verschillende browsers. Op die manier laat men de pagina's er juist hetzelfde uitzien of probeert men in ieder geval de functionaliteit niet te laten verschillen. De situatie omtrent MSN.com met Opera is echter anders. De Noren hebben met behulp van wget de indexpagina van MSN.com gedownload, waarbij men afwisselend wget liet identificeren als IE, Mozilla en Opera. Op basis hiervan wist men ook de verschillende stylesheets te downloaden.

Opera logo (klein)Het op zijn zachtst gezegd merkwaardige resultaat liet zien dat de index/stylesheet-combinatie voor Opera niet alleen een foute pagina liet zien, maar bovendien een pagina met minder inhoud. Om de proef op de som te nemen, probeerde men de Opera browser te laten identificeren als IE om vervolgens de pagina op te vragen. De pagina die vervolgens te lezen was, was de perfecte indexpagina van MSN.com, zoals die ook via IE te lezen is. Een aparte stylesheet voor Opera leek dus niet alleen onnodig, maar zelfs extra fouten op te leveren. Hoewel een en ander ook makkelijk kan berusten op een vervelend misverstand, is wél een precedent te noemen waarin Microsoft hetzelfde gedrag vertoonde. De argwaan die het bedrijf uit Noorwegen koestert tegen de softwaregigant uit Redmond is dus zeker niet geheel ongefundeerd.

Het eigen onderzoek van de mensen van Opera kun je hier lezen.

Door Maxim Burgerhout

Nieuwsposter

07-02-2003 • 13:53

87

Bron: The Register

Reacties (87)

87
77
50
20
1
0
Wijzig sortering
Ik gebruik Opera

Als je in Opera een nieuw bericht opsteld met hotmail kun je geen bijlagen toevoegen. Echter wanneer je de browser als IE laat identificeren kan dat opeens wel.

En natuurlijk volledig zonder fouten.

Dat moet onder dezelfde catagorie vallen als de truc uit het nieuws bericht.
Hoe laat je je je browser zich als IE of netscape identificeren?

is voor mij dan best interessante info, gezien ik ook Opera gebruik ivm geen zin in MS IE
preferences ->network
Helaas voor jou 'deadinspace', wat je verteld klopt echt voor geen meter. Opera, als deze zich voordoet als IE of een ander browser wordt nog steeds als opera herkend. Statistieken worden hierdoor dus niet vertekend!

Een paar voorbeeld waarden van 'navigator.userAgent' (waar in het artikel ook over gesproken wordt):

Identify as MSIE 5.0: Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.01 [en]

Identify as Mozilla 3.0: Mozilla/3.0 (Windows XP; U) Opera 6.01 [en]

Identify as Mozilla 4.0: Mozilla/4.78 (Windows XP; U) Opera 6.01 [en]

Identify as Mozilla 5.0: Mozilla/5.0 (Windows XP; U) Opera 6.01 [en]

Identify as Opera: Opera/6.01 (Windows XP; U) [en]

In alle gevallen staat er in de userAgent waarde dus de herkenbare tekst 'Opera'. De meeste JavaScripts kijken alleen naar de waarden van 'navigator.appName' en 'navigator.appVersion' en die worden dus netjes voor de gek gehouden.

Een zichzelf respecterend statistiek verzamelaar, kijkt toch echt naar de waarde van 'navigaor.userAgent' aangezien deze ook verraad welke taal er gebruikt wordt, en dergelijke.

Hier ook nog wat links die wat dieper op het onderwerp ingaan:

http://www.webreference.com/programming/javascript/operalies/index.htm l
http://www.webreference.com/programming/javascript/operalies/2.html

Het is toch altijd fijn om wat bij te leren, ook al is het vrijdag avond :).
preferences ->network
En dat is wel precies waarom MSIE altijd zo'n groot aandeel in de webserver-logs heeft.
Als iedereen zijn browser laat identificeren als "IE", dan lijkt het inderdaad alsof iedereen IE gebruikt ja.

Dat leidt er weer toe dat developers alleen testen voor IE en in sites zelfs browserchecks inbouwen (immers, iedereen gebruikt toch IE?), waardoor mensen met andere browsers gedwongen worden zich als IE te identificeren, waardoor IE een overweldigend marktaandeel lijkt te hebben, en dan is het cirkeltje weer mooi rond.

Zet je browser identificatie dus niet op IE, behalve als je anders echt niet op een site komt (en zet hem daarna het liefste weer terug) !
Ik vrees toch echt dat het grootste deel van de surfers dat doet met het bij het OS geleverde browserpakket. En dat is in de meeste gevallen IE. Hoeveel "casual" computer gebruikers gaan de moeite nemen een alternatieve browser te downloaden? Tweakers ja, en andere geinteresseerden.

"Mijn internet doet het toch goed zo?"
Ik vrees toch echt dat het grootste deel van de surfers dat doet met het bij het OS geleverde browserpakket.
Ja, IE heeft vast wel het grootste marktaandeel, maar dat neemt niet weg dat de browser-verdeling statistieken vertekend zijn door bovenstaand fenomeen.
Druk eens op F12.. er gaat een wereld voor je open :)
Kan toch makkelijk dat er een bug in opera zit?
Dat de pagina een andere stylesheet genereerd voor Opera (getest met b.v. versie 6) en dat deze dus onder opera 7 niet goed functioneerd? kan toch zijn dat de compatibility zo veranderd is dat opera 7 wel IE pagina''s goed weer geeft en daarom dus als de IE pagina''s worden opgevraagd (d.m.v. preferences) de pagina''s wel goed op beeld komen? Lijkt mij niet geheel onwaarschijnlijk.....
Daarom hebben ze het ook met wget getest. wget is een programmaatje waarmee je bestanden via het http-protocol (en ook ftp) kan downloaden. Het is dus een soort halve browser, die wel pagina's kan downloaden maar niet op het scherm zetten.

Door het met wget te testen hebben ze uitgesloten dat het om een bug in Opera gaat.
Ze hebben het echter niet tegen versie 5 van Opera getest en aangezien Opera best snel met nieuwe releases op de proppen komt, is het niet ondenkbaar dat de stylesheets voor versie 5 bedoeld zijn.

En laten er in versie 5 nou net positionerings bugs zitten, als je m.b.v. CSS elementen op pixel niveau wil positioneren. En waarom komen ze nu met dit item, zo vlak na versie 7, en hebben ze dit niet bij versie 6 al gedaan?

Ik vind hun bewijsvoering daarom nogal gezocht, zo vlak nadat ze versie 7 hebben uitgebracht. Als ze dit een maand geleden hadden proberen te verdedigen, dus voor versie 7 was uitgebracht dan ging hun eigen test methode niet op omdat het in versie 5 echt fout gaat!
Lees het artikel.. ze hebben het ook met Opera6 getest, die werkt ook gewoon goed met de Internet Explorer stylesheet. Geen reden om een andere te sturen dus.
Dit is opzettelijk gedaan...!!! Voor mij geen twijfel, en dus behoorlijk flauw van MS. Het is natuurlijk indirect bewijs, maar je moet wel heel erg maf zijn wil je die margins "per ongeluk" op -30 zetten...

(leest eerst dit, anders snap je mijn reactie niet ;))

-edit: er zit een foutje in 'jullie' URL parser... hij moet een , aan het eind van een url natuurlijk nooit meenemen.. ;) (in ieder geval vaker niet dan wel).
Anoniem: 75550 @BramT7 februari 2003 15:00
Ik neem ook aan dat dit opzettelijk is gedaan, als je al de moeite neemt om een aparte stylesheet per browser te bouwen, dan test je die ook in de betreffende browser. Als je een foutje tegenkomt los je die op.
Anoniem: 69322 @BramT7 februari 2003 22:42
Luister....I will say this ONLY ONCE

In CSS zijn de margins altijd relatief ten opzichte van de positie waar de tekst zonder gespecificeerde marges had komen te staan.

Een negatieve marge is dus niet per definitie een fout en kan gebruikt worden om fouten in de positionering van minder diep gelegen elementen te corriegeren. Dit kan bijvoorbeeld nodig zijn omdat niet iedere browser/versie gebruik maakt van dezelfde default marges.

Dus als je meerdere elementen in HTML genest hebt staan, die een afwijkende default marge of padding hebben, dan kan het zijn dat je tekst ineens VEEL TE VEEL inspringt. De beste oplossing is dan natuurlijk de fout op te lossen waar deze ontstaat, maar dat is niet altijd goed mogelijk (HTML is best messy).

Alles, maar dan ook alles wijst er op dat de '-30px' bedoeld is om foutieve marges en/of padding van andere elementen te compenseren in 'een versie', waarschijnlijk 5, van Opera.

Dus, mensen, hou alsjeblieft op met dit anti-M$ gedoe, en verdiep je eens objectief in de onderwerpen voordat er weer van alles wordt geroepen. Zomaar een M$ concurent nakletsen omdat ze zo'n 'harde' zaak hebben met 'bewijs' getuigt niet echt van inzicht.

Als dit rechtspraak zou zijn, dan zouden de meeste mensen hier uit populisme of eenvoudigeweg bij gebrek aan relevante kennis een onschuldige veroordeeld hebben.

Dit is het laatste wat ik er over zeg, flame mij nu maar raak, ik zie gewoon te veel domme conclusies en uitspraken hier, die bovendien nog vet 'inzichtvol' gevonden worden ook.
Ze gebruiken ergens een -30 parameter om tekst 30 posities links buiten de kant van een frame te zetten. Je zou kunnen denken dat het een tikfout is, maar aangezien ze de betreffende pagina (met deze parameter erin) alleen naar opera browsers sturen, moeten ze dit ook met opera getest hebben. Als ze dat hebben gedaan was het direct opgevallen.

Dus 2 mogelijke conclusies, of opzettelijk of niet getest. Ze zullen een site als MSN.com niet ongetest op het net zetten, dus dan weet ik welke conclusie ik kies.
In het artikel van Opera staat dat dit enkel gebeurt als de browser zich identificeert als 'Opera'. Als ze via wget de site downloaden en wget zich laat identificeren als 'Oprah' (een intensioneel typfoutje dus), dan komt de site correct binnen net alsof 't MSIE zou zijn. Met andere woorden : de 'functionaliteit' is ingebouwd om expliciet te controleren op de 'Opera' string, andere browsers (ook niet gekende) krijgen wel een correcte versie te zien.
ik heb het zelf geprobeerd en nog geen probleem gezien bij msn.com

onder opera ziet de pagina er inderdaad ietsjes anders uit. maar dat is denk ik te wijten aan verkeerde marges of iets dergelijks

bij mij kwam alles er in ieder geval bijna hetzelfde uit onder opera7 en ie6
Je kunt onder preferences kiezen om Opera zich te laten identificeren als een bepaalde browser. Standaard laat deze zichzelf "zien" als IE6.0 (misschien om dit soort MS-trucs tegen te werken?).

Als je Opera als "Opera" zich laat identificeren zie je bij Hotmail het volgende:


Beperkingen van de webbrowsersoftware

Het is met je huidige software niet mogelijk de volledige mogelijkheden van Hotmail te gebruiken Je gebruikt een webbrowser die niet door Hotmail wordt ondersteund. Als je de huidige browsersoftware blijft gebruiken, kunnen we niet garanderen dat Hotmail naar behoren zal werken.
Hotmail ondersteunt de volgende webbrowsers:
Microsoft Internet Explorer - versie 4.0 of hoger.

Netscape Navigator - versie 4.70 of hoger.

We bevelen je aan een upgrade uit te voeren naar de laatste versie van je webbrowser en nodigen je uit de laatste versie van Microsoft Internet Explorer te downloaden.
ik gebruik opera al sinds versie 5 dus dat weet ik echt wel te vinden

ik heb opera op 2 manieren laten indentificeren en ook IE6 ernaast gehouden

www.ns.nl herkend opera ook nog ondanks de IE6 identifier
Da's dan merkwaardig, want onder Mozilla ziet die pagina er héél anders uit dan met Opera. En Mozilla zou wel goed moeten zijn...

Ik heb het dus net nog even gecheckt, en zelfs met Konqueror ziet die pagina er goed uit, maar niet met Opera (6.11 build 290 onder SuSE 8.1). Met Opera is de lay-out dus wel degelijk anders (lees: lelijker)

Ik zie hieronder een paar reacties verschijnen van mensen die niets (denken te) zien. Voor ik screenshotjes ga maken van mijn eigen desktop, wil ik jullie allemaal eerst verwijzen naar de site van Opera. Daar leggen ze het niet alleen beter uit dan ik kan, maar ze hebben er ook mooie plaatjes bij. Er is wél een verschil, kijk maar naar die screenies!!!
die screens zien er inderdaad behoorlijk anders uit dan wat het hoort te zijn
ik denk dat ze bij msn.com tijdelijk de css files weer terug hebben gezet want hier heb ik nog niet echt iets raars gezien
Weet je dan 100% zeker je je Opera browser laat identificeren als Opera, en niet als IE? Dat kan nogal wat uitmaken nl.
jup..
hij stond al op "opera" mode
kheb zelfs IE6 ernaast geopend en echt de pagina's naast elkaar gehad

nogmaals ik zie een paar kleine verschillen waardoor de text anders op het scherm komt met een paar kleine witte stukken maar ik miste niets aan content

ik zeg dus niet dat opera liegt (sterker nog ik denk dat ze gelijk hebben) maar dat de "problemen" nu weer tijdelijk "verholpen zijn ;)"
Beetje jammer van microsoft. Ik ben absoluut fan van microsoft, maar dit gaat wel een beetje ver.
Je wilt toch juist proberen om je sites zo goed mogelijk op alle browsers te krijgen??? Ik ontwikkel zelf ook sites, maar dit is echt heel erg flauw!!!
Anoniem: 11125 @Bally7 februari 2003 15:32
MS wil ook haar sites op alle browsers zo goed mogelijk maken, maar dan door te zorgen dat iedereen IE gebruikt.

Het vervelende hieraan is dat tig Opera-gebruikers nu weer hun identificatie op IE zetten, waardoor allerhande stats een groter marktaandeel voor IE aangeven en minder bedrijven geneigd zijn hun pagina's te testen op andere browsers.
Uiteindelijk komen er dus meer sites die alleen op IE goed werken en meer mensen die de alternatieve browsers als kapot ervaren (en dus IE gaan gebruiken).
En daar zal het allemaal wel om te doen zijn.
Zelfs als je je identificatie op Internet Explorer zet stuurt ie nog hetzelfde foute stylesheet.
(Doordat er ergens op het einde nog Opera staat kan MSN weten dat je Opera gebruikt. Maar het staat in een veld wat in principe niet voor identificatie gebruikt wordt (als je bv IE bij tucows.com download staat daar tucows).
Anoniem: 69322 @Bally7 februari 2003 21:14
Als het waar is dat men express een stylesheet terugeeft die fout is met als bedoeling opera gebruikers te frustreren dan ben ik het geheel met je eens. Ik heb in het verleden ook eens mijn wesite aan proberen te passen voor Opera, en toen ontdekte ik dat die versie (5 was het geloof ik) niet volgens de www standaard de styles verwerkte.

Grootste probleem wat ik had was het op pixel niveau positioneren van div elementen. Ik moest dus speciale javascript code maken die verkeerde posities en afmetingen gebruikte, alleen maar om het bij Opera ongeveer te krijgen zoals de rest van de wereld het te zien kreeg.

Als opera nu met de nieuwe versie die problemen opgelost heeft, dan zal deze site die met opzet dus verkeerde CSS stuurd, ook de mist in gaan. In zo'n geval kan ik natuurlijk niet spreken van opzettelijke sabotage. Het is daarom nogal vreemd dat dit bericht de wereld ingestuurd wordt, zo vlak nadat Opera een nieuwe versie uitgebracht heeft.

Dat ze uitleggen dat het in versie 6 ook zonder afwijkende CSS goed gaat, zegt natuulijk helemaal niets over versie 5. Ik vermoed dan ook, dat de CSS files van M$ nog voor versie 5 bedoeld zijn, aangezien ik daar ook problemen mee ken.

Ook bleek in mijn tests, dat als Opera ingesteld was om zich als IE te identificeren, deze de website ook anders ging verwerken. Dit maakte nogal een verwarde indruk op mij, aangezien dit nooit de bedoeling van deze instelling is geweest. Deze functie is namelijk bedoeld om IE en NS specifieke javascript tests om de tuin te leiden en zo toch een pagina inhoud te kunnen laten zien, bij sites die met opera geen rekening houden.

Wat betreft de timig van het artikel:

Ik wordt altijd zo moe van deze manier van publieke communicatie van M$ concurenten. Of ze in dit geval gelijk hebben of niet, ik vindt het op zijn minst zwaar verdacht, zo net na het uitbrengen van Opera 7. Een hoop publiekelijk druk bezochte sites stellen waanzinnige eisen aan ontwikkelaars om de HTML op alle browsers (en versies/platformen) te laten werken. Dan wordt er veel werk gedaan om de vele cumulatieve en complementaire bugs in de browsers te omzeilen en dan is het nog niet goed.

Het is altijd of een anti-M$ gebruiker (sommige krijgen daar geloof ik voldoening van), of een concurent die na het veranderen van zijn product gelijk in de boom hangt omdat niet de gehele wereld binnen 1 week zijn sites heeft aangepaast aan de nog complexer geworden browser wereld.

Persoonlijk denk ik dat dit gewoon een goedkope stunt is van Opera om wat meer exposure te krijgen. Wat ze doen vind ik in ieder geval alles behalve professioneel, anders hadden ze versie 5 ook wel getest. Bovendien kun je de boel ook omdraaien en zeggen dat voor ze een nieuwe browser uitbrengen eerst even gaan kijken of er belangrijke sites zijn, in het bijzonder start pagina's, die op de hoogte gebracht moeten worden voor een aanstaande verandering.

Natuurlijk is dit mijn persoonlijke meening, dus graag geen flaimbaits modereren hier. Ik doe te veel mijn best op een 'open mind' te behouden.
Grootste probleem wat ik had was het op pixel niveau positioneren van div elementen.
no flame intended, maar als je dit doet (en teveel mensen doen 't), dan vraag je om problemen. imo is html daar niet voor bedoeld, en wat mij betreft had absolute positioning uit de css-specs mogen blijven.
Ik vermoed dan ook, dat de CSS files van M$ nog voor versie 5 bedoeld zijn, aangezien ik daar ook problemen mee ken.
voor zover ik het oorspronkelijke artikel begreep, was de grootste 'fout' het instellen van een negatieve margin van 30 pixels, waardoor stukken tekst wegvielen. dat is zelfs voor opera 5 (die inderdaad problemen heeft, ik ken ze) op z'n zachtst gezegd overdreven.
Je hebt gelijk dat 30 pixels best veel is. Maar bij mij was er bij het positioneren van enkel DIV element al een afwijking van zo'n 14 of 15 pixels. Echt uit te sluiten is het dus niet, zeker niet als er elementen genest worden, waardoor er cumulatieve afwijkingen kunnen ontstaan.

Bij een hoop vormgevingen kun je er niet om heen om layers absoluut te positioneren. Soms is het enkel om een bug in Netscape 4 te omzeilen m.b.t. de scrollbar en soms om met vaste HTML maar met een afwijkende CSS de HTML in verschillende browsers er ongeveer gelijk uit te laten zien.

Als je net zo als ik volledige applicatie interfaces maakt (ook voor intranet), die er vele malen beter uit zien dan een normale windows applicatie interface (gerenderde HTML is visueel mooi), dan snap je wel dat positioneren een must is!

Er is meer dan HTML voor statische websites, denk in applicaties met rijke userinterfaces. Daarom ben ik in ieder geval blij dat ze de mogelijkheid hiervoor in de CSS standaard hebben opgenomen.
Bij een hoop vormgevingen kun je er niet om heen om layers absoluut te positioneren.
nogmaals : mijn mening en no flame intended, maar dan ligt dat aan de layout, en had die nooit ontworpen mogen worden. er zijn heel veel goede en ook mooie layouts mogelijk met relative positioning en zonder toevlucht te nemen toch absolute maten in pixels.

maar goed, dit gaat wel een beetje off-topic, dus ik hou 't hierbij. smaken en meningen in deze zullen altijd blijven verschillen.
het is een concurent voor IE dus....
ook lastig te bewijzen dat het opzet is lijkt mij.
ben benieuwd of dit nog een staartje krijgt
Koel, Opera is dus als het ware `IE-compliant' (tenminste wat stylesheets betreft).

Ik weet niet hoe moeilijk het voor de browsermarkt is om een soort standaard aan te houden waardoor ze allemaal dezelfde stylesheet zouden moeten kunnen krijgen (en kunnen lezen). Maar aan de andere kant, als je voor alles standaarden zou hebben, wordt concurrentie eigenlijk overbodig - waarom zou je dan nog voor een andere browser dan IE kiezen..?
Die standaart is er al: w3c standaart http://www.w3c.org/
[..]
concurrentie wordt juist niet overbodig.
Daar heb je gelijk in, sterker, concurrentie voedt standaardisatie. Opera kan de stylesheet kwestie bij W3C aankaarten (waar Opera Software en Microsoft allebei lid van zijn) waarna W3C een advies uitbrengt, wat uiteindelijk tot standaardisatie kan leiden van de manier waarop beide (ofwel alle) partijen met stylesheets om dienen te gaan. 't Lijkt in ieder geval duidelijk dat Opera hierin de `standaard' van Microsoft gebruikt, alleen lijkt Microsoft dat nog niet te onderkennen.
Anoniem: 64098 @Mick7 februari 2003 15:35
Die standaart is er al: w3c standaart http://www.w3c.org/

Daarin staat beschreven over hoe en wat je allemaal moet doen om voor alle browsers toegankelijk te zijn.
Maar aan de andere kant, als je voor alles standaarden zou hebben, wordt concurrentie eigenlijk overbodig - waarom zou je dan nog voor een andere browser dan IE kiezen..?
concurrentie wordt juist niet overbodig.
er rijden nl. ook heel veel auto's op 1 soort diesel.
en IE is er niet voor linux (en dan bedoel ik zonder wine :) ) om maar even een voorbeeld te noemen.
Ik kan me niet voorstellen dat er opzet in het spel is, het feit dat MS aparte stylesheets maakt voor opera geeft eigenlijk al aan dat ze daarmee trachten opera gebruikers een goed resultaat voor te schotelen.
Waarom dan? Met de standaard IE stylesheets werkt het prima in Opera, met de Opera specifieke niet, en in die Opera specifieke staat toevallig aangegeven dat er een element 30 pixels verplaatst moet worden wat nergens voor nodig is.
Dat geeft toch juist niet aan dat MS probeert Opera users te helpen? Om even het autovoorbeeld aan te houden; zelfde logica als dat de Volvo dealer van alle Opels de remkabels doorsnijdt en dat je dan zegt 'zie je wel, ze stoppen extra energie in Opels, dus ze proberen Opel rijders te helpen' :P
Ik ben benieuwd op een reactie van MSN hier over.
Hun reactie is volgens mij dat ze het meteen verwijdert hebben, ik heb zonet even gechecked en zie nu geen verschil meer.
Ik denk dat dit echt een foutje is hoor, Microsoft heeft al eens een keer gezegd dat ze de pagina van msn e.d. bij alle browsers goed weer te geven. Dat had te maken met browser van linux (konquerer of galeon dacht ik)

En ik denk ook niet dat microsoft zich zorgen maakt om Opera. Ik zie geen reden om het bij de andere browsers niet te doen en bij Opera wel.
Een foutje? Kom nou toch. Hij kijkt naar welke browser het is en wanneer het Opera is werkt de site niet even goed als met IE. Opera die zich identificeert als IE werkt wel goed, Opera die zich identificeert als Opera werkt niet goed, met exact dezelfde browser!

(En dan vraag ik mij af of Konqueror hier ook last van heeft)

Negatieve discriminatie, dat is het. Het onderzoek wijst daar naar uit. Lijers.

MSN is behoorlijk populair: "Hey het werkt niet goed in Opera. Dan blijf ik maar MSIE gebruiken!"

Op dit item kan niet meer gereageerd worden.