Donnerstag, 31. Juli 2014

Der Kampf mit den Browsern

Es gibt viele Browser und einige machen ihre Sachen besser und dann gibt es andere, die es einem Entwickler unnötig schwer machen. Einige unterstützen schnell viele neue Funktionen und andere weigern sich einfach oder versuchen, noch schlimmer, ihre eigenen Standards durchzusetzen.

Klar hat da jeder Hersteller auch so seinen eigenen Kopf aber das macht es für einen Entwickler echt schwierig und kostet sehr viel Mühe und Zeit um die Bugs oder fehlende Integration von Funktionen zu umschiffen.
Das beste Beispiel dafür ist immer der Internet Explorer. Rund 4% der Spieler von Final Cumeda benutzen den Internet Explorer. Das ist nicht gerade viel. Das kann aber auch daran liegen das Final Cumeda nicht so gut mit dem IE funktioniert bzw ich den Support dafür gering halte. Andererseits könnte es auch einfach an der Zielgruppe liegen.
Final Cumeda muss einfach auf bestimmte Dinge zurückgreifen, damit es die beste Spiel Erfahrung wird. Deswegen gibt es auch einen Hinweis für Spieler, die mit dem IE 8 oder kleiner, bei Final Cumeda aufschlagen, eine neuere Version oder einen anderen Browser zu benutzen.



Ich bin da aber auch nicht der Einzige, der mit diesem Browser Probleme hat oder sich darüber aufregt. Es gab mal eine Aktion, bei der große Internetseiten die Auslieferung der Internetseite für IE Benutzer mit der Version kleiner 8 gestoppt haben und nur ein Hinweis angezeigt wurde, dass diese Seite mit dem Browser an diesem Tag nicht aufrufbar ist. Leider habe ich das Ergebnis nicht verfolgen können aber die Idee fand ich eigentlich echt gut.

Final Cumeda im Internetexplorer 8
Beispiel Internet Explorer 8
Final Cumeda im Internetexplorer 10+
Beispiel Internet Explorer 10+

Der wirtschaftliche Schaden für manche Betreiber von Internetseiten darf bei so etwas nicht unterschätzt werden. Erst das testen, recherchieren und beheben mancher sehr suspekter Verhaltensweisen benötigt einfach viel Zeit und ich kann das nur zu gut nachvollziehen.

Mit jedem großen Update des IE hoffe ich darauf, dass sie es diesmal irgendwie besser hinbekommen aber ich werde, dennoch ständig enttäuscht, auch wenn sich mittlerweile viel verbessert hat. Ich habe letztens erst wieder einen Bug gehabt bei dem ich CSS Keyframe Animation eingesetzt habe, die im IE einfach nicht ausgeführt wurden. Nicht weil der IE das an sich nicht kann. Der IE mag das einfach nur nicht im @media Tag.
Es ist einfach frustrierend dies immer wieder zu sehen und solche Probleme begleiten mich seit Jahren.
Natürlich gibt es da auch immer wieder echt gute und coole Funktionen, die nicht funktionieren.
Transparente PNG Dateien z.B. wurden sehr lange nicht unterstützt oder CSS Farbverläufe.

Jetzt kann man sich als Programmierer entweder darauf konzentrieren, dass es schön überall in allen Browser toll aussieht und funktioniert oder aber darauf das man Funktionalitäten, die das Spiel besser machen nutzt und lieber auf einen anderen Browser verweist.
Ich habe mir bisher nie angesehen wie viele Spieler ich durch meine bisherige Mentalität schon verloren habe aber man kann es auch mit Mindestanforderungen vergleichen. Hast du einen blöden Browser der keine Runden Ecken an div Elementen anzeigen kann dann ist es eben eckig oder ich erhöhe den Traffic und die Ladezeiten, weil erneut wieder ein Bild gebraucht wird, damit das Layout überall genau so aussieht.
Ich versuche jedoch immer das es irgendwie spielbar ist auch wenn es nicht so toll mit einem IE 9 aussieht wie mit einem IE 11 oder Firefox Browser.

Erschwerend kommt jetzt zusätzlich auch die Optimierung für Mobile Endgeräte (Smartphone, Tablet) dazu und damit komme ich dann direkt zum nächsten negativen Beispiel. Der Safari auf einem IPad.
Vieles konnte ich schon einbauen und zum laufen bringen nur eines bereitet mir seit her echtes Kopfzerbrechen. Man kann auf einem iPhone bzw. iPad iframes nicht scrollen. Die werden einfach so groß gemacht, damit der ganze Inhalt verfügbar ist. Ich kann mir vorstellen, dass es sicherlich Seiten gibt oder Anwendungen, bei denen so eine Verhaltensweise angebracht ist, aber eben nicht immer und so ist es auch bei Final Cumeda. Alle Versuche diese Problematik zu umgehen sind gescheitert an weiteren komischen Effekten, die dabei entstehen und so dauert es wohl noch etwas, bis Final Cumeda richtig auf einem iPad läuft.

Als Entwickler kann man ansonsten eigentlich nicht viel machen, außer zu meckern und doch in den sauren Apfel zu beißen und alles so anzupassen, damit es überall funktioniert.
Ich bin froh, dass ich selber keine Statistik darüber führe, wie viel Zeit ich schon für solche Probleme verschwendet habe. Da würde mir sicherlich schlecht bei werden.