Zur Erinnerung, ich habe keine Lösung mit JavaScript angestrebt, sondern eine Lösung basierend auf dem <link>-Element, mit rel="prefetch"-Attribut.
Das ist mir schon klar - nur wie stellt das der Geek in seinem Browser ein? Wo finde ich diese option z.B. unter Opera auf Android? :)
Unter Opera 12.x hatte man noch halbwegs kontrolle über die Prefetching-Funktionalitäten, aber in aktuellen Browser siehts da auch eher schlecht aus.
Vorab laden bedeutet bei der <link>-Lösung, das Bild nach allen anderen wichtigen Dateien zu laden, die für das intiale Rendering benötigt werden. Die Rendering-Pipeline wird also nicht blockiert.
Das ist mir klar, nur was passiert, wenn die Verbindung schon vorher abreisst, bevor die "anderen wichtigen Daten" geladen wurden? Dann ist der Benutzer auch unzufrieden - wo ist das Argument?
Sollte die Antwort vielleicht auch einen Absatz weiter oben stehen?
Möglicherweise, die Themen greifen ineinander :)
Auf jeden Fall gilt auch hier meine Maxime, ein gutes UI lässt es erst gar nicht so weit kommen, ein weniger gutes Interface benachrichtigt den User zumindest über den Fehler und ein schlechtes Interface bemerkt den Fehler selber nicht.
Unterschiede zwischen einer Website und einer "Web-App", deren User-Interface nach dem Initialen laden theoretisch ohne weiteren Datenverkehr auskommen muss. Bei einer App ist die UX deutlich wichtiger als bei einer Website, die "nur" Informationen transportiert.
Ich wollte nur daran erinnern, dass es zwischen "Jetzt oder nie" auch noch die Fälle: "Jetzt oder später" gibt. Cache zumüllen lasse ich nicht als Kontra-Argument gelten, jeder Browser weiß, wie er seinen Cache sinnvoll verwaltet, das tangiert den Nutzer nicht im Geringsten.
Das ist richtig, war ein schlechtes Argument.
Wie bereits erwähnt, spreche ich nicht von einem JavaScript- oder CSS-Hack, sondern von einer Lösung basierend auf reinem HTML. Genau für diesen Fall bieten Browser eine Option an, um das optimistische Vorladen zu deaktivieren.
Auf die man, wie oben erwähnt, de facto keinen Einfluss hat.
Aber der Flaschenhals sind hier doch ganz klar die gestreamten Videos und die Musik und nicht die paar Bilder, die eine Webseite mit sich bringt. Und wie gesagt, es gibt immer noch die Möglichkeit, das optimistische Vorladen durch eine Einstellung zu unterbindne.
Der Flaschenhals entsteht dann, wenn das Limit ausgeschöpft ist und man sich dann aufgrund der langsamen Verbindung oder den zusätzlichen Kosten überhaupt noch anschauen kann. Und dann eher eine Datenintensive Website meiden wird und auf die eines sparsameren Mitbewerbers geht.
Ich erwarte von einer Webseite schnelle Reaktionszeiten, sie soll responsiv im eigentlichen Wortsinn sein, Wartezeiten passen da nicht ins Schema. Und Standardverhalten ist link[prefetch] wohl auch.
Dafür gibt es Tonneweise andere Optimierungsmöglichkeiten - und eine Ressouren die man in Erwartungshaltung erst explizit anfordert per prefetch zu ziehen ist imho nicht im Sinne der Erfindung. Mozilla hat sich das aus den Fingern gesaugt um dem Benutzer Kontrolle über das Prefetching zu geben, damit es für den Benutzer transparent ist, was passiert.
Das jetzt als Freibrief für "ich kann eh alles nachladen, weil der Nutzer ja die Kontrolle hat" zu verstehen ist nicht weit genug gedacht, denn genau an den Stellen wo das ein Problem darstellt, lässt sich das Prefetching eben nicht (leicht) unterbinden.