Frist morgen: lustiger Facebook-HOAX macht die Runde

Aktuell sind Meldungen wie „Frist morgen!!!….“ bei Facebook von einigen Freunden zu sehen. Das ganze ist natürlich – mal wieder – kompletter Unfug. Aber na gut, hier versuche ich mal die Faktenbasis zu analysieren. Im Detail ist Folgendes zu lesen gewesen:

Frist morgen!!!
Alles, was du je veröffentlicht hast, wird von morgen an die Öffentlichkeit. Sogar Nachrichten, die gelöscht wurden oder die Fotos nicht erlaubt sind. Es kostet nichts für eine einfache Kopie und Paste, besser sicher als Nachsicht. Channel 13 News sprach über die Änderung in der Datenschutzrichtlinie von Facebook.
Ich gebe keine Facebook-oder irgendwelche Organisationen, die mit Facebook-Erlaubnis verbunden sind, um meine Bilder, Informationen, Nachrichten oder Beiträge, die Vergangenheit und die Zukunft zu nutzen. Mit dieser Erklärung, gebe ich auf Facebook, dass es streng verboten ist, zu veröffentlichen, kopieren, verteilen oder eine andere Aktion gegen mich auf diesem Profil und / oder seinen Inhalt zu verwenden. Der Inhalt dieses Profils ist privat und vertrauliche Informationen. Die Verletzung der Privatsphäre kann durch Gesetz (UCC 1-308-1 1 308-103 und das Rom-Statut) geahndet werden. Hinweis: Facebook ist jetzt ein öffentliches Unternehmen. Alle Mitglieder müssen so einen Zettel schreiben. Wenn sie es vorziehen, können sie diese Version kopieren und einfügen. Wenn sie eine Anweisung nicht mindestens einmal veröffentlichen, wenn sie die Verwendung ihrer Fotos, sowie die im Profil-Status-Update enthaltenen Informationen erlauben. NICHT teilen. Kopieren und einfügen, um auf der sicheren Seite zu sein.


Netter Scherz aber wie so häufig ein übernommener HOAX aus dem englischen:


Everything you’ve ever posted becomes public from tomorrow. Even messages that have been deleted or the photos not allowed. It costs nothing for a simple copy and paste, better safe than sorry. Channel 13 News talked about the change in Facebook’s privacy policy. I do not give Facebook or any entities associated with Facebook permission to use my pictures, information, messages or posts, both past and future.
With this statement, I give notice to Facebook it is strictly forbidden to disclose, copy, distribute, or take any other action against me based on this profile and/or its contents. The content of this profile is private and confidential information. The violation of privacy can be punished by law (UCC 1-308- 1 1 308-103 and the Rome Statute).
NOTE: Facebook is now a public entity. All members must post a note like this. If you prefer, you can copy and paste this version. If you do not publish a statement at least once it will be tactically allowing the use of your photos, as well as the information contained in the profile status updates. DO NOT SHARE. Copy and paste to be on the safe side.


Nun stellt sich mir die Frage: Kann man als Nutzer die AGB des größten sozialen Netzwerks der Welt Facebook überlisten? Viele Menschen scheinen tatsächlich daran zu glauben. Solche Statusmeldungen kursieren auf Facebook seit Jahren und laufen Kettenmails langsam den Rang ab. Was dabei in der Statusmeldung (für den Laien) noch nach einer ordentlichen juristischen Begründung klingt, ist leider absolut nutzlos.
Hier möchte ich nun ein wenig die Fakten der Textes nehmen und auf Wirksamkeit prüfen:

Über die Qualität der Übersetzung möchte ich gar nicht erst schreiben, derjenige liegt vor Lachen aber bestimmt immer noch am Boden. Daher lieber zu den Quellen und Fakten: Es wird behauptet, dass „Channel 13 News“ darüber berichtet hätte. Damit wird vermutlich die Newsseite „13 News“ aus Florida, USA (http://www.mynews13.com/) gemeint sein. Einen Bericht kann man hier eher nicht finden, nur einen Hinweis auf einen sehr ähnlichen HOAX. Welcher Bericht genau gemeint ist, wird leider nicht erwähnt.

Bisher hat Facebook seine Datenrichtlinie seit dem 30.01.2015 (Quelle: https://www.facebook.com/terms) nicht überarbeitet und Facebook würde – bevor sie die Datenrichtlinie ändern – auch vorab informieren oder wie es wörtlich heißt: „Wir werden dich benachrichtigen, bevor wir Änderungen an dieser Richtlinie vornehmen; du erhältst dann die Gelegenheit, die überarbeitete Richtlinie zu überprüfen und zu kommentieren, bevor du unsere Dienste weiterhin nutzt.“

Es wird verwiesen auf das „UCC 1-308-1“ also den Entwurf des Handelsrechtes für die einzelnen Staaten der USA:

U.C.C. – ARTICLE 1 – GENERAL PROVISIONS (2001)
§ 1-308. Performance or Acceptance Under Reservation of Rights.
(a) A party that with explicit reservation of rights performs or promises performance or assents to performance in a manner demanded or offered by the other party does not thereby prejudice the rights reserved. Such words as „without prejudice,“ „under protest,“ or the like are sufficient.

(b) Subsection (a) does not apply to an accord and satisfaction.

Unabhängig vom Inhalt des Gesetzes hat es hier in der EU oder Deutschland keine Rechtskraft, auf die man sich berufen könnte.
Das „Rome Statute“ des International Criminal Court (ICC) hingegen schon (unter gewissen Umständen). Hier hat der Staat Deutschland das Abkommen mit unterzeichnet. Das Statut regelt im Kern vier internationale Verbrechen: Genozide, Verbrechen gegen die Menschlichkeit, Kriegsverbrechen und Verbrechen der Aggression. Überlege dir also bitte kurz, ob das was Facebook hier vermutlich tut, darunter fällt.

Recherchiert doch einfach mal ein wenig und nehmt nicht alles hin! Dieser Beitrag darf geteilt werden 😉

Update 17:30 Uhr

Folgender Text ist auch vollkommener Unfug:
Wird jetzt schon im Radio empfohlen !Auch ich erkläre hiermit folgendes: heute 04. Juli. 2016, in Reaktion auf die neuen Facebook Richtlinien. Gemäß den Artikeln l. 111, 112 und 113 des Strafgesetzbuchs, geistiges Eigentum, erkläre ich, dass meine Rechte an allen meinen persönlichen Daten, Zeichnungen, Bilder, Texte etc… nur bei mir liegen. Veröffentlicht auf meinem Profil ab dem Tag, an dem ich mein Konto erstellt habe. Die kommerzielle Nutzung erfordert vorher meine schriftliche Genehmigung ! Jeder kann diesen Text kopieren und einfügen in seiner persönlichen Facebook-Seite. Damit bist du unter dem Urheberrecht. Mit diesem Post lässt du Facebook wissen, dass das veröffentlichen, vervielfältigen, verbreiten, senden, oder auf irgendeine andere Weise Content aus deinem Profil streng verboten ist. Die oben genannten Artikel sind auch für Arbeitnehmer, Studenten, Agenten und / oder — anderes Personal im Dienst von Facebook.
Der Inhalt von meinem Profil enthält private Informationen. Die Verletzung von meinem Privatleben wird bestraft unter Berücksichtigung des Gesetzes (UCC 1-308 1-308 1-103 und dem Statut von Rom). Alle Mitglieder sind eingeladen, einen ähnlichen Beitrag zu setzen, oder wenn du willst, kannst du diese Nachricht kopieren und einfügen. Wenn du diese Erklärung nicht mindestens einmal veröffentlichst, wirst du stillschweigend zulassen, dass deine Fotos, sowie die Informationen in deinem Profil verwendet werden dürfen.


Bei den vermeindlich genannten Artikeln des StGB geht es um den Widerstand gegen die Staatsgewalt, im Konkreten um die Öffentliche Aufforderung zu Straftaten (§ 111) und den Widerstand gegen Vollstreckungsbeamte (§ 113), der § 112 ist weggefallen.

Kontextmenü (Rechte Maustaste) ohne Maus

Gerade hatte ich das Problem, das ich mit der Maus (warum auch immer) nicht an das Kontextmenü kam, hier möchte ich kurz erklären, wie man dennoch dran kommt bzw. wie der Rechtsklick trotzdem ausgeführt werden kann, wenn die Maus nicht zur Verfügung steht!

Und so geht’s:

Zunächst mit der Tab-Taste den Fokus auf den Link bzw. das Element setzen.

Dann unter Windows entweder mit der ALT-Taste (diese befindet sich meist neben der STRG-Tasten) oder mit UMSCHALT + F10 das Kontextmenü öffnen. Unter Mac OS X ist die Tastenkombination crtl + Leertaste.

Die beschriebenen Methoden eignen sich nicht zum Speichern von Grafiken im Browser (falls der Mausklick mal durch JavaScript abgefangen wird), da das Element fokussierbar sein müsste (Diese Einschränkung gilt unabhängig von Browser und Betriebssystem).

Facebook-Seite verifizieren (Verified-Badge)

Wenn der Typ deiner Seite „Lokales Unternehmen“ oder „Unternehmen & Organisationen“ ist, so ist deine Seite ggf. für das graue Verifizierungsbanner (das sog. Verified-Badge) berechtigt. Wenn du nun noch ein Administrator der Seite bist, deine Seite ein Profil- und Titelbild hat und berechtigt ist, wird diese Option in den Einstellungen deiner Seite angezeigt. Du kannst zur Verifizierung deine Telefonnummer des Unternehmens oder ein Unternehmensdokument (z.B. die Telefonrechnung) verwenden. Facebook sagt aus, dass diese Informationen natürlich nur zum Bestätigung der Seite verwendet werden würden.

Und so funktioniert es im einzelnen:

  • Klicke oben auf deiner Seite auf „Einstellungen“
  • Klicke unter „Allgemein“ auf „Seitenbestätigung“
  • Klicke auf „Diese Seite bestätigen“ und dann auf „Los geht’s“
  • Gib eine öffentlich angegebene Telefonnummer für dein Unternehmen, dein Land und deine Sprache an
  • Klicke auf „Ruf mich jetzt an“, dann wird Facebook dich anrufen und dir den vierstelligen Bestätigungs-Code mitzuteilen
  • Gib diesen Bestätigungs-Code ein und klicke auf „Weiter“.

Normalerweise bist Du nun fertig und die Seite ist verifiziert. Unter Umständen reicht das noch nicht aus und du musst die Seite mit Unternehmens-Dokumenten verifizieren. Folge dazu einfach den Anweisungen. Das Dokument kannst Du als PDF oder Bilddatei hochladen, es sollte den Unternehmensnamen und die Adresse deines Unternehmens enthalten.


Nachdem Facebook dein Unternehmensdokument erhalten hat, werden die Daten überprüft um sicherzustellen, dass sie mit öffentlichen Aufzeichnungen übereinstimmen. Anschließend sendet Facebook dir (meist innerhalb weniger Tage) eine Benachrichtigung und E-Mail zu dem Bestätigungsstatus.

Unterschiede im Verified-Badge (blau vs. grau)

Einige Seiten und Profile sind von Facebook verifiziert (durch ein Symbol am Marken oder Seitennamen), um den Nutzern mitzuteilen, dass diese authentisch sind. Wenn auf einer Seite oder einem Profil ein blaues Verifizierungs-Symbol angezeigt wird, bestätigt Facebook die Authentizität der Seite bzw. des Profils für diese Person des öffentlichen Lebens, das Unternehmen oder diese Marke. Wenn hingegen auf einer Seite oder einem Profil ein graues Symbol angezeigt wird, bestätigt Facebook (auf Anfrage der Seite / des Profils), dass dieses sich wie oben beschrieben verifiziert haben.

Hinweise zu dem grauem bzw. blauem Häckchen

Im Moment genehmigt Facebook keine Anfragen zu blauen Verifizierungsbannern in Deutschland. Die blauen Häkchen (Verifizierungs-Badge) werden proaktiv von Facebook verteilt, dazu geht Facebook Fanpages von Hand durch und schaut, wer diese betreut und ob es eine offizielle Seite ist. Damit man hier von Facebook diese Aufmerksamkeit bekommt muss man schon eine größere Reichweite haben oder gewisse Prominenz als Person oder Marke besitzen, weswegen die Verifizierung mit grauem Banner vor allem die einzige Möglichkeit bleiben wird, um hier noch mehr Seriosität auszustrahlen.

Quellen:

Facebook: Wie bestätige ich meine Seite?
Facebook: Verifizierte Seite oder verifiziertes Profil

Google Analytics datenschutzkonform nutzen

Immer mal wieder in den Medien oder auch gerne einmal abgemahnt: Der falsche Einsatz der Webtracking-Lösung Analytics von Google. Dabei ist es eigentlich ganz einfach:

  1. Vertrag zur Auftragsdatenverarbeitung (ADV) mit Google (Forderung aus § 11 BDSG) schließen
  2. Anonymisierung der IP-Adressen sicherstellen
  3. Widerspruchsrecht der Betroffenen einräumen
  4. Angepasste Datenschutzerklärung bereitstellen
  5. Löschung von Altdaten, die ggf. bereits gesammelt wurden

1. Vertrag zur Auftragsdatenverarbeitung schließen

Da personenbezogene Daten (hauptsächlich IP-Adresse) im Auftrag von Google verarbeitet werden, ist gemäß § 11 BDSG hierzu ein Vertrag nötig. Google hat hier mit einigen Datenschützern einen Mustervertrag zur Auftragsdatenverabeitung entwickelt, diesen können Sie unter folgender URL herunterladen:

http://static.googleusercontent.com/media/www.google.com/de//analytics/terms/de.pdf

Diesen Vertrag ausfüllen und mit vorfrankiertem Rückumschlag an Google senden und man hat zumeist binnen 7 bis 14 Tagen einen ADV mit Google mit dem alle Seiten (Sie, Google und die Datenschützer stellvertretend für das BDSG) leben können.

2. IP-Adressen anonymisieren

Um die Anonymisierung der IP-Adressen zu gewährleisten, hat Google eine Erweiterung des Google Analytics Codes zur Verfügung gestellt. Durch Nutzung der Code-Erweiterung„“anonymizeIp“ werden die letzten 8 Bit der IP-Adressen gelöscht und somit anonymisiert. Dadurch ist zwar weiterhin eine grobe Lokalisierung möglich, dies ist jedoch von den deutschen Datenschutzbehörden toleriert.

Die aktuell Universal Analytics-Lösung des Tracking-Codes erfordert die Anpassung wie folgt:

<script>

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXXXX-X', 'website.de');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');

</script>

Mit der eingefügten zusatzzeile ga('set', 'anonymizeIp', true); wird die Annonymisierung umgesetzt und bei Google entsprechend gespeichert.

3. Widerspruchsrecht Einräumen

Es muss dem Betroffenen (dem Besucher der Webseite) die Möglichkeit des Widerspruchs gegen die Erfassung von Nutzungsdaten eingeräumt werde.

Es müssen zwei Arten der Möglichkeit des Widerspruchs implementiert werden:

1. Link zum Deaktivierungs-Add-on

Das Deaktivierungs-Add-on verhindert, dass Google Analytics ausgeführt wird. Webseitenbetreiber wird von den entsprechenden Stellen empfohlen, auf diese Software zu verlinken, damit der Betroffene auch wirksam widersprechen kann.

Zu finden ist dieses Tool unter folgender URL: tools.google.com/dlpage/gaoptout

2. Möglichkeit zum setzen eines Opt-Out-Cookies

Da das Browser-Add-on nur Desktop-Nutzern die Möglichkeit des Widerspruchs gibt (was von den Aufsichtsbehörden beanstandet wurde), hat Google eingelenkt und eine alternative Möglichkeit mit dem Opt-Out-Cookie geschaffen. Der Betroffene hat die Möglichkeit, durch Klicken eines Links ein Opt-Out-Cookie zu setzen, der dann dazu führt, dass Tracking für das Endgerät des Betroffenen verhindert. Für das Opt-Out-Cookie muss folgendes Script immer vor dem eigentlichen Google Analytics-Script im Quelltext eingefügt werden.

<script>

var gaProperty = 'UA-XXXXXXX-X';
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
window[disableStr] = true;
}

function gaOptout() {
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = true;
}

</script>

4. Angepasster Datenschutzerklärung

Die Nutzung von Google Analytics sollte gegenüber dem Betroffenen in der Datenschutzerklärung offengelegt werden.

Bisher hatte Google in den Google Analytics Bedingungen eine Formulierung für die Datenschutzerklärung bereitgehalten. Dieser wird nun nicht mehr angeboten, da dieser auf den jeweiligen Zweck des Einsatzes angepasst werden hätte müssen.

Wenn man davon ausgeht, dass die bisherigen Datenschutzhinweise von Google die Datenverarbeitungen bei Google Analytics zutreffend beschreiben und dass diese auch nicht wesentlich geändert wurden, kann man die bisherige Textvorlage von Google Analytics weiterhin verwenden und mit der folgend vorgeschlagenen Ergänzungen versehen:

Diese Website benutzt Google Analytics, einen Webanalysedienst der Google Inc. („Google“). Google Analytics verwendet sog. „Cookies“, Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch das Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert. Im Falle der Aktivierung der IP-Anonymisierung auf dieser Website, wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt. Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem Sie das unter dem folgenden Link (http://tools.google.com/dlpage/gaoptout?hl=de) verfügbare Browser-Plugin herunterladen und installieren. Sie können die Erfassung durch Google Analytics verhindern, indem Sie auf folgenden Link klicken. Es wird ein Opt-Out-Cookie gesetzt, das die zukünftige Erfassung Ihrer Daten beim Besuch dieser Website verhindert: Google Analytics deaktivieren Nähere Informationen zu Nutzungsbedingungen und Datenschutz finden Sie unter http://www.google.com/analytics/terms/de.html bzw. unter https://www.google.de/intl/de/policies/. Wir weisen Sie darauf hin, dass auf dieser Website Google Analytics um den Code „gat._anonymizeIp();“ erweitert wurde, um eine anonymisierte Erfassung von IP-Adressen (sog. IP-Masking) zu gewährleisten. (Quelle der Formulierung: www.datenschutzbeauftragter-info.de).

5. Löschung von Altdaten

Es ist darauf zu achten, dass die Anpassungen nur neue Google Analytics Profile erfassen. Zuvor erhobene Properties (ehemals Profile) sind nach Ansicht der Aufsichtsbehörden unzulässig erhoben worden und so zu löschen.

Fazit

Mit der Einigung von Google und den Aufsichtsbehörden sieht man, dass auch Google daran interessiert ist, Rechtsunsicherheiten auszuräumen und einen datenschutzkonformen Betrieb zu ermöglichen. Mit den Auswirkungen der sog. Cookie-Richtlinie aus dem EU-Vorgaben, ist damit zu rechnen, das weitere Anpassungen erforderlich werden. Sollten Sie hierzu Fragen haben oder Hilfe benötigen, so helfen wir natürlich gerne!

Website-Tuning Stage 3: Eine Zusammenfassung

Wie in dem ersten und zweiten Teil der Blogreihe erläutert, kommt es auf optimale, komprimierte und nötige Inhalte an. Viele Ressourcen werden daher nun asynchron geladen, sind komprimiert und zu größeren Teilen minifiziert. Um nun die letzten Prozente herauszukitzeln, haben wir Folgendes getan:

  • HTML minifizieren
  • CSS minifizieren
  • Bilder optimieren
  • SVG komprimieren
  • Google Maps entfernen
  • Webfonts und andere Bibliotheken selber hosten

HTML-Komprimieren und optimieren

Um das HTML zu minifizieren, werden im weitesten Sinne Whitespaces entfernt. Also Zeichen, die während der Entwicklung für die Struktur nötig sind bzw. ungemein helfen. Dem Browser ist es hinterher jedoch weitestgehend egal, wie viele Zeilenumbrüche im Quelltext sind oder wie strukturiert der Quelltext durch die IDE der Wahl eingerückt wurde (durch Tabstops oder mehrere Leerzeichen). Aufgrund dessen werden diese Whitespaces mithilfe eines kleinen Snippets im MODX vor der Ausgabe entfernt:

Des Weiteren wird bei uns zumeist der Quelltext mittels Kommentaren beschrieben, um diesen zu späteren Zeitpunkten auch noch gut verstehen zu können (Dokumentation). Diese Dokumentation ist für den live-Betrieb der Seite nicht erforderlich und wurde ebenso aus dem Quelltext entfernt.

So konnten noch einmal 6 von 19 KB und somit 31% gespart werden.

Weitere Ressurcen optimieren

Das Logo wird als SVG-Grafik eingebunden. Diese ist im weitesten Sinne eine XML-Datei, welche ebenso minifizierbar und komprimierbar ist. Somit wurden die Daten mit dem MIME-Typ „svg+xml/text“ zur nginx-Konfiguration hinzugefügt und die Datei minifiziert.

Google Maps wurde aus der Startseite entfernt. Grund hierfür sind die ca. 45 Requests des Browsers, bis die Seite tatsächlich geladen ist. Das führt dazu, dass einige wichtige Ressourcen parallel mit der Karte geladen werden und sich die Bandbreite teilen müssen und daher langsamer geladen werden. Die Karte braucht durchschnittlich 3-5 Sekunden bei einer guten Internetverbindung, bis keine weiteren Ressourcen mehr nachgeladen werden. Subjektiv betrachtet reagiert in der Zeit der Browser marginal träger, was vermutlich mit der Leistungsfähigkeit des Endgerätes einhergeht. Aufgrund des späten Ladens des CSS gibt es zudem noch ein Darstellungsproblem beim erstmaligen Laden der Seite mit Browsern mit der Webkit-Engine (nur eine halbe Karte wird angezeigt). Netter Nebeneffekt: Die Datenkrake Google bleibt den Besuchern zunächst erspart.

Bilder optimieren

Auf der Startseite von Coding-Pioneers wird ein größeres Bild (Keyvisual) genutzt. Dieses war in der ursprünglichen Größe knapp 1,6 MB groß. In einer kleineren Größe (Breite: 1900 Pixel) hatte es noch 450 KB und macht damit noch rund 50% der Seitengröße (Gesamt: 695 KB) aus. Der Webdienst compressor.io verspricht, Bilder um bis zu 90% zu verkleinern und das ohne Qualitätsverluste. Zu verlieren gab es also nicht viel, wenngleich 90% Verkleinerung nicht erwartet wurden. So konnten am Ende annähernd 100 KB gespart werden (446 KB reduziert auf 345 KB also eine Ersparnis von rund 23%), was also zu einer Gesamtersparnis von etwas über 10% führte.

Was wurde denn nun gespart?

Angefangen haben wir mit einem Prototypen, der in Summe 2,2 MB also grob 2200 KB groß war. Es wurden 70 Ressourcen geladen (zum größeren Teil asynchron durch Google Maps) und das Ereignis „ready“ des DOM wurde nach durchschnittlich 1650 ms ausgelöst.

Durch die Komprimierung müssen von den 930 KB nur 695 KB übertragen werden, das entspricht einer Einsparung von 25%.


Durch das Minifizieren von:

  • HTML: 19 auf 13 KB (31% Ersparnis), keine Ressourceneinsparung
  • CSS: 196 auf 88 KB (55% Ersparnis), durch das Zusammenfassen wurden zwei Dateien eingespart, die weniger geladen werden müssen. Hier konnte auch relativ viel eingespart werden, da die Bibliothek des Bootstrap vom Umfang reduziert werden konnte.
  • JavaScript: 100 KB auf 140 KB, da noch weitere Skripte gebraucht wurden, um andere Möglichkeiten zu eröffnen, dafür wurden zwei Requests gespart. Die Minifizierungsrate fällt hier leider nicht so hoch aus, da die eingebundenen Bibliotheken wie jQuery bereits maximal minifiziert sind.

  • Bilderkomprimierung: Mithilfe von compressor.io konnten 140 KB gespart werden also einer Gesamtersparnis von etwas über 15%.

In Summe haben wir so von den ursprünglichen 2100 KB gute 1400 KB in der Übertragung sparen können. Durch die Optimierung werden nicht mehr 68 Ressourcen geladen, sondern nur noch 20. Das DOM-Ereignis „Content Loaded“ wird nach 240-400ms vom Browser ausgelöst. Ab dem Moment werden die Daten beim Client gerendert und dargestellt. Darauf folgt dann das Ereignis „Ready“ nach durchschnittlich 1,5 Sekunden. Nun werden Funktionen aufgerufen, wie die jQuery-Funktion „ready“ und damit die letzten Operationen ausgeführt.

Fazit: Performance matters

Was sollten Sie also tun, damit die Seite so schnell wie möglich geladen wird? Hier eine kommentierte Liste zum Abarbeiten:

  1. Serverperformance: Suchen Sie sich einen guten Hoster und Webspace mit SSDs, so können Webseiten spürbar schneller bereitgestellt werden. Ein Webspace-Paket für 0,49 Euro / Monat und 2000 anderen Webseiten auf dem gleichen Server helfen nur bedingt. Gerade als Unternehmen spart man hier an der falschen Stelle!
  2. Optimieren Sie Ihre Bilder: Hier steckt mit das meiste Potenzial, um die Seitengröße schnell auf ein sinnvolles Maß zu bringen (Nur weil heutzutage jedes Smartphone kaum mehr Bilder von unter 4 MB erzeugt, müssen diese nicht direkt so auf die Webseite)
  3. Reduzieren Sie vor der Ausgabe Ihren CSS-Code: Zeilenumbrüche und Einrückungen strukturieren den Code zwar für Sie optimal und Kommentare noch einmal ungemein, aber dem Client (Browser) ist das zumeist vollkommen egal.
  4. Gleiches gilt für Ihren HTML-Code: So lassen sich schnell mal ein paar KB sparen.
  5. Für JavaScript gilt grundsätzlich das gleiche: Hier sind Optimierungen jedoch nicht ganz so trivial.
  6. Schalten Sie die Komprimierung (gzip/mod_deflate) ein: Ihre Webseite wird ca. 30% schneller geladen!
  7. Reduzieren Sie die Anzahl der Dateien bzw. fassen Sie Dateien zusammen, die geladen werden: Jede Datei, die gespart wird, spart einen HTTP-Header und blockiert damit keine anderen Ressourcen. Besonders CSS- und JavaScript-Dateien lassen sich gut zusammenfassen. Auch Bilder lassen sich in sog. Sprites zusammenfassen.
  8. Vermeiden Sie verschiedene Dateiquellen und laden Sie möglichst alles von einem Host. Auch wenn man Webfonts vom Anbieter A, jQuery vom CDN B und andere Bibliotheken von Anbieter C einbindet, sorgt das dafür, dass im Worst-Case drei DNS-Anfragen vor dem vermeidlich schnelleren Laden getätigt werden. Das blockiert den Browser kurzfristig und erhöht zudem die Anzahl der Fehlerquellen.

Wofür das Ganze? Sind wir schon fertig?

Die Seite wird nun insgesamt spürbar schneller geladen, was vor allem den mobilen Nutzern zugute kommt. Google hat hier für die Analyse das Produkt „PageSpeed Insights“ bereitgestellt. Hier räumen wir mit der aktuellen Seite 100 von 100 möglichen Punkten im Desktop-Bereich ab PageSpeed Insights von coding-pioneers.com

An einigen Ecken hakt es noch und an anderen Ecken liegt noch einiges an Potential. Hier wird es azyklisch immer mal wieder kleine Ergänzungen geben und wir werden diese mit Code-Snippets für Sie zur Verfügung stellen! Sie haben Fragen, Anmerkungen oder Wünsche – Wir freuen uns über Kommentare!

Links

Website-Tuning Stage 2: JS zusammenfassen & komprimieren

Im WWW ist sie kaum noch wegzudenken: Die Skriptsprache JavaScript. Sie dient unter anderem zur Dynamisierung der Inhalte einer Website. Der JS-Quellcode wird im HTML zwischen den script-Tags eingebunden oder dort mittels Attribut aus einer externen Datei geladen:

<script src="script.js"></script>

Wie bereits im letzten Teil der Serie erklärt wurde, ist es wichtig, dass so wenig Dateien wie möglich eingeladen werden. Das gilt auch für den eingebundenen JavaScript-Code. Die Ziele sind folgende:

  • Skriptdateien zusammenfassen
  • Quellcode minifizieren

Skriptdateien zusammenfassen

Auf einer Website können mehrere Skript-Dateien eingebunden werden. Wird eine Website in einem Web-Browser aufgerufen, läd dieser in der Regel 6 Dateien gleichzeitig. Dabei werden neben dem Skript auch Bilder, CSS-Dateien und weitere Elemente der Seite geladen. Deswegen ist es sinnvoll, die Anzahl der eingebundenen Dateien möglichst gering zu halten. Dies kann durch das Zusammenfassen aller erforderlichen Skript-Dateien zu einer Datei umgesetzt werden.

Quellcode minifizieren

Das weitere Vorgehen besteht in der Komprimierung der zusammengefassten Skript-Datei. Quellcode enthält oft für den Interpreter unwichtige Zeichen wie Zeilenumbrüche, Tabstopps und Kommentare. Diese Zeichen dienen nur dem Verständnis sowie der Förderung der Lesbarkeit und können daher restlos aus dem Quellcode entfernt werden. Durch diese Operation lässt sich die Größe der Skript-Datei um ein Vielfaches verkleinern, wodurch die Ladezeit der Datei verringert wird.

Folgende Elemente können restlos entfernt werden:

  • Zeilenumbrüche
  • Tabstops
  • Kommentare
  • Zeilenumbrüche
  • Aufeinander folgende Leerzeichen

MODX Snippet

Durch das folgende MODX-Snippet „minimize-js“ kann die Performance beim Laden das JavaScripts mit den zuvor beschriebenen Operation simpel verbessert werden. Der Aufruf des Snippets erfolgt durch [[minimize_js? ]]. Durch das Snippet werden die übergebenen Dateien zusammen gefasst und komprimiert. Da es sich um eine simple Komprimierung handelt, führen einzeilige If-Abfragen, welche einen Zeilenumbruch enthalten, zu einer fehlerhaften Ausgabe.

Parameter

NameBeschreibung
srcFilesPfade zu den JavaScript-Dateien, welche zusammengefasst und komprimiert werden sollen. Pfade werden durch ein Komma getrennt.

Quellcode des MODX-Snippets

<?php<br>
<br>
$srcFiles = $modx->getOption('srcFiles', $scriptProperties);<br><br>

/* Leerzeichen entfernen */<br>
$srcFiles = str_replace(" ", "", $srcFiles);<br><br>

/* Parameter aufsplitten */<br>
$params = explode(",",$srcFiles);<br><br>

$output = "";<br><br>

/* Source-Dateien optimieren */<br>
foreach($params as $file)<br>
{<br><br>

  /*Dateiinhalt auslesen */<br>
  $string = file_get_contents($file);<br><br>

  /* Einzeile Kommentare entfernen */<br>
  $string = preg_replace("/[^:](\/\/.*)/", "\n", $string);<br><br>

  /* Mehrzeilige Kommentare entfernen */<br>
  $string = preg_replace("/(\/\*.*\*\/)/s", "\n", $string);<br><br>

  /* carriage returns durch Zeilenumbruch ersetzen */<br>
  $string = str_replace("\r", "\n", $string);<br><br>

  /* tabs durch Leerzeichen ersetzen */<br>
  $string = str_replace("\t", "\n", $string);<br><br>

  /* Mehrere Zeilenumbrueche durch einen ersetzen */<br>
  $string = preg_replace("/\n+/", "\n", $string);<br><br>

  /* Zeilenumbrueche an schließenden Klammern durch Semikolons ersetzen */<br>
  $string = preg_replace("/[)]\n/", ");", $string);<br><br>

  /* Entfernt das Semikolon an If-Abfragen und Schleifen */<br>
  $string = str_replace(");{", "){", $string);<br><br>

  /* Entfernt das Semikolon am Punkt-Operator */ <br>
  $string = str_replace(");.", ").", $string);<br><br>

  /* Entfernt das Semikolon an zwei aufeinander folgenden runden Klammern*/<br>
  $string =preg_replace("/[);]\s+[);]/", ")", $string);<br><br>

  /* Restliche Zeilenumbrüche entfernen*/<br>
  $string = preg_replace("/\n/", "", $string);<br><br>

  /* Mehrere Leerzeichen durch ein Leerzeichen ersetzen */<br>
  $string = preg_replace("/\s+/", " ", $string);<br><br>


  $output = $output.$string;<br>
}<br>
<br>
return $output;<br>
?>

Verwendung

Nachdem mit dem zuvor beschriebenen Quellcode das MODX-Snippet erstellt wurde, muss dieses in die Website eingebunden werden. Dazu wird eine neue Ressource vom Content-Type „javascript“ erzeugt und das Snippet mit

[[minimize_js? &srcFiles=`js/script1.js,js/script2.js,js/script3.js`]]

eingebunden. Zu beachten ist, dass der Aufruf des Snippets ohne ein Ausrufungszeichen nach der zweiten öffnenden eckigen Klammer erfolgt, damit das Snippet gecacht wird. Durch das Cachen des Snippets wird zusätzliche Ladezeit gespart, da die Datei nicht neu geladen werden muss.

Die zuvor erstellte Ressource wird im Footer durch

<script src="ressourcen-name.js"></script>

Fazit

Durch die Verwendung des MODX-Snippet konnten wir die Größe unserer JS-Datei um 60% reduzieren. Hier bewegen wir uns ebenfalls im KB-Bereich. Dank moderner Datenübertragungstechniken spielt das Einsparen von KBs in der heutigen Zeit kaum noch eine Rolle. Aber auch hier gilt: „Serverentlastung bei Lastzeiten“ und „VDSL, Glasfaser und LTE sind nicht immer verfügbar“.

Bei dieser Methode der Komprimierung handelt es sich um ein simples Verfahren, welches eine Alternative zu externen Programmen, wie zum Beispiel dem Closure Compiler von Google, liefert. Durch das MODX-Snippet bleibt die gesamte Kontrolle bei dem Programmierer der Website und der Quellcode wird nicht an eine externe Schnittstelle gesendet.

Website-Tuning Stage 1: Code validieren und optimieren

Das WWW – wie wir es heute kennen – hat eine gewisse Entwicklung hinter sich. Durch diese ist letztlich auch HTML bzw. HTML5 entstanden, da es vorher keine Standards für die strukturierte Übertragung von digitalen Informationen zwischen mehreren Personen gab.

Zur Historie von HTML: Die Hypertext Markup Language gehört zur Klasse der sog. Auszeichnungssprachen, die einen Text semantisch strukturiert und es erstmals Ende 1992 ermöglichte Informationen spezifiziert über Ländergrenzen hinweg zu übertragen. Heutzutage wird HTML vom W3C und der WHATWG weiterentwickelt. Die derzeitige aktuellste Spezifikation ist HTML5, die bereits von den meisten Webbrowsern unterstützt wird.

Wenn nun entsprechend dieser Spezifikation der Quellcode geschrieben wird, so besteht auch eine größere Chance, dass dieser dann auf allen Endgeräten gleichartig interpretiert und angezeigt wird.

HTML5 validieren

Damit der Quellcode einer Webseite entsprechend der Spezifikation des W3C geschrieben wird, bzw. das Ergebnis sich prüfen lässt, gibt es vom W3C einen sog. Validatior. Werden hier Fehler oder Warnungen ausgegeben, so können diese korrigiert werden. Ein bekannter Validator ist unter folgender Domain zu finden:

html5.validator.nu

CSS validieren

Weiter verhält es sich mit dem CSS genauso wie mit dem HTML, hier wird auch ein Validator von W3C bereitgestellt:

jigsaw.w3.org/css-validator

Es fällt auf, dass hier etliche Fehler gefunden werden und der Quellcode angeblich alles aber eben nicht valide ist. Das liegt daran, dass CSS3 noch nicht spezifiziert ist (und damit kein Standard, der sich prüfen ließe) und bisher nur ein Entwurf ist, der permanent erweitert wird und dann durch die Browser-Engines implementiert wird. Dadurch gibt es auch die verschiedenen Browser-Präfixe (wie bspw. „-webkit“).

Nichtsdestotrotz lassen sich so einige Fehler im Stylesheet erkennen und bereinigen.

HTML5 und CSS optimieren

Damit das CSS und HTML so schnell wie möglich angezeigt werden, ist es wichtig, dass dieser Quellcode so schnell wie möglich geladen wird. Daraus folgt, dass zum einen der HTML und CSS-Code immer so klein wie möglich sein sollten und zum zweiten, dass auch nur das übertragen wird, was auch wirklich gebraucht wird.


Folgendes ist empfehlenswert:

  • Kommentare Entfernen
  • Kommentare aus Scripts und Styles entfernen
  • Entfernen von CDATA-Sektionen von Skripten und Styles
  • Überflüssige Leerzeichen und Zeilenumbrüche entfernen
  • Entfernen von leeren Attributen (class=„“)
  • Entfernen von leeren Elementen
  • URLs relativ angeben (URLs minifizieren)

Texte per HTTP-Kompression verkleinern

HTTP-Kompression, die von Servern und Webbrowsern unterstützt wird, dient der Verkürzung der Übertragungsgeschwindigkeit und der Optimierung der Bandbreitenausnutzung.

Komprimierbare Ressourcen (wie Textdateien also vor allem HTML, CSS und Javascript) auf einer Webseite, die mittels HTTP-Komprimierung bereitgestellt werden, sorgen dafür, dass sich bis zu 90% des benötigten Datenvolumens bei der Übertragung einsparen lassen. Viele Webserver können Dateien vor dem Senden mittels gzip komprimieren. Dies geschieht durch Aufrufen eines Drittanbietermoduls oder mithilfe integrierter Routinen. Dadurch können für das Rendern Ihrer Website erforderliche Ressourcen signifikant schneller heruntergeladen werden.

Bei anderen Ressourcen wie z.B. JPEG-Bildern lohnt diese Vorgehensweise nicht, da das Bild selber schon komprimiert ist.

HTTP-Kompression (gzip) im nginx-Webserver aktivieren

Aus allgemeinen Performancegründen arbeiten wir mit dem Webserver nginx. Dieser liefert die statischen Dateien deutlich schneller als ein Apache Webserver aus, sodass dieser hierhingehend konfiguriert werden muss. Die folgende Konfiguration beinhaltet die gesamte nginx-Konfiguration für das MODX-CMS:


location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {<br>
    expires 30d;<br>
    add_header Pragma public;<br>
    add_header Cache-Control "public, must-revalidate, proxy-revalidate";<br>
    try_files $uri = @fallback;<br>
<br>
    if (!-e $request_filename) {<br>
        rewrite ^/(.*)$ /index.php?q=$1 last;<br>
    }<br>
}<br>
<br>
gzip on;<br>
gzip_proxied any;<br>
gzip_types  application/javascript application/json application/xml application/xml+rss application/x-javascript text/css text/javascript text/plain text/xml;<br>
gzip_vary on;

Fazit

Alleine durch diese kleinen Optimierungen konnte der Textanteil der übertragenen Daten von ca. 250 kB auf rund 70 kB, also um über 70% gesenkt werden. Diese läppischen 180 kB sind zwar in Zeiten von VDSL, Glasfaser und LTE kaum der Rede wert, entlasten aber dennoch gerade in Lastzeiten den Server enorm und auch einen geneigten Interessenten, der eben doch nur über EDGE oder GPRS mit dem Internet verbunden ist.

Fehler von Outlook zu den Junk-E-Mail-Listen

Microsoft Outlook generiert, ohne zunächst erkennbaren Grund, die folgende Fehlermeldung:

„Den Junk-E-Mail-Listen auf dem Server können keine Einträge hinzugefügt werden, da die maximale Größe der Listen auf dem Server überschritten wurde. Der Junk-E-Mail-Filter auf dem Server wird deaktiviert, bis die Junk-Mail-Listen auf die erlaubte Maximalgröße auf dem Server reduziert worden sind.“:

Das Verwalten der Listen bringt auch keinen Erfolg, da hier nur wenige oder gar keine Einträge zu finden sind.

Lösung

Die Lösung ist im letzten Absatz der folgenden Seite von Microsoft zu finden:

http://office.microsoft.com/de-de/outlook-help/problembehandlung-beim-junk-e-mail-filter-HP001040092.aspx?pid=CH063564711031

Das Entfernen eines Hakens in den Junk-E-Mail-Optionen, dass die eigenen Kontakte vertrauenswürdige Absender sind, bringt letztlich den Erfolg:

Alternativer Lösungsweg

Wenn die Anzahl der Kontakte größer wird, werden diese mit der gewählten Option automatisch (nicht sichtbar) zur Liste der vertrauenswürdigen Absender hinzugefügt (sog. Whitelisting). Diese Listen sind auf 512 kB pro User begrenzt, dies entspricht ca. 2000 Adressen, die eingetragen werden können. Wenn man an dem Whitelisting der Kontakte festhalten möchte, kann alternativ der Wert im Exchange-Server anpasst werden:

Hierfür muss ein neuer DWORD in der Registry in dem Pfad “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem\“ mit dem Namen „Max Extended Rule Size“ und einem Wert, der der Größe in Bytes entspricht. Hiernach müssen die Clients getrennt werden und der Exchange-Speicherdienst neu gestartet werden, damit der Wert eingelesen wird.

Dies ist wird auch noch mal im letzten Abschnitt des entsprechenden Microsoft-TechNet-Artikels (http://technet.microsoft.com/en-us/library/aa998371%28EXCHG.65%29.aspx) zum Thema „Setting the Size of Spam Rules“ behandelt.

Das Problem kann auch unter Outlook 2003 und Outlook 2007 in Kombination mit Microsoft Exchange 2003 und Exchange 2010 auftreten.

Green-IT in einem Büro-Computer

Derzeit habe ich einige Rechner auf Basis der Lian Li PC-Q09-Serie assembliert. So ist endlich Schluss mit den schäbigen, lauten Kisten unter dem Schreibtisch. Flüsterleise laufen die schmucken Office-PCs mit ausreichender Leistung (Intel Core i3 oder i5), 8 GB Arbeitsspeicher und Festplatten mit bis zu 600 GB, die auf Flash-Speicher basieren. Das Betriebssystem ist Windows 7 Home Premium, Professional oder Ultimate.

Technik

Die relativ neuen Gehäuse des taiwanesischen Edel-Gehäuse-Herstellers Lian Li der Serie PC-Q09, sind auf smarte und dennoch leistungsstarke Desktop-Systeme ausgelegt. Sie sind sowohl für das Wohnzimmer als auch das Büro äußerst tauglich. Lian Li typisch ist, dass es zu 100% aus Aluminium besteht. Die gebürstet eloxierte Oberfläche verleiht dem Gehäuse eine äußerst edle und zeitlose Optik. Es ist in den vier Farbrichtungen Aluminium, schwarz, rot und weiß zu bekommen. Das Gehäuse bietet Platz für eine 6,4 cm (2,5“) Festplatte, ein Slim-Line-Laufwerk und ein Mini-ITX-Mainboard (17 x 17 cm). Die Gehäusefront bietet zwei USB 3.0 Anschlüsse, einen Kopfhörer- und einen Mikrofon-Anschluss. Das Gehäuse wird mit einem 150W- und einem 110W-Netzteil angeboten.

Bei dem Mainboard habe ich auf ein ASUS P8H67-I Rev.3.0 bzw. ein Intel® DQ67EPB3 zurückgegriffen. Beide Mainboards bieten SATA3-Anschlüsse für schnelle Datenraten und USB 3.0-Anschlüsse. Ebenso unterstützen beide Mainboards bis zu 16 GB DDR3-RAM auf 2 Sockel verteilt.

Es werden 8 GB DDR3-Arbeitsspeicher (RAM) von Corsair verbaut.

Bei dem Prozessor habe ich Intel® Core™ i3 oder i5 der S- oder T-Serie für den 1055er Sockel gewählt. Diese Prozessoren sind nicht ganz so schnell getaktet, verbrauchen dafür jedoch auch nur 35-65W und somit 30-50% weniger als die normalen Modelle. Es eignen sich somit die folgenden Modelle: i3-2120T, i5-2390T, i5-2500T, i5-2405S. So stehen max. 8 Threads (4 CPU-Kerne) bereit, die bis zu 3,5 GHz getaktet sind (dank des „Dynamic Turbomode“)

Bei der Festplatte setze ich auf SSDs der Marke Corsair der Force3-Serie. So sind Datenraten bis 500 MB/s möglich (lesend, wie schreibend). Die Kapazitäten der SSDs reichen von 60 bis 240 GB. SSDs anderer Hersteller bieten bis zu 60GB

Der PC läuft schon mit den mitgelieferten Boxed-Kühlern sehr leise und angenehm. Möchte man ein noch leiseres System, kann man diese durch Kühler und Kühlkörper von bspw. Noctua tauschen. So ist das System dann so gut wie unhörbar.

Derzeit wird ein DVD-Brenner verbaut, hier ist auch ein Blu-Ray-Laufwerk oder -Brenner denkbar, so ist das System im Wohnzimmer perfekt als Media-Center nutzbar. Bei der Nutzung als Media-Center ist jedoch zu beachten, dass die Mainboard-Wahl nicht zwingend auf eines der genannten fallen muss.

Kosten

Im Betrieb verbraucht der Rechner durchschnittlich 25-50 W – je nach Wahl des Prozessors. Beim Einsatz im Büro sind dies bei 8 Stunden Laufleistung an 252 Tagen im Jahr gerade einmal ca. 50-100 kWh (entsprechend den der CPU-Wahl). Dazu kommt der Standby-Strom mit ca. 0,75 W, der so ungefähr 5 kWh/Jahr entspricht. So verbraucht der Rechner ca. 25 Euro Strom pro Jahr. Bei einem normalen Tower-Computer ist das Vierfache von diesem Energieverbrauch möglich. Mit höherem Energiekonsum ist eine leistungsstärkere Kühlung notwendig, die lauter sein kann.

Das System ist ab 650 Euro (inkl. 19% MwSt.) aufwärts zu haben. Inklusive in diesem Preis ist das Betriebssystem, dessen Vorinstallation und die Lieferung bzw. der Versand.

Sie haben Interesse? Lassen Sie mir doch eine Nachricht mit Ihren Wünschen zukommen! Gerne biete ich Ihnen auch einen passenden Monitor, passende Eingabegeräte sowie ergänzendes Zubehör an.

Apple SuperDrive unter Windows am PC

Vielfach findet man im Internet die Aussage, dass das Apple Macbook Air SuperDrive (Herstellernummer: MC684ZM/A oder das aktuelle MD564ZM/A) nicht an einem PC bzw. unter Windows funktionieren würde. Das ist jedoch nur die halbe Wahrheit. Das Macbook Air SuperDrive von Apple funktioniert unter Windows und auch an einem PC.

Jedoch ist zu beachten, dass das SuperDrive-Laufwerk an einem PC nicht bootfähig ist. Unter Windows werden zunächst die entsprechenden Treiber aus den sog. „Boot Camp“-Treibern benötigt. Die 32-Bit-Treiber findet man in dem „Boot Camp“-Paket unter „Drivers“ -> „Apple“ -> „AppleODDInstaller.exe“ und die 64-Bit-Treiber entsprechend unter „Boot Camp“-Paket unter „Drivers“ -> „Apple“ -> „x64“ -> „AppleODDInstaller.exe“.

Wer ein schickes Laufwerk für sein Ultranotebook oder Subnotebook sucht, kann auch zu diesem schicken Laufwerk von Apple greifen solange man auf die Bootfähigkeit verzichten kann (um bspw. das Betriebssystem neu zu installieren).

Das Apple Macbook Air SuperDrive funktioniert auch an dem Apple Mac Mini (Generation 2011) – hier ist es sogar bootfähig.

Wenn die Treiber benötigt werden, finden Sie diese unter folgender URL: AppleODDInstaller.zip