Internet Magazin Die Reise des Kunden (Vorschau)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5/13<br />
KNOWHOW FÜR W EB-PROFIS<br />
€ 4,50<br />
Österreich € 5,10<br />
BeNeLux € 5,10<br />
Italien € 6,00<br />
Spanien € 6,00<br />
Schweiz sfr 9,00<br />
Griechenland € 7,00<br />
www.internet-magazin.de<br />
WEBENTWICKLUNG<br />
HTML5 statt Flash<br />
So geht's: Videos per HTML5<br />
einbauen und wiedergeben<br />
Website-Tuning<br />
Performance-Optimierung<br />
für Ihre Website<br />
Widget-<br />
Programmierung<br />
Android-Widgets selbst gemacht<br />
Compass CSS<br />
Perfekte Code-Struktur mit<br />
dem Turbo-Framework<br />
<strong>Die</strong> <strong>Reise</strong><br />
<strong>des</strong> <strong>Kunden</strong><br />
Präzises Käufer-Targeting für Online-Shops<br />
Kaufentscheidungen effektiv beeinflussen<br />
Strategisch werben<br />
WEBBUSINESS<br />
Logistik für den<br />
E-Commerce<br />
So finden Sie den passenden<br />
Logistiker für Ihr Business<br />
Google Rich Snippets<br />
Wie Sie mit Googles intelligenter<br />
<strong>Vorschau</strong> Ihre Klickrate steigern
1&1 DYNAMIC<br />
CLOUD SERVER<br />
1&1 Dynamic Cloud Server<br />
Ob als Web-, Datei-, Applikations- oder<br />
Business-Server. Nutzen Sie maximale<br />
Flexibilität mit voller Kostenkontrolle!<br />
■ Basiskonfiguration: 1 CPU, 1 GB RAM,<br />
100 GB Festplatte<br />
■ Unlimited Traffic mit 100 Mbit/s Bandbreite<br />
ohne Zusatzkosten und ohne Drosselung<br />
■ Mehr Sicherheit durch externe IP-Firewall<br />
(Cisco basiert)<br />
■ Freie Wahl aus CentOS, Debian, Ubuntu,<br />
openSUSE oder Windows (optional)<br />
■ Nur bei 1&1: Optional SUSE<br />
Linux Enterprise Server<br />
■ Nur bei 1&1: Server-Management<br />
und -Monitoring per Mobile App<br />
■ NEU! 1&1 Snapshot: Definieren<br />
Sie einfach einen Wiederherstellungszeitpunkt<br />
für Ihren Server.<br />
■ 24/7 Service und Support durch<br />
1&1 Server Expertenteam.<br />
AKTION NUR BIS 30.04.13<br />
0,– € *<br />
39, 99<br />
Aktionspreis<br />
für 3 Monate.*<br />
€/Monat*<br />
VOLLER ROOT-ZUGRIFF<br />
Komfort und Funktionsumfang eines Root<br />
Servers, mit dedizierten Ressourcen.<br />
HÖCHSTE FLEXIBILITÄT<br />
CPU, RAM und Festplattenspeicher<br />
unabhängig voneinander zubuchbar.<br />
Per Mausklick bis zu 99 virtuelle<br />
Maschinen zubuchbar–ohne Migration!<br />
VOLLE KOSTENKONTROLLE<br />
Absolute Kostentransparenz durch stundengenaue<br />
Abrechnung. Parallels ® Plesk Panel 11<br />
inklusive –ohne Domainbegrenzung.<br />
AUSFALLSICHER<br />
Redundant gespiegelte Speicher- und<br />
Recheneinheiten schützen Ihren Cloud-<br />
Server automatisch vor Ausfällen.<br />
0 26 02 / 96 91<br />
0800 / 100 668<br />
1und1.info<br />
* 1&1 Dynamic Cloud Server in den ersten 3 Monaten 0,– €/Monat, danach 39,99 €/Monat in der Basiskonfiguration. Performance Features für 0,01 €/Stunde und Einheit zubuchbar.<br />
Einrichtungsgebühr 39,– €. 12 Monate Min<strong>des</strong>tvertragslaufzeit. Preise inkl. MwSt.
EDITORIAL<br />
VERLOST<br />
Erfolgreiche Websites<br />
Schnell genug<br />
gibt's nicht!<br />
Wer eine eigene Website betreibt, kennt das Problem: Ohne<br />
Vorwarnung geht die Geschwindigkeit scheinbar grundlos in<br />
den Keller, obwohl gestern noch alles schnell und problemlos<br />
lief. <strong>Die</strong> Besucher sind genervt und kehren Ihrer Site den Rücken<br />
– mit kaum absehbaren Folgen. Leider ist die Fehlersuche<br />
zumeist äußerst mühsam und unter Umständen durchaus langwierig.<br />
Liegt es an der Datenbank, am Frontend oder hakt es<br />
im Backend? Unser Artikel ab Seite 44 hilft Ihnen bei der Suche<br />
nach Engpässen und verrät, wie Sie diesen in Zukunft erfolgreich<br />
aus dem Weg gehen und die Performance Ihrer Website<br />
wirkungsvoll optimieren.<br />
<strong>Die</strong> Customer Journey, zu deutsch „<strong>Reise</strong> <strong>des</strong> <strong>Kunden</strong>“, ist<br />
ein Begriff aus dem Marketing. Er beschreibt den Entscheidungsprozess<br />
eines <strong>Kunden</strong> von der Inspiration bis hin zum<br />
eigentlichen Kauf eines Produkts. Was es damit letztlich genau<br />
auf sich hat und wieso diese „<strong>Kunden</strong>reise“ auch für Ihren<br />
Online-Shop von größter Bedeutung ist, verrät Ihnen unser<br />
spannender Artikel ab Seite 52.<br />
Viel Spaß beim Lesen dieser Ausgabe wünscht<br />
Vielleicht haben Sie sich auch schon einmal<br />
gefragt, weshalb manche Websites<br />
erfolgreich sind und andere nicht.<br />
Wie gestaltet man einen Auftritt im<br />
Web, der gefunden und wahrgenommen<br />
und an den richtigen Stellen<br />
beworben wird? Suchmaschinenoptimierung,<br />
Usability, Online-Marketing und Nutzung von<br />
Social Media sind die vier großen Themenkomplexe,<br />
wenn es darum geht, mehr Besucher auf<br />
die eigene Website zu locken und mehr Traffic<br />
beziehungsweise Umsatz zu generieren. Das<br />
Buch „Erfolgreiche Websites” (Galileo Computing,<br />
ISBN 978-3-8362-1871-9, 34,90 Euro)<br />
gibt Antworten auf die großen Fragen der Verbesserung<br />
<strong>des</strong> eigenen Webauftritts.<br />
Sie haben eine gute Idee für ein Spiel<br />
und möchten wissen, wie Sie es mit<br />
HTML5 umsetzen? Jacob Seidelin zeigt<br />
Ihnen an einem typischen Puzzlespiel,<br />
was Sie wissen müssen: Vom Zeichnen<br />
<strong>des</strong> Spielfelds über Soundeffekte und Animationen<br />
bis zur Multiplayer-Unterstützung. <strong>Die</strong><br />
erforderlichen Grundlagen lernen Sie dabei nach<br />
und nach – ein paar Vorkenntnisse in den Webtechnologien<br />
und Javascript reichen aus, damit<br />
Sie schon bald Ihre eigenen Spiele entwickeln<br />
werden! <strong>Die</strong>ses Buch <strong>des</strong> Wrox-Verlages zeigt<br />
Ihnen ausführlich den Weg von der Spielidee<br />
zum Grundgerüst, wie Sie Browserunterstützung<br />
mit Modernizr sicherstellen und Native Apps mit<br />
PhoneGap erzeugen.<br />
Stefan Schasche<br />
Projektleiter<br />
sschasche@wekanet.de<br />
Machen Sie mit bei unserer Verlosung und<br />
gewinnen Sie unter<br />
www.internet-magazin.de/verlosung<br />
www.internet-magazin.de 3
SERVICE | Inhalt<br />
5/13<br />
Der Turbo fürs Stylesheet<br />
Compass basiert auf dem CSS-Präprozessor Sass und erleichtert das<br />
rasche Prototyping sowie die Weitergabe einzelner Komponenten als<br />
Compass-Plug-ins. Im Artikel erfahren Sie, wie Sie sich eine Compass-<br />
Umgebung einrichten und mit Compass arbeiten.<br />
S. 20<br />
Videos mit HTML5<br />
Ein Browser benötigen zur Wiedergabe<br />
von Videos künftig keinen<br />
Player mehr. Dank HTML5 werden<br />
Videos ohne Erweiterung direkt im<br />
Browser dargestellt.<br />
S. 26<br />
AKTUE LLE S<br />
News & Trends . . . . . . . . . . . . . . 6<br />
Trackback . . . . . . . . . . . . . . . . 18<br />
Spannende, interessante und witzige Fundstücke<br />
aus dem Web<br />
SPECIAL<br />
Compass CSS . . . . . . . . . . . . . . 20<br />
Der Turbo fürs Stylesheet<br />
W E BDE S I GN<br />
Videos mit HTML5 abspielen . . . 26<br />
Mit HTML5 Videos im Browser abspielen<br />
Rapid Responsive Prototyping . . 30<br />
Centurion: Ein Framework fürs Prototyping<br />
Googles intelligente <strong>Vorschau</strong> . . 34<br />
Google Rich Snippets optimal nutzen<br />
WEB E NTWICKLUNG<br />
XDEV-Framework intern . . . . . . . 37<br />
Entwicklung von Datenbankanwendungen<br />
Automatisieren mit Yeoman . . . 40<br />
Werkzeuge zur einfachen App-Erstellung<br />
Website-Tuning . . . . . . . . . . . . 44<br />
So optimieren Sie die Geschwindigkeit<br />
Alles selbst gemacht . . . . . . . . . 48<br />
Programmierung von Android-Widgets<br />
WEBBUSI N E SS<br />
<strong>Die</strong> <strong>Reise</strong> <strong>des</strong> <strong>Kunden</strong> . . . . . . . . 52<br />
Werbemaßnahmen präzise ausrichten<br />
Logistik im E-Commerce . . . . . . 58<br />
Den richtigen Logistiker finden<br />
Provider-Porträt . . . . . . . . . . . . 63<br />
Mittwald<br />
vServer im Wandel . . . . . . . . . . 64<br />
Aktuelle vServer-Angebote im Überblick<br />
4 0513 internet magazin
Inhalt | SERVICE<br />
Googles intelligente<br />
<strong>Vorschau</strong><br />
Googles Suchergebnisse werden<br />
dank der Rich Snippets informativer<br />
und emotional ansprechender. Doch<br />
was kann man mit der schnellen<br />
<strong>Vorschau</strong> noch alles anstellen und<br />
für wen lohnt sich der Einsatz<br />
dieser Technologie?<br />
S. 34<br />
Customer Journey<br />
Workshop<br />
<strong>Kunden</strong> wählen von der Inspiration<br />
bis zum Produktkauf sehr unterschiedliche<br />
Wege. Sind diese unbekannt,<br />
bleibt jede Werbemaßnahme<br />
allgemein und oberflächlich. Da ist<br />
präzises Targeting angesagt.<br />
S. 52<br />
Website-Tuning<br />
Welches ist der richtige Ansatzpunkt<br />
zur Performance-Optimierung<br />
einer Website? Hapert es am Frontend<br />
oder zwickt es doch eher in<br />
der Datenbank? In diesem Artikel<br />
finden Sie die Engpässe zielsicher<br />
und erfahren anhand zahlreicher<br />
Tipps, wie Sie die Geschwindigkeit<br />
Ihrer Website optimieren können.<br />
S. 44<br />
T I PPS & TRICKS<br />
Online-Recht. ...........70<br />
• Urheberrecht in der Wolke<br />
Maria DB. ..............72<br />
• Umsatteln auf die neue Datenbank<br />
Python . . . . . . . . . . . . . . . . 73<br />
• Applikationsleistung analysieren<br />
• Probleme mit virtualenv<br />
PHP ..................73<br />
• Eckdaten einer Videodatei ermitteln<br />
Cloudfront .............74<br />
• Videodistribution streamt nicht<br />
• Fehlerhafte Zugriffsrechte<br />
Logistik im<br />
E-Commerce<br />
Für den Erfolg eines Online-Shops<br />
sind zahlreiche Faktoren verantwortlich.<br />
Neben der ganz offensichtlichen<br />
Produktvielfalt und einer<br />
ansprechenden Darstellung <strong>des</strong><br />
Warensortiments gehören dazu auch<br />
die Prozesse rund um die Logistik.<br />
S. 58<br />
AWS ..................76<br />
• EC2-Instanzen reservieren<br />
• Weiterverkauf von Instanzen<br />
PHP, AWS ..............77<br />
• Skriptgesteuerte Streaming-URLs<br />
S ERVICE<br />
Editorial . . . . . . . . . . . . . . . . . 3<br />
Branchenverzeichnis . . . . . . . 79<br />
Impressum . . . . . . . . . . . . . . 82<br />
<strong>Vorschau</strong> . . . . . . . . . . . . . . . . 82<br />
www.internet-magazin.de 5
AKTUELLES | News<br />
Cloud Computing<br />
Riesiges Wachstum<br />
Der Markt für Cloud Computing<br />
wächst in Deutschland im Jahr 2013<br />
voraussichtlich um 47 Prozent auf<br />
7,8 Milliarden Euro. Das berichtet<br />
der Hightech-Verband Bitkom auf<br />
Basis aktueller Prognosen der Experton<br />
Group. Danach entfällt mit<br />
4,6 Milliarden Euro der Großteil <strong>des</strong><br />
Marktes auf Cloud-<strong>Die</strong>nste für Unternehmen.<br />
Das Wachstum liegt in<br />
diesem Segment bei 53 Prozent. Der<br />
Umsatz mit Cloud-Services für Privatkunden<br />
steigt im laufenden Jahr<br />
um 39 Prozent auf 3,2 Milliarden<br />
Euro. Nach den Ergebnissen <strong>des</strong><br />
„Cloud Monitors 2013“ von<br />
Bitkom und der Wirtschaftsprüfungs-<br />
und Beratungsgesellschaft<br />
Kpmg nutzten<br />
Ende <strong>des</strong> Jahres 2012 in<br />
Deutschland 37 Prozent<br />
aller Unternehmen Cloud<br />
Computing. Im Jahr zuvor<br />
waren es erst rund 28 Prozent. <strong>Die</strong><br />
wichtigste Anforderung der Nutzer<br />
an die Cloud-Service-Provider ist<br />
für drei Viertel der Befragten die<br />
Integrationsfähigkeit der eigenen<br />
IT-Lösungen in das Cloud-Angebot.<br />
Zwei Drittel der Befragten fordern,<br />
dass der Anbieter sein Rechenzentrum<br />
in Deutschland hat. Wichtig<br />
sei vor allem, dass Cloud-Lösungen<br />
sicher sind und bei der Verarbeitung<br />
personenbezogener Daten der Datenschutz<br />
gewährleistet wird.<br />
www.bitkom.org<br />
Mehr Engagement<br />
Verlegerverbände appellieren<br />
an EU-Institutionen<br />
<strong>Die</strong> deutschsprachigen Verlegerverbände haben heute<br />
in Wien in einer gemeinsamen Erklärung die Europäische<br />
Kommission, den Rat und das Europäische<br />
Parlament aufgefordert, wesentliche medienpolitische<br />
Vorhaben entschiedener voranzutreiben.<br />
Dazu haben die<br />
deutschen, schweizerischen,<br />
luxemburgischen und österreichischen<br />
Verlagsvertreter<br />
einen Forderungskatalog mit<br />
fünf Eckpunkten vorgelegt.<br />
Im Einzelnen forderten die<br />
Verlegerverbände, den Mehrwertsteuersatz<br />
auf Online-<br />
Zeitungsausgaben zu senken, die Medienkompetenz<br />
von Kindern und Jugendlichen zu stärken, die Online-Aktivitäten<br />
<strong>des</strong> öffentlich-rechtlichen Rundfunks<br />
kritisch zu prüfen, Leistungsschutzrechte für Presseverlage<br />
einzuräumen und jüngst bekannt gewordenen<br />
Plänen, eine europäische Medienaufsicht einzuführen,<br />
eine klare Absage zu erteilen.<br />
www.bdzv.de<br />
Telekommunikation<br />
Netzausbau hat Priorität<br />
<strong>Die</strong> Nachfrage nach großen Bandbreiten steigt durch den<br />
zunehmenden Konsum von Videos über das <strong>Internet</strong>, die<br />
Verwendung datenintensiver Apps und den Siegeszug<br />
<strong>des</strong> Cloud Computing. <strong>Die</strong> großen Mobilfunkunternehmen<br />
stellen <strong>des</strong>wegen ihre UMTS- und HSPA-Netze auf<br />
die leistungsfähigere LTE-Technologie um. Auch Festnetze<br />
mit hohen Datenraten, wie Glasfaser, VDSL und das vom<br />
klassischen Kabelfernsehen bekannte Koaxialnetz, sollen<br />
weiter wachsen. Rund ein Viertel ihrer Umsätze wollen<br />
deutsche Telekommunikationsunternehmen in die Infrastruktur<br />
investieren.<br />
Den aufwändigen Ausbau der Hochgeschwindigkeitsnetze<br />
rentabel zu finanzieren wird aber immer schwieriger. <strong>Die</strong>ser<br />
Herausforderung begegnen die Netzbetreiber mit unterschiedlichen<br />
Strategien, insbesondere durch brancheninterne<br />
und branchenübergreifende Kooperationen. Um die<br />
Einnahmenseite zu verbessern, vertreiben einige Festnetzund<br />
Mobilfunkanbieter zum Beispiel ihre Produkte gemeinsam<br />
unter der Marke eines Partners. Um auf der Ausgabenseite<br />
Kosten zu sparen, wollen vor allem regionale<br />
Telekommunikationsunternehmen die Zusammenarbeit<br />
mit Energie- und Wasserversorgern weiter verstärken.<br />
www.steria.com<br />
6 0513 internet magazin
Hetzner Online unterstützt mit der<br />
Verwendung von 100% regenerativem<br />
Strom aktiv den Umweltschutz.<br />
Entscheiden Sie sich gemeinsam<br />
mit uns für eine saubere Zukunft.
AKTUELLES | News<br />
Strato<br />
Cloud-Speicher um Webgalerie erweitert<br />
Strato hat eine neue Funktion namens<br />
Share Gallery in seinen Online-Speicher<br />
HiDrive integriert. Mit<br />
der Share Gallery können Nutzer direkt<br />
im Online-Dateimanager<br />
gespeicherte<br />
Bilder markieren<br />
und zu persönlichen<br />
Webalben zusammenstellen.<br />
Bilder aus Facebook<br />
oder von der lokalen Festplatte <strong>des</strong><br />
PC oder Mac lassen sich ebenfalls<br />
in diese Alben importieren. <strong>Die</strong> Zahl<br />
der Alben, die erstellt werden können,<br />
ist unbegrenzt und die Anzahl<br />
der Bilder darin ist von der Größe<br />
<strong>des</strong> jeweiligen Online-Speichers<br />
Modern.IE<br />
Kompatibilität testen<br />
Microsoft bietet jetzt kostenlose Tools, mit denen jeder<br />
Webentwickler seine online gestellte Website auf<br />
Kompatibilitätsprobleme<br />
prüfen kann.<br />
Im Mittelpunkt der<br />
Überprüfung steht<br />
natürlich der <strong>Internet</strong><br />
Explorer, der insbesondere<br />
bei älteren<br />
Versionen oft zu unerwarteten<br />
Ergebnissen<br />
bei der Darstellung der eigenen Site führt. Aber<br />
auch die Kompatibilität mit anderen Browsern wird<br />
getestet. Zudem macht das Tool auch Verbesserungsvorschläge<br />
zu den neuen Features von Windows 8 wie<br />
zum Beispiel der Touchsteuerung. Zudem kann jeder,<br />
der über Modern.IE BrowserStack aufruft, diesen Service<br />
drei Monate kostenlos testen. Mit BrowserStack<br />
können Entwickler umfangreiche Browsertests durchführen<br />
und verschiedenste Betriebssysteme (Windows,<br />
Mac, iOS, Android) emulieren.<br />
www.modern.ie<br />
abhängig. Je<strong>des</strong> Album kann mit anderen<br />
geteilt werden; direkt aus den<br />
Alben heraus können Nutzer eine<br />
Facebook-Nachricht schreiben und<br />
auswählen, wo der<br />
Albumlink gepostet<br />
werden soll.<br />
Damit nicht jeder<br />
alle Fotos sehen<br />
kann, können HiDrive-Nutzer die<br />
Sichtbarkeit ihrer Alben einschränken.<br />
Wird für ein Album die Erlaubnis<br />
zum Download erteilt, können<br />
die Bilder von anderen in Originalauflösung<br />
heruntergeladen werden.<br />
www.strato.de/online-speicher/<br />
sharegallery<br />
HTML 5 Spiele<br />
Construct 2<br />
Game Jam<br />
<strong>Die</strong> Community-Seite Newsground<br />
veranstaltet einen Game<br />
Jam. Das Thema <strong>des</strong> Jams ist „Touch“, also die Optimierung<br />
der Steuerung für Mobilgeräte. <strong>Die</strong> Spiele<br />
werden mit dem HTML5-Game-Editor Construct<br />
2 erstellt. Construct 2 richtet sich in erster Linie an<br />
Nichtprogrammierer und arbeitet mit Drag-und-Drop<br />
und Event-Listener-Funktionen. Construct 2 ist in drei<br />
verschiedenen Versionen erhältlich: <strong>Die</strong> Free Edition<br />
ist kostenlos, enthält aber nicht alle Funktionen und<br />
ist in der die Komplexität der zu erstellenden Projekte<br />
in puncto Events, Layer und Effekte beschränkt. <strong>Die</strong><br />
Personal Edition verfügt über den vollen Funktionsumfang<br />
und die Business Edition kann auch zu kommerziellen<br />
Zwecken eingesetzt werden.<br />
www.scirra.com<br />
WDC 2013<br />
Konferenz für<br />
Webentwickler<br />
<strong>Die</strong> Web Developer Conference (WDC),<br />
die Konferenz für Webentwickler, findet<br />
vom 24. bis 27. Juni 2013 im NCC<br />
Ost in Nürnberg statt und richtet sich<br />
an Entwickler von Webapplikationen,<br />
Agenturen und Webmaster. Abgedeckt<br />
werden sämtliche Themen von HTML5<br />
über Frameworks und Javascript bis zu<br />
PHP. Auch zu Soft Skills werden Sessions<br />
angeboten. An den ersten drei Tagen<br />
können Besucher aus zahlreichen<br />
Vorträgen wählen (jeder Vortrag dauert<br />
60 Minuten). Der vierte Tag ist den<br />
Workshops vorbehalten.<br />
<strong>Die</strong>ses Jahr findet die Web Developer<br />
Conference als Teil der Developer<br />
Week statt; dazu gehören auch die Mobile<br />
Developer Conference sowie die<br />
.NET Developer Conference.<br />
www.web-developer-conference.de<br />
8 0513 internet magazin
News | AKTUELLES<br />
Roomsurfer<br />
Weltweit bei<br />
Freunden übernachten<br />
Das neue Social Travel Network bringt <strong>Reise</strong>nde und Gastgeber<br />
mit ähnlichen Interessen zusammen. Individuell reisen,<br />
Freunde finden und sich überall auf der Welt zu Hause<br />
fühlen – das ist das Konzept von Roomsurfer. Über die<br />
Plattform können Globetrotter nicht nur einen Schlafplatz<br />
suchen, sondern vor allem auch Gleichgesinnte aus der<br />
ganzen Welt treffen. Ein gemeinsam mit dem Deutschen<br />
Forschungszentrum für Künstliche Intelligenz (DFKI) entwickeltes<br />
Matching-Verfahren macht das möglich. Neben<br />
den Angaben aus den Profilen der Roomsurfer werden<br />
dafür Informationen über Vorlieben und Interessen aus<br />
sozialen Netzwerken und <strong>Die</strong>nsten wie zum Beispiel Facebook,<br />
LinkedIn. Google+, Spotify oder Foursquare herangezogen.<br />
Der ermittelte Matching-Faktor für Gast und<br />
Gastgeber, den auch beide sehen, gibt dann an, wie gut<br />
die beiden zusammenpassen.<br />
www.roomsurfer.com<br />
GovData<br />
Zentraler Zugang<br />
zu Verwaltungsdaten<br />
GovData bietet einen einheitlichen, zentralen Zugang zu<br />
Verwaltungsdaten aus Bund, Ländern und Kommunen.<br />
Ziel ist es, diese Daten an einer Stelle zu bündeln und so<br />
einfacher nutzbar zu machen. Über die <strong>Internet</strong>seite können<br />
Bürger und Unternehmen staatliche Daten nicht nur<br />
abfragen, sondern dürfen sie auch gezielt verarbeiten und<br />
verwenden. Dabei handelt es sich um datenschutzrechtlich<br />
unbedenkliche Informationen<br />
wie Statistiken,<br />
Geo- und Umweltdaten<br />
aus verschiedenen Institutionen<br />
auf Bun<strong>des</strong>-, Lan<strong>des</strong>- und kommunaler Ebene.<br />
<strong>Die</strong>se können über eine einheitliche Plattform abgefragt<br />
werden. Derzeit steht eine Public-Betaversion <strong>des</strong> Portals<br />
online, das im Rahmen der Möglichkeiten schrittweise<br />
ausgebaut und optimiert werden soll. Das Portal wird im<br />
Rahmen <strong>des</strong> Testbetriebs laufend evaluiert und 2014 soll<br />
voraussichtlich die Entscheidung über seine Fortführung in<br />
Abstimmung mit den Ländern getroffen werden.<br />
www.govdata.de<br />
*zzgl. einmalige Einrichtungsgebühr von 139,- EUR<br />
Angebot für Gewerbetreibende, zzgl. 19% MwSt.<br />
Managed-Server-<br />
Vollkomfort.<br />
Profitieren Sie jetzt von einem Managed Server und geben Sie die<br />
individuelle Server-Administration in die Hände <strong>des</strong> Experten-Teams<br />
von internet24. Der technische Support ist rund um die Uhr telefonisch<br />
und per E-Mail für Sie erreichbar. Bei uns beginnt der Support<br />
nicht im Call-Center, sondern bei einem direkten Ansprechpartner.<br />
<strong>Die</strong>nst- und Lastmonitoring sowie Entstörung (24/7)<br />
Update- und Patchmanagement<br />
Individuelle Konfiguration<br />
Flexibel skalierbar (Loadbalancing, Hochverfügbarkeit)<br />
Persönliche Ansprechpartner / Experten-Service<br />
Partnerprogramme für<br />
Reseller und Vermittler<br />
ab 169,00 EUR* / Monat<br />
www.internet-magazin.de<br />
9<br />
Telefon +49 (0)3 51 / 211 20 40<br />
| info@ internet24.de
AKTUELLES | News<br />
1&1 Mobile<br />
Flexible Highspeed-Datenpakete<br />
1&1 bietet ab sofort allen Nutzern der<br />
1&1-Mobile-Tarife neue optionale Highspeed-Pakete.<br />
Damit kann das Highspeed-Kontingent<br />
aufgestockt werden,<br />
wenn der schnelle Inklusiv-Traffic <strong>des</strong><br />
jeweiligen Tarifs verbraucht ist. Sobald<br />
75 beziehungsweise 100 Prozent <strong>des</strong> Inklusivkontingents<br />
verbraucht sind, erhalten<br />
alle 1&1-All-Net-Flat-Nutzer künftig<br />
eine SMS, die sie darüber informiert und<br />
das Buchen einer Erweiterung<br />
per SMS anbietet:<br />
ein Highspeed-Paket über<br />
500 MByte für 2,99 Euro.<br />
1&1-Notebook- und Tablet-Flat-<strong>Kunden</strong><br />
können demnächst zwischen zwei Datenpaketen<br />
zur Erweiterung <strong>des</strong> Highspeed-Inklusivkontingents<br />
wählen: Das<br />
Highspeed-Paket 500 umfasst für 2,99<br />
Euro 500 MByte, das Highspeed-Paket<br />
2000 bietet 2.000 MByte für<br />
9,99 Euro. Für alle genannten<br />
Pakete gilt, dass sie unmittelbar<br />
nach Buchung zur<br />
Verfügung stehen und jeweils die Bandbreite<br />
<strong>des</strong> gebuchten Tarifs geliefert wird.<br />
<strong>Die</strong> Pakete können beliebig oft bestellt<br />
und bis Ablauf ihres Datenabrechnungszeitraums<br />
genutzt werden.<br />
www.1und1.de<br />
GfK & OpSec<br />
Studie zur Nutzung von<br />
Sharehostern<br />
Eine von der GfK und OpSec durchgeführte Studie kam zu dem Ergebnis,<br />
dass Sharehoster vor allem für illegale Zwecke genutzt werden.<br />
Auf Basis der ermittelten Nutzungen soll der Anteil sogar bei 96,5<br />
Prozent liegen. Am beliebtesten sind Spielfilme und Serien, mehr<br />
als 50 Prozent der Inhalte entfallen auf diese beiden Kategorien. Mit<br />
rund 17 Prozent belegt Pornographie den dritten Platz und knapp 10<br />
Prozent entfallen<br />
auf den<br />
Bereich Musik.<br />
Bei den<br />
legalen Nutzungen<br />
belegen<br />
Software<br />
und Spiele-<br />
Mod die Plätze<br />
eins und<br />
zwei. <strong>Die</strong><br />
Studie schätzt,<br />
dass etwa 16<br />
Prozent der deutschen <strong>Internet</strong>privatnutzer auf min<strong>des</strong>tens einem<br />
der untersuchten Sharehoster aktiv sind. Untersucht wurden die<br />
Sharehoster Share-Online.biz, Uploaded und Rapidshare. Rapidshare<br />
hat zwischenzeitlich zu der Studie Stellung genommen. Ihrer<br />
Einschätzung zufolge wurden hier im Vorfeld zu stark vereinfachte<br />
Annahmen getroffen, die zu einem Ergebnis führten, das den Auftraggebern<br />
der Studie entgegen kommt.<br />
www.ivd-online.de<br />
Host Europe<br />
Nachhaltigkeitsbericht<br />
Host Europe hat nach 2009 jetzt seinen zweiten Nachhaltigkeitsbericht<br />
veröffentlicht, der Maßnahmen für<br />
einen energieeffizienteren und klimaneutralen Rechenzentrumsbetrieb<br />
dokumentiert. Für ihre mehr<br />
als 200.000 Geschäfts- und Privatkunden betreibt<br />
die Host Europe<br />
GmbH über<br />
9.000 Server in<br />
zwei Rechenzentren<br />
in Köln.<br />
<strong>Die</strong> hierfür benötigte Energie (24 GWh/Jahr) wird<br />
vollständig aus erneuerbaren Energiequellen gedeckt<br />
und die Abwärme <strong>des</strong> Rechenzentrums nutzt das Unternehmen<br />
zum Heizen der darüber liegenden Büroräume.<br />
Fortschritte erzielte Host Europe auch bei<br />
der „Power Usage Effectiveness“ (PUE). Der PUE-Wert<br />
gibt an, wie viel Energie effektiv für den Betrieb der<br />
Serverhardware genutzt wird in Relation zur Energiemenge,<br />
die vor allem für Peripheriegeräte sowie die<br />
Klimatisierung aufgewendet werden muss. Das ideale<br />
Rechenzentrum hätte einen PUE-Wert von 1. Während<br />
einer Studie <strong>des</strong> Uptime Institute zufolge die untersuchten<br />
Rechenzentren eine durchschnittliche PUE<br />
von 1,8 hatten, konnte Host Europe den PUE seines<br />
neuen Rechenzentrums von 1,64 im Jahre 2009 auf<br />
1,38 Ende 2011 senken.<br />
www.hosteurope.de/download/Host_Europe_<br />
Nachhaltigkeitsbericht.pdf<br />
10 0513 internet magazin
Homepage<br />
Professional<br />
<strong>Die</strong> 1blu-Homepage Professional ist die ideale<br />
Lösung für komplexe Webanwendungen und<br />
anspruchsvolle <strong>Internet</strong>präsenzen. Das Angebot<br />
gilt nur bis 30.04.2013!<br />
1blu-Homepage Professional<br />
> 3 Inklusiv-Domains<br />
> 12 GB Webspace<br />
> Unbegrenzter Traffic<br />
> 600 E-Mail-Adressen<br />
> 10 GB E-Mail-Speicher<br />
> Joomla, Wordpress, Typo3 vorinstalliert<br />
> 20 FTP-Zugänge<br />
> 20 MySQL-Datenbanken, PHP5<br />
> Telefon- und E-Mail-Support<br />
5,90 ¤<br />
1,-<br />
¤ /Monat*<br />
Angebot bis 30.04.2013!<br />
* Preis/Monat inkl. 19% MwSt. Angebot verfügbar ab Anfang April 2013 (Näheres unter www.1blu.de). <strong>Die</strong> einmaligeige<br />
Einrichtungsgebühr von jeweils 9,90 € entfällt bei Bestellung bis 30.04.2013. Bei Bestellung bis 30.04.2013 1blu-Homepage<br />
Professional für 1,- €/Monat für die jeweils erste Vertragslaufzeit von 6 Monaten, danach regulärer Preis von 5,90 €/Monat.<br />
Verträge jeweils jederzeit kündbar mit einem Monat Frist zum Vertragsende. Bei Software-Bestellung 7,90 € Versandkosten.<br />
** Preis/Monat inkl. 19% MwSt. Angebote verfügbar ab Anfang April 2013 (Näheres unter www.1blu.de). Bei Bestellung bis<br />
20.04.2013 jeder 1blu-Server mit einer Vertragslaufzeit von 12 Monaten für 1,- €/Monat in den ersten 6 Monaten; danachach<br />
jeweils regulärer Preis/Monat (z.B. 1blu-vServer LP 7,90 €, 1blu-vServer 8P 49,- €). Es fällt keine Einrichtungsgebühr bei einer<br />
Vertragslaufzeit von 12 Monaten an. Verträge jeweils jederzeit kündbar mit einem Monat Frist zum Ende der Vertragslaufzeit. Alle<br />
Preisinformationen und Angebote für andere Vertragslaufzeiten siehe www.1blu.de. Bei Software-Bestellung 7,90 € Versandkosten.<br />
n.<br />
030 - 20 18 10 00 | www.1blu.de<br />
1blu-vServer für 1,-¤/Monat **<br />
> Bis zu 8 CPU-Kerne nutzen<br />
> Bis zu 24 GB RAM garantiert, 48 GB RAM max.<br />
> Bis zu 6 IP-Adressen, 800 GB HDD, Traffic inklusive<br />
> cloud-ready: CPU, RAM, HDD flexibel buchen
AKTUELLES | News<br />
Microsoft Surface<br />
Lediglich 1,5 Millionen<br />
Stück verkauft<br />
Bloomberg will aus gut informierten Kreisen konkrete<br />
Verkaufszahlen erfahren haben. Laut einem<br />
Bericht <strong>des</strong> Wirtschaftsmagazins hat Microsoft bisher<br />
rund 1,5 Millionen Surface Tablets verkauft. Davon<br />
sollen gut eine Million Stück auf das Surface mit<br />
Windows RT entfallen und etwa 400.000 Exemplare<br />
auf das teurere und später gestartete Surface mit<br />
Windows 8 Pro. Ursprünglich hatte das Unternehmen<br />
mit rund zwei Millionen verkauften Surface RT<br />
Tablets im letzten Quartal <strong>des</strong> Vorjahres gerechnet<br />
und insgesamt drei Millionen Surface RT geordert.<br />
Im Vergleich dazu: Apple konnte im selben Quartal<br />
22,9 Millionen iPads verkaufen. <strong>Die</strong> weltweiten Tablet-Auslieferungen<br />
erreichten 2012 laut IDC 128,3<br />
Millionen Stück. Apples iPad hat damit 51 Prozent<br />
<strong>des</strong> Marktes für sich beansprucht.<br />
www.microsoft.com<br />
Top-Level-Domains<br />
.basketball, .köln oder .money<br />
In diesem Jahr gehen die ersten der sogenannten neuen Top-Level-Domains<br />
an den Start. Neben klassischen Domainendungen<br />
wie .de und .com wird es damit in Zukunft eine Vielzahl weiterer<br />
Endungen geben – insgesamt wurden bei der <strong>Internet</strong>verwaltung<br />
ICANN 1930 Bewerbungen für eine neue TLD eingereicht. Mit<br />
den neuen TLDs wird auf den nach wie vor wachsenden Bedarf<br />
an <strong>Internet</strong>adressen reagiert. Mit den nTLDs soll dieser Engpass<br />
behoben werden. Ob .basketball, .köln oder .money: Künftig soll<br />
es für so gut wie jeden Lebensbereich eine eigene, passende Domainendung<br />
geben. Voraussichtlich werden die ersten Endungen<br />
der neuesten Generation im Herbst 2013 zur Registrierung bereitstehen.<br />
Eine kostenlose und unverbindliche Vorbestellung ist aber<br />
schon jetzt möglich. Das Unternehmen Checkdomain bietet zum<br />
Beispiel die Möglichkeit einer kostenlosen und unverbindlichen<br />
Vorbestellung, um sich eine neue Domain zu sichern.<br />
www.checkdomain.de<br />
Cyber-Sicherheitsstrategie<br />
Friedrich stellt IT-Sicherheitsgesetz vor<br />
Der Entwurf <strong>des</strong> IT-Sicherheitsgesetzes<br />
enthält drei Schwerpunkte zur<br />
Verbesserung der IT-Sicherheit. <strong>Die</strong><br />
Betreiber kritischer Infrastrukturen<br />
werden zu einer Verbesserung <strong>des</strong><br />
Schutzes der von ihnen eingesetzten<br />
Informationstechnik und zur Verbesserung<br />
ihrer Kommunikation mit<br />
dem Staat bei IT-Vorfällen verpflichtet.<br />
Telemediendiensteanbieter, die<br />
eine Schlüsselrolle für die Sicherheit<br />
<strong>des</strong> Cyberraums haben,<br />
werden stärker<br />
als bisher hierfür<br />
in die Verantwortung<br />
genommen.<br />
Das Bun<strong>des</strong>amt<br />
für<br />
Sicherheit in<br />
der Informationstechnik<br />
wird in seinen Aufgaben<br />
und Kompetenzen ge-stärkt. Bereits<br />
heute sind zwei Milliarden Menschen<br />
global vernetzt. In Deutschland<br />
verfügen derzeit 78 Prozent<br />
der Haushalte über einen <strong>Internet</strong>zugang;<br />
Smartphones und Tablets ermöglichen<br />
den permanenten Netzzugang<br />
zu jeder Zeit und an jedem<br />
Ort. Einer Studie nach sind schon<br />
heute 50 Prozent aller deutschen<br />
Unternehmen abhängig vom <strong>Internet</strong>.<br />
Das führt aber auch dazu, dass<br />
einem deutschen Großunternehmen<br />
pro Jahr im Schnitt 4,8 Millionen<br />
Euro Kosten durch Cyberkriminalität<br />
entstehen. Täglich werden 20.000<br />
Webseiten mit Schadprogrammen<br />
infiziert, 5-10 Spionageangriffe auf<br />
die Bun<strong>des</strong>verwaltung registriert.<br />
www.bmi.bund.de<br />
TYPO3-Konferenz<br />
Inspiring Flow<br />
im April<br />
Im Kesselhaus in Kolbermoor bei Rosenheim<br />
findet am 19. und 20. April 2013<br />
ein internationaler Event rund um das<br />
PHP-Framework TYPO3 Flow statt. Im<br />
Rahmen der Veranstaltung werden insgesamt<br />
vier Workshops, zwei einen Tag vor<br />
und zwei einen Tag nach der Konferenz,<br />
angeboten. <strong>Die</strong> Konferenz, die in diesem<br />
Jahr zum zweiten Mal stattfindet, bietet<br />
eine Reihe von englischsprachigen Vorträgen.<br />
Zu den Sprechern gehören unter<br />
anderen Core-Entwickler Robert Lemke,<br />
PHP-Experte Stefan Priebsch sowie<br />
TYPO3-Community-Manager Ben van ‘t<br />
Ende. <strong>Die</strong> Registrierung für die Konferenz<br />
startet am Freitag den 19. April. <strong>Die</strong> Vorträge<br />
beginnen um 9 Uhr 30. Am Samstag<br />
um 17 Uhr schließt die Veranstaltung.<br />
www.inspiring-flow.com<br />
12 0513 internet magazin
1&1 ALL-NET-FLAT<br />
D-NETZ QUALITÄT ZUM BESTEN PREIS!<br />
FLAT<br />
FESTNETZ<br />
FLAT<br />
FLAT<br />
19, 99<br />
29, 99<br />
0,– €* NUR FÜR KURZE ZEIT!<br />
Alles komplett: 1&1 All-Net-Flat für<br />
19,99 €/Monat inklusive Samsung Galaxy.*<br />
ALLE<br />
HANDY-NETZE<br />
INTERNET<br />
99<br />
€/Monat*<br />
Sofort<br />
starten:<br />
1 NACHT<br />
OVERNIGHT-<br />
LIEFERUNG<br />
In Ruhe<br />
ausprobieren:<br />
1 MONAT<br />
TESTEN<br />
Defekt? Morgen<br />
neu bei Ihnen:<br />
1 TAG<br />
AUSTAUSCH<br />
VOR ORT<br />
1und1.de<br />
0 26 02 / 96 96<br />
*1&1 All-Net-Flat Special in den ersten 12 Monaten für 19,99 €/Monat, danach 29,99 €/Monat, inklusive Smartphone Samsung Galaxy Ace Plus. Einmaliger Bereitstellungspreis 29,90 €, keine Versandkosten.<br />
24 Monate Min<strong>des</strong>tvertragslaufzeit.
AKTUELLES | News<br />
Cebit 2013<br />
Stärkste Veranstaltung seit Jahren<br />
Apple hat heute bekanntgegeben,<br />
dass die Downloads von iTunes-U-<br />
Inhalten eine Milliarde übertroffen<br />
haben. iTunes U bietet den momentan<br />
weltweit größten Online-<br />
Katalog für kostenlose Lerninhalte<br />
von Hochschulen, Bibliotheken<br />
und Museen. Mehr als 1.200 Universitäten<br />
und weiterführende<br />
Schulen sowie 1.200 Grundschulen<br />
und Bezirke stellen über 2.500<br />
öffentliche und tausende private<br />
Kurse bereit, die Künste, Wissenschaften,<br />
Gesundheit und Medizin,<br />
Bildung, Wirtschaft und mehr<br />
umfassen. Führende Universitäten<br />
wie Duke, Yale, Cambridge, MIT<br />
und Oxford bauen ihre Reichweite<br />
kontinuierlich aus, indem sie mehr<br />
<strong>Die</strong> Cebit als weltweit wichtigste Veranstaltung<br />
für die digitale Wirtschaft hat in<br />
diesem Jahr weiter an Qualität gewonnen.<br />
„Das internationale Geschäft<br />
stand klar im Vordergrund“,<br />
sagte Frank<br />
Pörschmann, Vorstand der<br />
Deutschen Messe AG, am<br />
Samstag zum Abschluss<br />
der Cebit 2013 in Hannover.<br />
„Ein gestiegener Fachbesucheranteil<br />
von mehr<br />
als 84 Prozent, eine starke Beteiligung aus<br />
gut 120 Nationen und so viele IT-Entscheider<br />
und Einkaufschefs wie seit Langem nicht<br />
mehr haben die Cebit 2013 zur hochwertigsten<br />
Veranstaltung seit Jahren gemacht.<br />
In Hannover ging es in den vergangenen<br />
fünf Tagen um internationale Geschäfte und<br />
Vernetzung.“ Einhellig zeigten sich die Aussteller<br />
mit ihren Ergebnissen der Cebit sehr<br />
zufrieden. Insbesondere die Unternehmen,<br />
die ihren Auftritt sorgfältig vorbereitet hatten,<br />
berichteten, dass sie<br />
ihre Zielwerte um mehr<br />
als 50 Prozent übertroffen<br />
haben. Insgesamt blieb<br />
die Zahl der Geschäftsgespräche<br />
während der fünftägigen<br />
Veranstaltung mit<br />
mehr als sieben Millionen<br />
auf dem hohen Niveau <strong>des</strong><br />
Vorjahres stabil. <strong>Die</strong> Reichweite im <strong>Internet</strong><br />
weitete sich – auch durch soziale Medien<br />
– weltweit deutlich aus. Pörschmann: „Wer<br />
in Hannover dabei ist, wird zum weltweiten<br />
Thema in der Netzgemeinde. Ein Millionenpublikum<br />
beteiligte sich aktiv im Netz an<br />
den Themen rund um die Cebit.“<br />
www.cebit.de<br />
iTunes U-Inhalte<br />
Eine Milliarde Downloads übertroffen<br />
als 100.000 Studenten in einzelne<br />
U-Kurse immatrikulieren. Über<br />
60 Prozent der Downloads der<br />
iTunes- U-App wurden außerhalb<br />
der USA ausgeführt. iTunes U gibt<br />
Schulen jeglicher Größe<br />
die Möglichkeit, ihre<br />
Inhalte mit einem weltweiten<br />
Publikum zu teilen.<br />
Pädagogen können<br />
U-Kurse in 30 Ländern<br />
erstellen; kürzlich hinzugekommen<br />
sind Brasilien, Südkorea, Türkei<br />
und die Vereinig- ten Arabischen<br />
Emirate. Auf diese Kurse und andere<br />
Bildungsinhalte kann über<br />
die iTunes-U-App in 155 Ländern<br />
zugegriffen werden.<br />
www.apple.com/de/itunes<br />
• • • TICKER • • •<br />
■ Dropbox kauft Mailbox<br />
Der Cloud-Speicher-Anbieter<br />
Dropbox übernimmt Orchestra,<br />
den App-Entwickler, der<br />
hinter dem Programm Mailbox<br />
steht. Ein Preis für den<br />
Kauf wurde nicht genannt.<br />
www.dropbox.com<br />
■ Green-IT: Infos für Unternehmen<br />
Interessierte erhalten auf<br />
der Website umfangreiches<br />
Basiswissen zu Green IT. Zudem<br />
gibt es Anwendungsbeispiele<br />
aus der Praxis, wie<br />
Unternehmen ihr Energiemanagement<br />
durch Green<br />
IT verbessert haben. Unterstützt<br />
wird das Angebot der<br />
Plattform durch Broschüren<br />
und Studien.<br />
www.green-it-wegweiser.de<br />
■ Social Gaming verstehen<br />
Online-Spiele in sozialen<br />
Netzwerken sind mit einem<br />
Branchenumsatz von 8,2<br />
Milliarden Euro im Jahr 2012<br />
und 750 Millionen Nutzern<br />
weltweit ein bedeutender<br />
Wirtschaftszweig. Bis jetzt<br />
gab es wenig fundiertes Material<br />
über diese Thematik.<br />
<strong>Die</strong>se Lücke hat Dr. Günter<br />
Schmid, Unternehmensberater<br />
und ehemaliger CFO<br />
der bwin-Gruppe, gemeinsam<br />
mit Dr. Thomas Talos<br />
und Nicholas Aquilina mit<br />
dem Buch „Social Gaming<br />
in Europe“ geschlossen.<br />
produkte.lexisnexis.at/<br />
Social_Gaming_in_Europe<br />
14 0513 internet magazin
Überall zu Hause<br />
Das Heimnetz mit FRITZ!<br />
FRITZ!Box 7390<br />
<strong>Die</strong> 1. Wahl<br />
im Heimnetz<br />
Wir danken allen Lesern, die<br />
AVM wiederholt zur<br />
Nr.1gewählt<br />
haben! Besonders freuen wir<br />
uns über 28.000<br />
Stimmen, für<br />
die FRITZ!-Produkte in gleich<br />
zwei Kategorien die erste<br />
Wahl im Heimnetz sind.<br />
Höchstleistung und Komfort für Heimnetz und <strong>Internet</strong>!<br />
Mit Topausstattung und innovativer Technik bringt FRITZ!Box 7390<br />
eine beeindruckende Funktionsvielfalt an jeden DSL-Anschluss<br />
und erfüllt zuverlässig alle Kommunikationswünsche.<br />
Vielfach ausgezeichnet und von der Fachpresse empfohlen.<br />
Über DSL mit bis zu 100 MBit/s rasant im <strong>Internet</strong> unterwegs<br />
Flexibles Dual-WLANNmit 2x300 MBit/s gleichzeitig<br />
Voller Telefonkomfort mit Telefonanlage und DECT-Basis<br />
USB-Drucker und -Speicher (NAS) im gesamten Heimnetz<br />
FRITZ!OS mit Mediaserver, MyFRITZ!, Cloud-Kontakten und mehr<br />
Mehr erfahren unter avm.de/fritzbox<br />
TESTSIEGER<br />
GUT (1,6)<br />
FRITZ!Box<br />
7390<br />
ImTest:<br />
12 WLAN-Router<br />
Ausgabe<br />
03/2012<br />
03/2011<br />
„Der derzeit beste<br />
WLAN-Router“<br />
Und 68 weitere herausragende Auszeichnungen!<br />
13/006<br />
avm.de<br />
AVM GmbH · Alt-Moabit 95 · 10559 Berlin · Telefon 030 39976-0·info@avm.de
VICTOR 2013<br />
Das Fest<br />
der Sieger<br />
Victor<br />
2013<br />
Zum ersten Mal waren alle Leser der IT-Zeitschriften<br />
von WEKA gemeinsam aufgerufen, die besten Firmen<br />
aus 24 Kategorien zu wählen. Am 21. März wurden die<br />
Preise im feierlichen Rahmen überreicht.<br />
Fulminanter Schlusspunkt <strong>des</strong> Abends:<br />
<strong>Die</strong> Gewinner <strong>des</strong> Victor 2013 versammelten<br />
sich zum Gruppenbild.<br />
Gastgeber mit guter Laune (v.l.n.r.): die Chefredakteure Jörg<br />
Hermann (PCgo), Andreas Eichelsdörfer (Business+IT) und<br />
Michael Suck (PC <strong>Magazin</strong>)<br />
Einen Hauch von Hollywood hatte die lange Nacht <strong>des</strong><br />
Victors durchaus. Nur war diesmal nicht das Dolby Theatre<br />
Schauplatz der Feierlichkeiten, sondern die Bavaria Filmstudios<br />
im Süden von München. Insgesamt 28.300 Leser haben entschieden,<br />
welche Firmen es in den abgefragten 24 Kategorien<br />
auf das Treppchen schafften. Zusätzlich kürte eine Expertenjury,<br />
die sich unter anderem aus den Chefredaktionen der <strong>Magazin</strong>e<br />
zusammensetzt, drei Sonderpreise: die Innovation <strong>des</strong> Jahres,<br />
den Brand of the Year und die IT-Persönlichkeit <strong>des</strong> Jahres. Wir<br />
gratulieren allen Siegern!<br />
Andreas Eichelsdörfer<br />
16 0513 internet magazin
Seit mehr als einem Jahrzehnt eine<br />
feste Größe in der Branche: Christoph<br />
Rösseler, Vice President Marketing &<br />
PR bei Devolo.<br />
Ausgezeichnet als IT-Marke <strong>des</strong> Jahres:<br />
Gerold Gutti, Marketingchef bei IBM,<br />
versprach auch für die Zukunft bahnbrechende<br />
Produkte.<br />
Oliver Gürtler, Leiter Windows bei<br />
Microsoft, nahm den Innovationspreis<br />
für Windows 8 begeistert entgegen.<br />
Hollywood-reifes<br />
Gruppenbild (v.l.):<br />
Katja Meyer und<br />
Eleonore Panciera<br />
von Kaspersky<br />
nehmen Hasan Ezdi<br />
von waveline-mar.<br />
com in ihre Mitte.<br />
Amüsierten sich prächtig: Gisela<br />
Nerke, Anzeigenleitung IT bei WEKA,<br />
und Tobias Scherer von 1&1.<br />
In Reih und Glied:<br />
<strong>Die</strong> Victor-Statuen<br />
warten auf ihre<br />
Empfänger.<br />
Fabian Maiwald von Samsung<br />
konnte zusammen mit seinen<br />
Kollegen gleich fünf Preise<br />
entgegennehmen.<br />
Victor<br />
Das sind die Gewinner<br />
Kategorie<br />
Firma<br />
All-in-one-PC-Systeme Hewlett-Packard<br />
App <strong>des</strong> Jahres<br />
Google (für Chrome)<br />
Business-Netz <strong>des</strong> Jahres Telekom Deutschland<br />
Cloud-Innovation<br />
Microsoft Deutschland<br />
CRM-Lösungen<br />
SAP Deutschland<br />
Document Solutions<br />
Samsung Electronics<br />
ERP-Lösungen<br />
Microsoft Deutschland<br />
Grafik/Foto/Design<br />
Adobe Systems<br />
Händler <strong>des</strong> Jahres<br />
Amazon.de<br />
Hoster<br />
1&1 <strong>Internet</strong><br />
<strong>Internet</strong>-Provider<br />
Telekom Deutschland<br />
Kaufmännische Lösungen Haufe-Lexware<br />
Monitore<br />
Samsung Electronics<br />
Multifunktionsgeräte<br />
Samsung Electronics<br />
Multimedia/Streaming AVM<br />
(für Fritz!Box Fon WLAN 7390)<br />
Notebooks<br />
Samsung Electronics<br />
Office Anwendungen<br />
Microsoft Deutschland<br />
Online-<strong>Die</strong>nstleistungen Microsoft Deutschland<br />
(für Office 365)<br />
Suchmaschinen/SEO<br />
Google<br />
Sicherheitssoftware<br />
Kaspersky Labs<br />
Smarthome<br />
AVM<br />
Smartphone<br />
Samsung Electronics<br />
Steuer- und Finanzsoftware Haufe-Lexware<br />
Tablets<br />
Amazon.de<br />
Innovation <strong>des</strong> Jahres Microsoft Deutschland<br />
(für Windows 8)<br />
Brand of the Year<br />
IBM Deutschland<br />
IT-Persönlichkeit <strong>des</strong> Jahres Christoph Rösseler, devolo<br />
www.internet-magazin.de 17
AKTUELLES | News<br />
Shopping<br />
Responsive Wordpress-Themes<br />
Ein Dutzend frische<br />
Wordpress-Themes,<br />
die auch preisgünstig<br />
im Bundle erhältlich<br />
sind, finden Sie im<br />
Themes-Shop von<br />
Elmastudio.de. <strong>Die</strong><br />
minimalistischen,<br />
auf mobile Endgeräte<br />
optimierten Themes<br />
mit vielen gut durchdachten<br />
Features können jeweils in einer Live-Demo<br />
gründlich unter die Lupe genommen werden. Pluspunkt:<br />
Ein einmal erworbenes Theme darf beliebig oft und auch<br />
für kommerzielle Projekte eingesetzt werden. Updates für<br />
einzelne Themes sind im Preis enthalten; wer alle Themes<br />
im Bundle kauft, erwirbt jährliche Upgra<strong>des</strong>.<br />
http://www.elmastudio.de/wordpress-themes/<br />
Toolbox<br />
Social Media Image Maker<br />
Jede Änderung am Facebook-Profil wird immer sofort<br />
dem Bekanntenkreis angezeigt – ärgerlich, wenn<br />
man mit verschiedenen<br />
Bildern und<br />
Grafiken experimentieren<br />
möchte,<br />
ohne dass<br />
es jeder sofort<br />
mitbekommt.<br />
Abhilfe schafft der Social Media Image Maker,<br />
der für Facebook und viele andere Netze die Möglichkeit<br />
bietet, das neue Profilbild erst einmal in Ruhe zu<br />
testen und dann mit dem perfekten Ergebnis an die<br />
Öffentlichkeit zu gehen.<br />
http://www.autreplanete.com/ap-social-mediaimage-maker/<br />
CRM Tool<br />
Feedbackstr<br />
Empfängerbefragungen zur Messung<br />
der Servicequalität schnell, einfach<br />
und in Echtzeit durchführen können<br />
Sie mit Feedbackstr: alle Bewertungen<br />
sowie Kritik und Lob Ihrer <strong>Kunden</strong> in<br />
einem System, das im Handumdrehen<br />
für <strong>Kunden</strong>service, Qualitätsmanagement<br />
und Marketing einsatzbereit ist.<br />
Eine kostenlose Demo ohne Anmeldung<br />
ist online verfügbar.<br />
https://www.feedbackstr.com/de/<br />
Microblogging<br />
Twitter Cards<br />
Nutzer der Google Webfonts (www.<br />
google.com/webfonts) und Open Web<br />
Icons (pfefferle.github.com/openwebicons/)<br />
werden sich über das aktuelle<br />
Open-Source-Projekt von Tim Pietrusky<br />
freuen: Dank „We love Icon Fonts“<br />
können die Fonts mit wenigen Zeilen<br />
CSS-Code integriert werden, Beispielcode<br />
steht zur Verfügung unter<br />
http://weloveiconfonts.com/<br />
Webprojekte<br />
deploydo<br />
Deploydo ermöglicht das schnelle<br />
und einfache Verteilen von Webprojekten<br />
auf mehrere Server, indem es<br />
externe Versionskontrolldienste wie<br />
Github, Bitbucket oder Codebase mit<br />
den Servern verbindet, auf denen das<br />
anzupassende Projekt liegt, um anschließend<br />
ein paralleles Rollout der<br />
Änderungen durchzuführen. Auf dem<br />
Server werden dann jeweils nur die<br />
Daten aktualisiert und nicht der gesamte<br />
Projektordner hochgeladen –<br />
das spart Zeit und Traffic.<br />
https://www.deploy.do/<br />
18 0513 internet magazin
ANZEIGE<br />
1. PLATZ<br />
SICHERHEITS-SOFTWARE<br />
DIE NUMMER 1<br />
UNSERE LESER HABEN SICH ENTSCHIEDEN<br />
UND KASPERSKY IN DER KATEGORIE<br />
SICHERHEITS-SOFTWARE<br />
ZUR MARKE NUMMER 1 GEWÄHLT!<br />
Kaspersky Lab gehört zu den weltweit führenden Security-<br />
Software-Herstellern. Für den bestmöglichsten Schutz forscht<br />
das russische Unternehmen ständig an neuen Technologien<br />
und ist dabei ein wichtiger Wegbereiter für neue Sicherheitsstandards.<br />
Über 350 Millionen Heimanwender und etwa<br />
250.000 Unternehmen weltweit vertrauen auf die Sicherheitslösungen<br />
von Kaspersky Lab.<br />
IM MITTELPUNKT: DER SCHUTZ<br />
IHRER WERTVOLLSTEN DATEN<br />
NEU<br />
Kaspersky PURE 3.0<br />
Total Security<br />
Umfassender Schutz gegen komplexe PC-Malware<br />
Vertrauen Sie auf die stärkste Security-Lösung von Kaspersky Lab –<br />
zum größtmöglichen Schutz Ihres PCs, Ihrer Daten und Ihrer<br />
digitalen Identität unterwegs in der virtuellen Welt.<br />
www.kaspersky.de
SPECIAL | Compass-CSS<br />
Compass: Der Turbo<br />
fürs Stylesheet!<br />
Compass basiert auf dem CSS-Präprozessor Sass und<br />
bietet neben nützlichen Sass-Bausteinen allgemeine<br />
CSS-Helferlein und Best-Practice-Tools. Es erleichtert<br />
das rasche Prototyping und ermöglicht die Weitergabe<br />
einzelner Komponenten als Compass-Plug-ins.<br />
CSS-Präprozessoren wie LESS und<br />
Sass ergänzen CSS um Komponenten,<br />
die man bei CSS schon lange vermisst<br />
hat: die Möglichkeit, Code besser<br />
zu strukturieren, Teile wiederzuverwenden<br />
und beispielsweise Variablen<br />
zu nutzen. Damit lassen sich auch längere<br />
Stylesheets bei größeren Projekten<br />
leichter handhaben.<br />
Ob man dem Präprozessor Sass oder<br />
LESS den Vorzug gibt, sei jedem selbst<br />
überlassen. Ein Vorteil von Sass aber ist<br />
klar: Für Sass gibt es Compass. Compass<br />
ist ein Sass-basiertes Projekt. Sie können<br />
sich Compass als eine Art Sass-Bibliothek<br />
vorstellen, die viele der bei den<br />
unterschiedlichsten Projekten immer<br />
wieder benötigten Komponenten enthält.<br />
Im Gegensatz zu Bootstrap & Co.<br />
ist Compass aber Design-agnostisch,<br />
das heißt es legt Sie nicht auf irgendeine<br />
Optik fest – statt<strong>des</strong>sen bietet es jede<br />
Menge Arbeitserleichterungen. Im Artikel<br />
erfahren Sie zuerst, wie Sie sich eine<br />
Compass-Umgebung einrichten und mit<br />
Compass arbeiten. Danach sehen wir uns<br />
ausgewählte praktische Anwendungen<br />
von Compass an. Sie erfahren, wie Sie<br />
sich die Arbeit mit CSS3-Eigenschaften<br />
vereinfachen, wie Sie sich automatisch<br />
CSS-Sprites generieren lassen und wie<br />
Sie die CSS-Dateien für den produktiven<br />
Einsatz verkleinern.<br />
Installation<br />
Compass setzt Ruby voraus, das Sie installieren<br />
müssen, sofern Sie es noch<br />
nicht haben. Unter Windows geht dies<br />
besonders komfortabel mit dem Ruby Installer.<br />
Beim Mac ist Ruby normalerweise<br />
schon vorinstalliert.<br />
Anstatt Ruby zu installieren und Compass<br />
über die Kommandozeile auszuführen,<br />
können Sie auch eine graphische<br />
Oberfläche wie Compass.app nutzen,<br />
die es für 10 Dollar zu kaufen gibt. Allerdings<br />
werden auch immer wieder einmal<br />
Performance-Probleme bei der Nutzung<br />
20 0513 internet magazin
Compass-CSS | SPECIAL<br />
von Compass.app gemeldet, <strong>des</strong>wegen<br />
soll hier die andere Variante vorgestellt<br />
werden. Wenn Sie Ruby haben, können<br />
Sie Compass installieren. Wechseln Sie<br />
hierfür in die Eingabeaufforderung (Windows)<br />
oder Konsole (Mac OS). Haben Sie<br />
Ruby mit dem Installer unter Windows<br />
installiert, geht es am einfachsten, wenn<br />
Sie über das Startmenü im Ruby-Ordner<br />
den Punkt „Start Command Prompt with<br />
Ruby“ wählen. Schreiben Sie dann den<br />
folgenden Befehl:<br />
gem install compass<br />
RubyGems, das hier verwendet wird, ist<br />
das offizielle Paketsystem für Ruby. Ob<br />
die Installation geklappt hat, verrät der<br />
folgende Befehl:<br />
compass –v<br />
Das liefert die aktuell installierte Version<br />
von Compass. Außerdem wird Ihnen<br />
ein Link auf eine <strong>Internet</strong>seite angezeigt,<br />
wo Sie für das Compass-Projekt spenden<br />
können – was Sie sich durchaus überlegen<br />
sollten, wenn Sie sich entscheiden,<br />
mehr mit Compass zu arbeiten.<br />
Erste Schritte<br />
Jetzt können Sie ein Compass-Projekt<br />
anlegen. Im Beispiel soll es neuesprojekt<br />
heißen. Dafür schreiben Sie<br />
compass create neuesprojekt<br />
Das erzeugt ein Standardprojekt im Ordner<br />
neuesprojekt. Es beinhaltet mehrere<br />
Komponenten:<br />
» . sass-cache ist ein Ordner mit gecachten<br />
Dateien, den Sie selbst nicht<br />
bearbeiten sollten.<br />
» Der Ordner sass beinhaltet die SCSS-<br />
Dateien, genau genommen drei:<br />
ie.scss ist für IE-spezifische Styles gedacht,<br />
print.scss für den Ausdruck und<br />
screen.scss steuert die Standardformatierungen.<br />
» Im Ordner stylesheets stehen die über<br />
Sass erzeugten CSS-Dateien – parallel<br />
zu den drei SCSS-Dateien sind es auch<br />
drei CSS-Dateien: ie.css, print.css und<br />
<strong>Die</strong> Website <strong>des</strong><br />
Compass-Projekts.<br />
screen.css.<br />
» Schließlich gibt es<br />
noch die config.rb-<br />
Datei, über die Sie<br />
die Ordnernamen<br />
anpassen können.<br />
Zudem lassen sich<br />
in dieser Konfigurationsdatei<br />
weitere Projekte werden über die Kommandozeile gesteuert.<br />
Am Anfang ungewohnt, dann aber sehr mächtig: Compassnützliche<br />
Dinge<br />
steuern; Sie können etwa festlegen, <br />
css“ media=“screen, projection“<br />
<strong>Die</strong> normale Vorgehensweise ist nun,<br />
Damit Sie die Änderungen bei der Formatierung<br />
sehen können, empfiehlt es sich, ner bearbeiten. <strong>Die</strong>se Dateien werden<br />
dass Sie die SCSS-Dateien im Sass-Ord-<br />
eine HTML-Datei zu erstellen, in der Sie kompiliert und daraus die CSS-Dateien<br />
auf die CSS-Dateien verweisen. Wie Sie erzeugt. <strong>Die</strong> Kompilierung stoßen Sie<br />
das machen, finden Sie sowohl in der manuell durch folgenden Befehl in der<br />
Anzeige der Konsole nach Erstellung <strong>des</strong> Konsole an:<br />
Projekts angezeigt als auch innerhalb compass compile neuesprojekt<br />
von Kommentaren in den SCSS-Dateien: Komfortabler ist es, wenn Änderungen an<br />
www.internet-magazin.de 21
SPECIAL | Compass-CSS<br />
den SCSS-Dateien automatisch erkannt<br />
und die CSS-Dateien laufend generiert<br />
werden. Dafür schreiben Sie<br />
compass watch neuesprojekt<br />
Zum Beenden <strong>des</strong> Watch-Zustands drücken<br />
Sie Strg+C. Am besten sollten Sie<br />
das Prozedere einmal testen. Ergänzen<br />
Sie einen einfachen CSS-Befehl in der<br />
Datei screen.scss, etwa<br />
body { background-color: orange; }<br />
Lassen Sie dann auf einem der beiden<br />
vorgestellten Wege die Neukompilierung<br />
der Datei screen.scss ablaufen und<br />
Sie werden sehen, dass in screen.css die<br />
obige Zeile ergänzt ist.<br />
Module importieren<br />
Aber der Reiz von Compass liegt natürlich<br />
nicht darin, dass Sie nur normale<br />
CSS-Befehle schreiben. Interessanter ist,<br />
dass Sie zum einen Sass-Befehle eingeben<br />
und zum anderen auf die von Compass<br />
zur Verfügung gestellten Module<br />
zugreifen können. Um ein Modul zu<br />
nutzen, müssen Sie es zuerst importieren.<br />
Ein Beispiel hierfür sehen Sie bereits<br />
in Ihrer screen.scss-Datei:<br />
@import „compass/reset“;<br />
Damit wird das Reset-Stylesheet eingebunden.<br />
In der generierten CSS-Datei<br />
screen.css ist der @import-Befehl durch<br />
die in dieser Datei angegebenen Regeln<br />
ersetzt worden. Das ist übrigens ein prinzipieller<br />
Vorteil von CSS-Präprozessoren:<br />
Sie können Ihren CSS-Code modulartig<br />
auf mehrere Dateien aufteilen, das Ergebnis<br />
ist aber trotzdem nur eine einzige<br />
Datei. An sich funktioniert die Aufteilung<br />
auf mehrere Dateien auch in CSS<br />
pur und zwar mittels @import. <strong>Die</strong> Verwendung<br />
von @import in CSS hat aber<br />
eine Reihe von Nachteilen: Mehrere mit<br />
@import eingebundene Dateien bedeuten<br />
mehrere HTTP-Requests. Außerdem<br />
ist aus Performance-Gründen prinzipiell<br />
vom Einbinden externer Dateien mit @<br />
import abzuraten. All diese Nachteile<br />
Bei Compass hat man es mit zwei Dateien<br />
zu tun: <strong>Die</strong> SCSS-Dateien werden<br />
bearbeitet, die CSS-Dateien generiert.<br />
können Sie sich ersparen, wenn Sie<br />
Module per Compass importieren. Ein<br />
recht praktisches Compass-Modul ist das<br />
CSS3-Modul. Es bietet hilfreiche Verkürzungen<br />
bei der Verwendung von CSS3-<br />
Eigenschaften. Das Modul binden Sie<br />
über folgenden Befehl ein:<br />
@import „compass/css3“;<br />
Damit wird das CSS3-Modul importiert,<br />
was anscheinend aber keine Auswirkungen<br />
hat: Das generierte CSS-Style<br />
sheet zeigt sich unverändert. Der Grund<br />
dafür ist, dass im CSS3-Modul nur Mixins<br />
definiert sind, also wiederverwendbare<br />
CSS-Komponenten. <strong>Die</strong>se Mixins treten<br />
aber erst in Erscheinung, wenn man sie<br />
benutzt – beispielsweise für Transitions.<br />
Nehmen wir an, wir haben ein Element,<br />
dem wir eine Transition zuweisen möchten:<br />
Wird mit dem Mauszeiger auf das<br />
Element gezeigt, soll ein langsamer<br />
Wechsel der Hintergrundfarbe ablaufen.<br />
Im normalen CSS müssten wir die Eigenschaft<br />
transition mit mehreren Präfixen<br />
schreiben. Compass nimmt uns diese Arbeit<br />
durch den @include-Befehl ab:<br />
.beispiel {<br />
background-color: green;<br />
@include transition(backgroundcolor<br />
0.3s ease-in);<br />
}<br />
.beispiel:hover {<br />
background-color: white;<br />
}<br />
Im erzeugten Stylesheet steht hingegen<br />
der Code mit den herstellerspezifischen<br />
Präfixen – das CSS3-Modul hat sie hingezaubert:<br />
.beispiel {<br />
background-color: green;<br />
-webkit-transition: backgroundcolor<br />
0.3s ease-in;<br />
-moz-transition: background-color<br />
0.3s ease-in;<br />
-o-transition: background-color<br />
0.3s ease-in;<br />
transition: background-color 0.3s<br />
ease-in;<br />
}<br />
.beispiel:hover {<br />
background-color: white;<br />
}<br />
Das CSS3-Modul liefert solche Verkürzungen<br />
auch für viele weitere CSS3-<br />
Eigenschaften – von box-shadow über @<br />
font-face, Transformationen bis hin zum<br />
Mehrspaltenlayout und vielen mehr.<br />
Welche Browser dabei unterstützt werden<br />
sollen, können Sie übrigens über<br />
Variablen steuern.<br />
Compass-Module im Überblick<br />
Neben dem gerade gezeigten CSS3-<br />
Modul gibt es eine Reihe von weiteren<br />
Modulen. Genauere Informationen dazu<br />
finden Sie auf der Projekt-Website unter<br />
dem Punkt „Reference“. Hier einmal im<br />
Überblick:<br />
» Das Core-Framework enthält Co<strong>des</strong>,<br />
die sonst in mehreren Frameworks<br />
wiederholt werden müssten.<br />
» Im Modul Typography befinden sich<br />
wiederverwendbare Sass-Befehle zur<br />
Formatierung von Texten, wie beispielsweise<br />
zur Einhaltung eines vertikalen<br />
Rhythmus.<br />
» <strong>Die</strong> Hilfsfunktionen („Helper Functions")<br />
halten nützliche Befehle bereit,<br />
beispielsweise um Farben zu verändern,<br />
wie adjust-lightness() oder adjust-saturation()<br />
und vieles mehr.<br />
» Das Modul Layout integriert häufig<br />
22 0513 internet magazin
ANZEIGE<br />
+<br />
5 1. PLATZ<br />
UNSERE LESER HABEN SICH ENTSCHIEDEN UND<br />
SAMSUNG FÜNF MAL ZUR NUMMER 1 GEWÄHLT.<br />
NOTEBOOKS<br />
Heute sind die Ansprüche an ein Notebook so unterschiedlich<br />
wie seine Nutzer. Ob ultramobiler Begleiter, leistungsstarkes<br />
Arbeitsgerät, komfortable Komplettlösung aus Rechner und<br />
Bildschirm oder Multimedia-Gerät – Samsung bietet eine<br />
breite Palette an hochwertigen Geräten für jeden Bedarf.<br />
MULTIFUNKTIONSGERÄTE<br />
Samsung offeriert ein komplettes Portfolio an Laser-Multifunktionsgeräten<br />
in Farbe und Schwarz-Weiß. Vom kleinen,<br />
Platz sparenden 3-in-1-Gerät für den Schreibtisch, über<br />
schnelle Arbeitsgruppengeräte bis hin zu hoch leistungsfähigen<br />
A3-Kopiersystemen finden Anwender immer das richtige<br />
System für die unterschiedlichsten Aufgabengebiete.<br />
MONITORE<br />
Samsung steht für professionelle Premium-Qualitätsmonitore,<br />
die den Bedürfnissen verschiedenster Nutzergruppen<br />
gerecht werden und liefert aktuellste Technologie für<br />
anspruchsvolle Anwender. So überzeugen alle neuesten<br />
hochauflösenden Monitore mit exzellenter Bildqualität in<br />
elegantem Design.<br />
SMARTPHONES<br />
Während der eine Konsument<br />
ein einfaches Modell bevorzugt,<br />
mit dem er vor allen Dingen telefonieren<br />
und hin und wieder<br />
im Netz surfen kann, möchte der<br />
nächste ein Mobiltelefon, das<br />
auch dem fordernden Einsatz auf<br />
einer Baustelle oder beim Aktivsport<br />
standhält. Andere wünschen<br />
sich hingegen Smartphones<br />
mit umfangreichen Leistungsreserven,<br />
innovativen Funktionen<br />
und atemberaubenden Displays.<br />
Samsung befriedigt gekonnt alle<br />
diese individuellen Wünsche und<br />
begeistert seit Jahren mit neuester<br />
Technik, richtungsweisenden<br />
Funktionen, hoher Qualität und<br />
klaren Designs.<br />
DOCUMENT SOLUTIONS<br />
Ausgezeichnete Hardware benötigt professionelle<br />
Lösungen, um sie optimal nutzen zu<br />
können. Aus diesem Grunde befindet sich bereits<br />
im Lieferumfang der Samsung-Systeme ein<br />
umfangreiches und leistungsstarkes Paket an<br />
Dokumentenmanagement-Lösungen. Weitere<br />
optionale Module aus dem Samsung M.I.S.-<br />
Konzept ermöglichen die Anpassung an alle<br />
modernen Office-Bedürfnisse.
SPECIAL | Compass-CSS<br />
benötigte Layoutkomponenten wie<br />
den Code für einen Sticky Footer<br />
(eine Fußzeile, die immer am unteren<br />
Browserfensterrand bleibt) oder Grid<br />
Background, das ein Raster über CSS3-<br />
Farbverläufe generiert – nützlich beim<br />
Entwurf von Rasterlayouts.<br />
» Utilities hilft bei gängigen Aufgaben –<br />
unter anderem für die Erstellung von<br />
CSS-Sprites.<br />
Das Modul Blueprint hat eine Sonderstellung.<br />
Es enthält neben Klassen für<br />
die Erstellung eines Rasterlayouts auch<br />
weitergehenden Formatierungen für die<br />
Typographie, für Formulare, Buttons und<br />
Tabs. Im Unterschied zu den anderen<br />
Modulen ist es aber standardmäßig nicht<br />
mitinstalliert. Wenn Sie es benötigen, geben<br />
Sie das direkt bei der Erstellung <strong>des</strong><br />
Projekts an:<br />
compass create meinprojekt --using<br />
blueprint<br />
Bei einem bestehenden Projekt schreiben<br />
Sie hingegen:<br />
compass install blueprint<br />
Modulhierarchie<br />
<strong>Die</strong> Module in Compass sind hierarchisch<br />
angeordnet. Wenn Sie ein übergeordnetes<br />
Modul importieren, werden<br />
alle untergeordneten Module mitimportiert.<br />
Wenn Sie beispielsweise vom CSS3-<br />
Modul nur die Transitions benötigen, genügt<br />
Folgen<strong>des</strong>:<br />
@import „compass/css3/transition“;<br />
Möchten Sie hingegen alle CSS3-Module<br />
nutzen, so importieren Sie diese über:<br />
@import „compass/css3“;<br />
von geschweiften Klammern setzt, um<br />
Blöcke zu kennzeichnen, und zum anderen<br />
über die SCSS-Syntax. Letztere<br />
kommt standardmäßig bei Compass<br />
zum Einsatz und wurde auch bisher im<br />
Artikel verwendet. <strong>Die</strong> SCSS-Syntax hat<br />
den Vorteil, dass sie CSS-kompatibel ist<br />
und Sie die geschweiften Klammern wie<br />
in CSS üblich benutzen können. Zudem<br />
lässt sich auch bestehender CSS-Code<br />
direkt integrieren. Sehen wir uns einmal<br />
die äußert praktischen Variablen bei Sass/<br />
Compass an. <strong>Die</strong>se kann man beispielsweise<br />
für Farben nutzen, wodurch sich<br />
Anpassungen am Farbschema problemlos<br />
vornehmen lassen. Zuerst definieren<br />
Sie die Variable:<br />
$logofarbe: #3fbfce;<br />
Danach lässt sich die Variable nutzen,<br />
wo man sie braucht:<br />
.navigation {<br />
background-color: $logofarbe;<br />
}<br />
Im erzeugten Stylesheet ist dann die Ersetzung<br />
durchgeführt:<br />
.navigation {<br />
background-color: #3fbfce;<br />
}<br />
Außerdem bietet Sass/Compass nützliche<br />
und recht intuitive Verkürzungen bei der<br />
Schreibweise verschachtelter Selektoren.<br />
In CSS müssen Sie Nachfahrenkombinatoren<br />
immer einzeln angeben, also beispielsweise<br />
so:<br />
.navigation {<br />
background-color: #3fbfce;<br />
}<br />
.navigation ul {<br />
list-style-type: none;<br />
}<br />
In Sass/Compass geht das einfacher:<br />
.navigation {<br />
background-color: #3fbfce;<br />
ul {<br />
list-style-type: none;<br />
}<br />
}<br />
Mixins<br />
Ein besonders mächtiges Konzept sind<br />
die sogenannten Mixins bei Sass/Compass.<br />
Dank dieser können Sie CSS-<br />
Schnipsel einmal definieren und dann<br />
über einen kurzen Namen ansprechen.<br />
In folgendem Beispiel wird ein Mixin mit<br />
Namen links definiert:<br />
@mixin links {<br />
float: left;<br />
margin-left: 20px;<br />
width: 10%;<br />
}<br />
Ein Mixin verwenden Sie, indem Sie<br />
es über @include einbinden – so wie<br />
wir eben beim Transition-Beispiel auch<br />
Compass setzt<br />
auf Sass.<br />
Wichtige Sass-Konzepte<br />
Compass erweitert Sass durch nützliche<br />
Vorlagen. Und jetzt ist es an der Zeit,<br />
ein paar grundlegende Sass-Konzepte<br />
zu erläutern. Erst einmal vorweg: Sass<br />
können Sie in zwei Varianten schreiben,<br />
zum einen in der ursprünglichen Sass-<br />
Syntax, die auf Einrückungen anstelle<br />
24 0513 internet magazin
Compass-CSS | SPECIAL<br />
schon @include verwendet haben:<br />
.beispiel {<br />
@include links;<br />
}<br />
Dann wird der Code <strong>des</strong> Mixins an die<br />
betreffende Stelle kopiert, das Ergebnis<br />
ist in unserem Fall:<br />
.beispiel {<br />
float: left;<br />
margin-left: 20px;<br />
width: 10%;<br />
}<br />
Ebenfalls nützlich ist es, dass Sie in<br />
Sass/Compass bedingte Anweisungen<br />
verwenden können. Eine Auflistung<br />
der Sass-Funktionen finden Sie auf<br />
der Sass-Website.<br />
Nützliches Links<br />
Compass-Website<br />
http://compass-style.org/<br />
Installation von Ruby<br />
http://www.ruby-lang.org/en/<br />
downloads/<br />
Installation von Ruby unter Windows<br />
http://rubyinstaller.org/<br />
Unterstützte Browser festlegen<br />
http://compass-style.org/<br />
reference/compass/support/<br />
BlueprintCSS-Framework<br />
http://www.blueprintcss.org/<br />
Sass<br />
http://sass-lang.com/<br />
Compass.app – grafische Oberfläche<br />
für Compass<br />
http://compass.handlino.com/<br />
Sprites automatisch erstellen<br />
Für kleine Icons und ähnliche Bilder verwendet<br />
man heute häufig CSS-Sprites.<br />
Bei CSS-Sprites sind mehrere Bilder nebeneinander<br />
und/oder untereinander zu<br />
einem großen Bild montiert. <strong>Die</strong>se werden<br />
an gewünschter Stelle per CSS als<br />
Hintergrundbild zugewiesen. <strong>Die</strong> Eigenschaft<br />
background-position sorgt dabei<br />
dafür, dass jeweils der richtige Ausschnitt<br />
<strong>des</strong> Hintergrundbil<strong>des</strong> und damit das<br />
richtige Icon angezeigt wird. CSS-Sprites<br />
sind die richtige Strategie, um die Anzahl<br />
der HTTP-Requests zu beschränken, und<br />
das ist ihr großer Vorteil. Sie sind aber<br />
leider recht mühsam zu erstellen und<br />
wesentlich umständlicher als Einzelbilder,<br />
wenn es darum geht, Änderungen<br />
einzupflegen. Mit Compass wird die Arbeit<br />
mit Sprites wieder einfacher. Gehen<br />
wir einmal von drei Bildern aus, die sich<br />
innerhalb von images/meine-icons befinden.<br />
<strong>Die</strong>se heißen eins.png, zwei.png<br />
und drei.png. Um diese Bilder als Sprites<br />
nutzen zu können, müssen wir sie zuerst<br />
zu einem Bild zusammenmontieren.<br />
Außerdem benötigen wir die einzelnen<br />
Koordinaten, die wir als backgroundposition-Werte<br />
nutzen können. Das alles<br />
macht Compass für Sie automatisch,<br />
wenn Sie die folgenden Zeilen innerhalb<br />
von screen.scss ergänzen:<br />
@import „meine-icons/*.png“;<br />
@include all-meine-icons-sprites;<br />
Nach einer Neukompilierung finden Sie<br />
in Ihrem Ordner images das neu aus den<br />
Einzeldateien erstellte Bild. Außerdem ist<br />
die Datei screen.css um neue Klassendefinitionen<br />
ergänzt, denen das Hintergrundbild<br />
zugewiesen wird:<br />
.meine-icons-sprite, .meine-iconsdrei,<br />
.meine-icons-eins, .meineicons-zwei<br />
{<br />
background: url(‚/images/meineicons-s23dfd165ad.png‘)<br />
no-repeat;<br />
}<br />
In einzelnen Regeln stehen die<br />
benötigten Hintergrundpositionen:<br />
.meine-icons-drei {<br />
background-position: 0 -32px;<br />
}<br />
.meine-icons-eins {<br />
background-position: 0 -64px;<br />
}<br />
.meine-icons-zwei {<br />
background-position: 0 0;<br />
}<br />
Um ein Icon anzuzeigen, weisen Sie dem<br />
Element die Klasse zu, etwa:<br />
…<br />
Praktischerweise können Sie die Größe<br />
der Icons automatisch ermitteln lassen:<br />
$height: meine-icons-sprite-height(eins);<br />
$width: meine-icons-sprite-width(eins);<br />
<strong>Die</strong>se Variablen lassen sich dann im<br />
Code verwenden:<br />
.icon {<br />
width: $width;<br />
height: $height;<br />
}<br />
Natürlich könnte man die Dimensionen<br />
eines Icons auch direkt auslesen.<br />
Der Vorteil der dynamischen Methode<br />
ist aber, dass Sie keinerlei Änderungen<br />
durchführen müssen, wenn beispielsweise<br />
größere Icons zum Einsatz kommen.<br />
Verkleinerung leicht gemacht<br />
Aus Performance-Gründen wird empfohlen,<br />
CSS-Dateien für den produktiven<br />
Einsatz zu verkleinern und unnötige Leerzeichen<br />
und Kommentare zu entfernen.<br />
Auch diese Arbeit kann Compass erledigen.<br />
Editieren Sie hierfür die Konfigurationsdatei<br />
config.rb und schreiben Sie<br />
output_style = :compressed<br />
Wenn Sie danach die Kompilierung Ihrer<br />
SCSS-Datei ausführen, erhalten Sie als<br />
Ergebnis ein verkleinertes Stylesheet. Der<br />
Artikel kann Ihnen nur einen Ausschnitt<br />
aus den Möglichkeiten von Compass<br />
präsentieren. Zusätzlich zu dem eigentlichen<br />
Framework gibt es ja außerdem<br />
noch eine Reihe von nützlichen Extensions;<br />
so setzt beispielsweise das schöne<br />
Framework Foundation auf Compass.<br />
Selbstverständlich bringt der Umstieg<br />
auf Sass/Compass eine gewisse Einarbeitungszeit<br />
mit sich, auch an die Arbeit mit<br />
der Eingabeaufforderung muss man sich<br />
erst einmal gewöhnen. Dafür haben Sie<br />
dann mit Compass ein äußerst mächtiges<br />
Tool an der Hand, das gerade bei der Erstellung<br />
und Wartung von umfangreichen<br />
Stylesheet-Dateien seine Stärken zeigt.<br />
Dr. Florence Maurice<br />
www.internet-magazin.de 25
WEBDESIGN | Videos mit HTML 5<br />
Videos mit HTML5<br />
abspielen<br />
Browser benötigen zur Wiedergabe von Videos künftig<br />
keinen Player mehr. Denn dank HTML5 werden Videos<br />
ohne Erweiterung direkt im Browser dargestellt.<br />
<strong>Die</strong> Wiedergabe der meisten Videos<br />
erfolgt heute immer noch auf Basis<br />
von Flash. Damit grenzen Sie aber nicht<br />
nur die Nutzer mobiler Apple-Geräte<br />
aus, auch immer mehr Android-Geräte<br />
unterstützen in der neuesten Version<br />
<strong>des</strong> Betriebssystems kein Flash mehr.<br />
Grund genug, sich nach einer Alternative<br />
umzusehen.<br />
<strong>Die</strong>se kommt mit HTML5 frei Haus, denn<br />
die aktuelle HTML-Implementierung besitzt<br />
nicht nur einen Player für Audiodateien,<br />
sondern auch einen für Videos.<br />
Auf der Website von Longtain Video<br />
sehen Sie einen aktuellen Vergleich der<br />
wichtigsten Browserimplementierungen<br />
und deren Unterstützung von HTML5-<br />
Video sowie Adobe Flash. In dieser<br />
Übersicht ist ein klarer Trend in Richtung<br />
Zukunft erkennbar: weg von Adobe Flash<br />
und hin zu HTML5-Video.<br />
Einfache Integration<br />
Ein Grund dafür ist sicherlich die einfache<br />
Integration eines Videos ohne größere<br />
vorherige Konvertierungsschritte.<br />
Mit Hilfe <strong>des</strong> video-Tags können Sie<br />
einen Film mit wenigen Zeilen in Ihre<br />
Website integrieren.<br />
<strong>Die</strong> folgenden Zeilen platzieren Sie an<br />
der gewünschten Stelle innerhalb <strong>des</strong><br />
body-Tags einer HTML-Seite.<br />
<br />
<br />
<br />
Ihr Browser unterstützt die Video-<br />
Funktionalität von HTML5 nicht.<br />
<br />
<strong>Die</strong> Definition wird über das video-Tag<br />
eingeleitet, dem Sie eine Reihe von Einstellungen<br />
als Parameter mitgeben können.<br />
Das obige Beispiel stellt das Video<br />
mit einer Breite von 640 Pixeln und einer<br />
Höhe von 480 Pixeln dar. Der Parameter<br />
controls sorgt für die Anzeige der Kontrollelemente,<br />
mit denen Sie innerhalb<br />
<strong>des</strong> Videos navigieren können.<br />
<strong>Die</strong> Verlinkung zum Video stellen Sie<br />
über das Tag source her. Als Parameter<br />
müssen Sie zwingend den Namen <strong>des</strong><br />
Videos samt Pfad sowie den Datentyp<br />
der Datei angeben. In unserem Beispiel<br />
haben wir einen Film vom Typ MP4 und<br />
einen im alternativen Videoformat OGG<br />
in die Website integriert. Zu beiden Einträgen<br />
geben Sie über den Parameter type<br />
das Format <strong>des</strong> Videos direkt an.<br />
Als letzte Information innerhalb <strong>des</strong><br />
video-Tags sollten Sie denjenigen Besuchern<br />
noch einen Hinweis geben, die<br />
versuchen, das Video mit einem zu alten<br />
Browser anzuzeigen.<br />
Verschiedene Videoformate<br />
Leider unterstützen nicht alle Browser<br />
und Plattformen die gleichen Videofor-<br />
Unterstützte Videoformate<br />
Browser MP4 WebM OGG<br />
<strong>Internet</strong> Explorer 9 Ja Nein Nein<br />
Chrome 6 Ja Ja Ja<br />
Firefox 3.6 Nein Ja Ja<br />
Safari 5 Ja Nein Nein<br />
Opera 10.6 Nein Ja Ja<br />
26 0513 internet magazin
Videos mit HTML 5 | WEBDESIGN<br />
mate. <strong>Die</strong> Auflistung in der unteren Tabelle<br />
zeigt, dass es aktuell kein Videoformat<br />
gibt, welches durchgängig von allen<br />
Browsern unterstützt wird. Sie werden<br />
somit nicht umhin kommen, Ihr Video in<br />
mehreren Formaten abzuspeichern und<br />
anzubieten. Wir haben für Sie die drei<br />
gängigsten Formate und deren Browser-<br />
Unterstützung gegenübergestellt.<br />
Alle drei Videoformate werden lediglich<br />
von drei Browseranbietern unterstützt<br />
und von den anderen links liegen gelassen.<br />
Aufgrund dieses Umstands sollten<br />
Sie Ihre Videos immer im Ogg-Format<br />
und zusätzlich entweder in WebM oder<br />
MP4 anbieten.<br />
Das Ogg-Format ist ein offenes Format,<br />
welches mit dem Theora-Video-Codec<br />
und dem Vorbis-Audio-Codec arbeitet.<br />
WebM setzt im Audiobereich ebenfalls<br />
auf Vorbis, nutzt allerdings VP8 als Video-Codec.<br />
Den wohl bekanntesten Video-Codec<br />
setzt MP4 mit H.264 ein, im<br />
Audiobereich kommt AAC zu Einsatz.<br />
Aus diesem Grund sollten Sie, wie im<br />
ersten Beispiel gezeigt, immer zwei Videoformate<br />
anbieten, damit auch alle Besucher<br />
diese unabhängig vom favorisierten<br />
Browser sehen können.<br />
Darstellung <strong>des</strong> Videos<br />
<strong>Die</strong> Wiedergabe <strong>des</strong> Videos lässt sich<br />
über verschiedene Parameter, die Sie<br />
dem video-Tag mitgeben können, optimal<br />
an Ihre Anforderungen anpassen.<br />
<strong>Die</strong> aktuelle Version <strong>des</strong> Tags unterstützt<br />
insgesamt neun unterschiedliche Parameter,<br />
die jedoch alle optional sind. Im<br />
ersten Beispiel sind mit width, height und<br />
control drei von ihnen zum Einsatz gekommen.<br />
Eine komplette Übersicht aller<br />
Parameter, deren Bedeutung und mögliche<br />
Werte finden Sie in Tabelle 2.<br />
Nicht nur das video-Tag besitzt verschiedene<br />
Attribute, die es zu nutzen gilt.<br />
Auch das source-Tag besitzt drei Parameter,<br />
mit denen Sie neben der URL und<br />
Auf der Website<br />
Longtailvideo<br />
finden Sie eine<br />
Übersicht der<br />
aktuellen Marktdurchdringung<br />
verschiedener<br />
Browserversionen<br />
sowie deren<br />
HTML5-Videounterstützung.<br />
dem MIME-Typ auch die Art der Medienquelle<br />
festlegen können. <strong>Die</strong> beiden letzten<br />
Angaben sind jedoch nicht zwingend<br />
notwendig erforderlich. Natürlich muss<br />
ein Verweis auf die Videodatei gesetzt<br />
werden, da ansonsten keine Wiedergabe<br />
stattfinden kann. Wenn Sie den Webserver<br />
selbst betreiben und zum ersten Mal<br />
Videos ausliefern, dann sollten Sie in der<br />
Datei httpd.conf kontrollieren, ob die<br />
Videodateien mit dem korrekten MIME-<br />
Typ ausgeliefert werden. Für die drei Dateiformate<br />
sollten folgende Zeilen in der<br />
Konfigurationsdatei vorhanden sein:<br />
AddType video/ogg .ogv<br />
AddType video/mp4 .mp4<br />
AddType video/webm .webm<br />
Anpassung der Oberfläche<br />
Auf all diese Eigenschaften haben Sie<br />
über das DOM-Modell direkten Zugriff.<br />
Damit jedoch nicht genug. HTML5 in<br />
Kombination mit Javascript ermöglicht<br />
Mit Hilfe von Javascript können Sie<br />
eigene Schaltflächen definieren und mit<br />
Funktionen versehen.<br />
Ihnen eine Anpassung <strong>des</strong> Videoplayers<br />
an Ihre eigenen Bedürfnisse und Vorstellungen.<br />
Das Ganze funktioniert im<br />
Übrigen analog für den Audioplayer –<br />
dies ist jedoch nicht Bestandteil dieses<br />
Workshops. Sie können mit Hilfe von<br />
Javascript auf die Methoden <strong>des</strong> Videoplayers<br />
zugreifen und damit beispielsweise<br />
einen Film abspielen, eine Pause<br />
einlegen oder die Wiedergabe komplett<br />
beenden. <strong>Die</strong> Eigenschaften erlauben<br />
Ihnen zum einen den Überblick, auf<br />
welchem Niveau die Lautstärke aktuell<br />
eingestellt ist, und zum anderen einen<br />
direkten Zugriff auf diese Werte.<br />
Im folgenden Beispiel soll es im ersten<br />
Schritt lediglich einen Knopf zum Starten<br />
und Pausieren <strong>des</strong> Videos geben.<br />
Dazu fügen Sie innerhalb <strong>des</strong> div-Tags<br />
als erstes eine Schaltfläche hinzu. In unserem<br />
Fall haben wir ein -Tag<br />
verwendet und das Ereignis onlick mit<br />
der Funktion start_stop() verbunden.<br />
Damit Sie das Video auch per DOM<br />
ansteuern können, versehen Sie das<br />
video-Tag noch mit einer ID, wie etwa<br />
„meinVideo“ und entfernen das Attribut<br />
controls. Damit bekommen Sie beim<br />
nächsten Aufruf das erste Bild <strong>des</strong> Videos<br />
angezeigt und haben eine Schaltfläche,<br />
www.internet-magazin.de 27
WEBDESIGN | Videos mit HTML 5<br />
die allerdings noch ohne Funktion ist.<br />
<br />
Abspielen/Pause<br />
<br />
<br />
<br />
Ihr Browser unterstützt die<br />
Video-Funktionalität von HTML5<br />
nicht.<br />
<br />
<br />
<strong>Die</strong> Funktion kommt im nächsten Schritt<br />
per Javascript hinzu. Für den Zugriff auf<br />
das Video-Objekt benötigen Sie eine Variable.<br />
<strong>Die</strong> Verknüpfung wird über die<br />
Eigenschaft document.getElementById()<br />
realisiert.<br />
<br />
var meinVideo1=document.<br />
getElementById(„meinVideo“);<br />
function start_stop() {<br />
if (meinVideo1.paused)<br />
meinVideo1.play();<br />
else<br />
meinVideo1.pause();<br />
}<br />
<br />
<strong>Die</strong> eigentliche Funktion start_stop() ist<br />
denkbar einfach aufgebaut. Sie fragen lediglich<br />
ab, in welchem Modus sich das<br />
Video befindet und verändern diesen<br />
entsprechend. So wird ein<br />
Video, <strong>des</strong>sen Wiedergabe<br />
aktuell pausiert, erneut wiedergegeben<br />
und umgekehrt. <strong>Die</strong>s reicht bereits<br />
für die Wiedergabe <strong>des</strong> Videos sowie die<br />
Pause-Funktion aus.<br />
Funktionen erweitern<br />
Im nächsten Schritt sollen weitere Funktionen<br />
für die Wiedergabe <strong>des</strong> Videos<br />
hinzugefügt werden. Dabei soll nicht<br />
eine vollständige Funktion wie im vorherigen<br />
Beispiel zum Einsatz kommen,<br />
sondern lediglich eine verkürzte Variante.<br />
Mit dieser werden zwei Schaltflächen<br />
„Lauter“ und „Leiser“ angelegt, die beim<br />
Anklicken die Lautstärke jeweils um 0,1<br />
Punkte erhöhen oder verringern.<br />
Lauter<br />
Leiser<br />
<strong>Die</strong> Veränderung der Lautstärke wird<br />
durch einen direkten Zugriff auf das<br />
DOM-Objekt und die zugehörige Eigenschaft<br />
volume erzielt. Dazu addieren<br />
oder subtrahieren Sie vom aktuellen Wert<br />
jeweils 0,1 Punkte.<br />
Laden <strong>des</strong> Films stoppen<br />
Wenn Sie einen größeren Film zur Verfügung<br />
stellen, kann mit der Wiedergabe<br />
bereits begonnen werden, wenn noch<br />
<strong>Die</strong>nste und Programme zur Videokonvertierung<br />
Für die Konvertierung <strong>des</strong> Videos gibt es zahlreiche Programme im Open-Source-Bereich.<br />
Wir haben einige interessante Kandidaten für Sie zusammengestellt:<br />
» Fireogg (http://firefogg.org/make/index.html): ein Online-<strong>Die</strong>nst, mit dem Sie<br />
über ein Firefox-Plug-in Videos ins Ogg- oder WebM-Format konvertieren können.<br />
» Handbrake (http://handbrake.fr/details.php): ein Programm für Windows, Mac OS X<br />
und Linux zum flexiblen Konvertieren zwischen den meisten gängigen Formaten.<br />
» Any Video Converter (http://www.any-video-converter.com/products/for_video_<br />
free/): zum Konvertieren von Videoformaten unter Windows.<br />
» Freemake Video Converter (http://www.freemake.com/de/): ebenfalls zum Konvertieren<br />
unter Windows.<br />
Es lassen sich nahezu alle Funktionen<br />
per Javascript abbilden.<br />
nicht der komplette Film geladen ist. Pausieren<br />
Sie anschließend die Wiedergabe,<br />
lädt die Website trotzdem im Hintergrund<br />
noch weitere Daten herunter. Der<br />
Standard sieht auch keinen Weg vor, diesen<br />
Prozess zu stoppen. Allerdings gibt<br />
es einen eleganten Behelf, wie Sie trotz<br />
allem das Laden beenden können:<br />
var meinVideo1 = document.<br />
getElementById(„meinVideo“);<br />
meinVideo1.pause();<br />
meinVideo1.src = „“;<br />
Im ersten Schritt benötigen Sie natürlich<br />
wieder Zugriff auf das Video, das Sie als<br />
nächstes in den Pause-Modus versetzen.<br />
Damit das Laden anschließend auch<br />
wirklich stoppt, löschen Sie einfach die<br />
Verlinkung zwischen der Website und<br />
dem Film auf Ihrem Webserver, indem<br />
Sie die Eigenschaft src mit einem Leerstring<br />
versehen.<br />
Zeitliche Sprünge<br />
Wenn Sie die klassischen Steuerelemente<br />
einsetzen, dann haben Sie eine Zeitleiste<br />
zur Verfügung, über welche Sie die Wiedergabeposition<br />
festlegen. Wenn Sie Ihre<br />
eigene Steuerung entwickeln, können Sie<br />
entweder einen entsprechenden Regler<br />
nachprogrammieren oder Sie steuern<br />
dies über verschiedene Schaltflächen.<br />
Welchen Weg auch immer Sie wählen,<br />
der Programmcode und die notwendigen<br />
Attribute sind immer die gleichen.<br />
meinVideo1.seekable.start();<br />
meinVideo1.seekable.end();<br />
meinVideo1.currentTime = 99;<br />
meinVideo1.played.end();<br />
28 0513 internet magazin
Videos mit HTML 5 | WEBDESIGN<br />
Verschiedene Player nutzen heute<br />
bereits HTML5 und bieten eine<br />
vordefinierte Oberfläche an.<br />
Ein Video ist in ein oder mehrere sogenannte<br />
Time-Range-Objekte unterteilt.<br />
<strong>Die</strong>s sind zeitliche Abschnitte,<br />
die Sie explizit ansteuern können.<br />
Zu jedem dieser Objekte gibt es einen<br />
Start- und einen Endpunkt. <strong>Die</strong><br />
erste Programmzeile gibt Ihnen den<br />
Startpunkt zurück, die zweite entsprechend<br />
den Endpunkt.<br />
Wenn Sie die Wiedergabe an einer<br />
bestimmten Stelle im Film beginnen<br />
möchten, setzen Sie den Wert in Sekunden<br />
über die Eigenschaft currentTime.<br />
Mit diesem Parameter können Sie im<br />
Übrigen auch die aktuelle Position in<br />
Sekunden abfragen, an der Sie sich gerade<br />
befinden. <strong>Die</strong> vierte Programmzeile<br />
liefert Ihnen schließlich die Ende-Position<br />
<strong>des</strong> aktuellen Abschnitts zurück.<br />
Vorgefertigte Lösungen<br />
Es gibt eine Reihe von Standardplayern,<br />
bei denen Sie sich diesem Programmieraufwand<br />
sparen können. Sie können<br />
diese Player direkt mit der Standardoberfläche<br />
integrieren oder nach Ihren eigenen<br />
Wünschen konfigurieren.<br />
<strong>Die</strong> Basis der Player ist HTML5. Somit ist<br />
ein konsistentes Aussehen über die verschiedenen<br />
Browserplattformen hinweg<br />
garantiert. Besonders interessant sind<br />
die Lösungen, die als Fallback-Lösung<br />
noch die Wiedergabe von Flash-Dateien<br />
erlauben. <strong>Die</strong> beiden Entwickler Gerrit<br />
van Aaken und Philip Bräunlich haben<br />
auf ihrer Website (http://praegnanz.de/<br />
html5video/index.php) eine Liste von<br />
Playern zusammengestellt und die einzelnen<br />
Eigenschaften miteinander verglichen.<br />
Besonders interessant ist die direkte<br />
Integration der einzelnen Player in<br />
die Website. Nachdem Sie den Namen<br />
<strong>des</strong> Players in der Übersicht angeklickt<br />
Parameter von <br />
Parameter Bedeutung Wert<br />
autoplay Video startet automatisch mit der Wiedergabe, wenn Autoplay<br />
dieser Wert gesetzt ist. Standardwert ist false.<br />
controls Zeigt die Kontrollleiste für die Steuerung der Videowiedergabe<br />
controls<br />
an. Standardwert ist false.<br />
height Legt die Höhe <strong>des</strong> Fensters für die Videowiedergabe fest. Wert in Pixel<br />
loop Legt fest, ob das Video in einer Schleife wiedergegeben loop<br />
werden soll. Standardwert ist false.<br />
muted Video startet ohne Tonwiedergabe. Standardwert ist false. muted<br />
poster Sie können ein Bild angeben, das während <strong>des</strong><br />
Pfadangabe auf Datei<br />
Ladens und bis zum Start <strong>des</strong> Videos angezeigt wird.<br />
preload La<strong>des</strong>trategie <strong>des</strong> Videos während <strong>des</strong> Ladens der Website.<br />
auto, metadata, none<br />
Verschiedene Werte sind möglich.<br />
src Link zur Videodatei URL<br />
width Legt die Breite <strong>des</strong> Fensters für die Videowiedergabe fest. Wert in Pixel<br />
haben, sehen Sie direkt den Player und<br />
die Startsequenz eines Demovideos. Damit<br />
können Sie sich gleich ein erstes Bild<br />
über den Player machen.<br />
Fazit<br />
<strong>Die</strong> Wiedergabe eines Videos per HTML5<br />
ist heute in nahezu jedem Browser möglich.<br />
Lediglich Nutzer von Windows XP,<br />
die noch den <strong>Internet</strong> Explorer einsetzen,<br />
schauen in die Röhre. <strong>Die</strong> größere Herausforderung<br />
ist die Wahl <strong>des</strong> passenden<br />
Formats. Da sich die Browserhersteller bis<br />
jetzt nicht auf einen durchgängigen Standard<br />
einigen konnten, sollten Sie immer<br />
zwei unterschiedliche Formate anbieten.<br />
Das Konvertieren geht allerdings dank<br />
zahlreicher Open-Source-Programme<br />
und Webdienste einfach von der Hand.<br />
Andreas Hitzig<br />
www.internet-magazin.de 29
WEBDESIGN | Centurion CSS<br />
Rapid Responsive<br />
Prototyping<br />
mit Centurion<br />
HTML5- und CSS3-Frameworks schießen wie Pilze aus<br />
dem Boden. Doch für welches soll man sich entscheiden?<br />
Mit Centurion hat Justin Hough ein vielversprechen<strong>des</strong><br />
Framework realisiert, <strong>des</strong>sen Stärken im Prototyping<br />
liegen. Doch lohnt die Einarbeitung und was<br />
ist in Zukunft von dem Projekt zu erwarten?<br />
Bei Web<strong>des</strong>ignern stehen HTMLund<br />
CSS-Frameworks hoch im Kurs,<br />
die auf sogenannten Gestaltungsrastern<br />
basieren. In solchen Grid-Frameworks<br />
kommen vordefinierte CSS-Klassen<br />
zum Einsatz und erlauben die schnelle<br />
und einfache Entwicklung von Website-<br />
Prototypen. Das bekannteste CSS-Grid-<br />
Framework dürfte das 960 Grid System<br />
(960.gs) sein. Auch Twitters Bootstrap hat<br />
viele Anhänger.<br />
Mit Centurion schickt sich ein recht neues<br />
Framework an, mehr und mehr Freunde<br />
zu gewinnen. Auf den ersten Blick erinnert<br />
Centurion sehr an Twitters Bootstrap<br />
und an das 960 Grid System. Bei näherer<br />
Betrachtung wird schnell deutlich, dass<br />
es sich zwar nicht mit etablierten Umgebungen<br />
messen kann, aber aufgrund<br />
seiner einfachen und klaren Zielsetzung<br />
ganz andere Stärken hat.<br />
Als Web-Framework für das Prototyping<br />
von Responsive Design nutzt es Sass und<br />
CSS3 Media Queries. Das Erstellen von<br />
Prototypen ist dank der simplen Syntax<br />
einfach möglich. Das Framework nutzt<br />
ein 960-Pixel-Raster, das Sie einfach auf<br />
eine Breite von 320 Pixeln skalieren können.<br />
Weitere Highlights sind benutzerdefinierte<br />
CSS-Buttons, ein Menüsystem für<br />
Desktop- und Mobile Client sowie die<br />
Überschriftenskalierung auf Grundlage<br />
der Browsergröße (Centurion verwendet<br />
dabei em statt px).<br />
Besonderheiten von Centurion<br />
Der Centurion-Entwickler hatte von Anbeginn<br />
<strong>des</strong> Projekts die schnelle Theme-<br />
Entwicklung im Sinn. Das erklärt auch,<br />
warum Centurion im direkten Vergleich<br />
zu Groundwork, Gumby Framework &<br />
Co. einen etwas schwachbrüstigen Eindruck<br />
macht. Doch diese „Kompaktheit“<br />
kann eine Stärke sein. Da das Framework<br />
auf Sass setzt, behält der Web<strong>des</strong>igner<br />
recht einfach den Überblick. Das Besondere<br />
an diesem Framework: Es ist so ausgelegt,<br />
dass Sie damit ein Theme für ein<br />
beliebiges Content-Management-System<br />
oder ein Blog realisieren können. Auch<br />
die reine Frontend-Entwicklung ist mit<br />
Centurion möglich. Haben Sie sich also<br />
einmal in die Umgebung eingearbeitet,<br />
können Sie das System für alle gängigen<br />
Webapplikationen nutzen. Aktuell ist<br />
Centurion in Version 3.0 verfügbar. Mancher<br />
wird sich fragen, warum ihm dieses<br />
Projekt bislang entgangen ist. <strong>Die</strong> Frage<br />
lässt sich recht einfach beantworten: <strong>Die</strong><br />
beiden ersten Versionen kamen nur bei<br />
Projekten <strong>des</strong> Entwicklers zum Einsatz.<br />
Erst seit Version 3.0 unterliegt Centurion<br />
den beiden Lizenzen GPL und MIT.<br />
Damit steht auch einem kommerziellen<br />
Einsatz nichts im Wege.<br />
Webentwickler, die bereits mit einem<br />
Framework wie 960.gs gearbeitet haben,<br />
werden sich schnell mit Centurion<br />
anfreunden. Mit 960.gs hat dieses System<br />
nicht nur die gleiche Ausdehnung<br />
gemein, sondern auch die Syntax ist<br />
ähnlich. Der Centurion-Entwickler hat<br />
sich aber auch bei Twitters Bootstrap<br />
bedient und das Konzept <strong>des</strong> grafiklosen<br />
Styling der gängigen Bedien- und<br />
Steuerelemente übernommen. Gerade<br />
die Schaltflächen <strong>des</strong> Centurion-Frameworks<br />
erinnern sehr stark an Bootstrap.<br />
Damit bewegt sich diese Umgebung<br />
irgendwo zwischen ihren berühmten<br />
Vorbildern. In Sachen Responsive Design<br />
setzt Centurion konsequent auf CSS<br />
Media Queries.<br />
Entwicklung mit Centurion<br />
Centurion ist – im Unterschied zu 960.<br />
gs – keineswegs auf ein 12-Spaltensystem<br />
begrenzt. Zwar verwendet das Framework<br />
standardmäßig ein 12-spaltiges<br />
Raster, aber Sie können damit auch eines<br />
30 0513 internet magazin
Centurion CSS | WEBDESIGN<br />
mit 16, 18 oder mehr Spalten erzeugen.<br />
Dabei kommt Centurion zu Gute, dass<br />
das System auf Sass basiert.<br />
Um die verfügbaren Spalten in vier identische<br />
Container aufzuteilen, verwendet<br />
man folgende Syntax:<br />
class=“grid-3“<br />
<strong>Die</strong> Standardversion von Centurion, die<br />
Sie über die Github-Website beziehen<br />
können, besitzt eine 12-spaltige<br />
Konfiguration mit einer Breite von 960<br />
Pixeln für die Darstellung der Inhalte<br />
auf Desktop-Rechnern und eine per<br />
CSS3-Media-Queries heruntergebrochene<br />
Version für Smartphones mit 360<br />
Pixeln Breite.<br />
Sie können das 12-Spaltensystem<br />
grid-12 in unterschiedliche Einzelspalten<br />
aufteilen, beispielsweise in<br />
grid-4 und grid-8:<br />
<br />
<br />
…<br />
<br />
<br />
…<br />
<br />
<br />
Doch damit nicht genug: Sie können<br />
auch verschachtelte Spalten anlegen,<br />
ohne dass der Code dabei deutlich komplizierter<br />
würde. Wenn Sie ein sechsspal-<br />
So macht Web Prototyping Spaß: Mit wenig Aufwand können Sie eine Tabelle anlegen.<br />
tiges Layout verwenden und drei Bilder<br />
<br />
mit Bildunterschrift nebeneinander platzieren<br />
wollen, und zwar unterhalb <strong>des</strong> <br />
Bildunterschrift zu Bild 1<br />
Haupttextblocks, müssen Sie dem Code <br />
lediglich mobile-33 hinzufügen. Der<br />
<br />
Wert 33 bestimmt dabei den Prozentsatz<br />
Bildunterschrift zu Bild 2<br />
der Breite der verschachtelten Spalten:<br />
<br />
<br />
<br />
Hier findet sich der Text,<br />
<br />
der durch die drei nachfolgenden<br />
Bildunterschrift zu Bild 3<br />
Bilder ergänzt wird.<br />
<br />
<br />
Mit Centurion<br />
lassen sich<br />
die unterschiedlichsten<br />
Spaltensysteme<br />
für die<br />
Template-<br />
Gestaltung<br />
realisieren.<br />
<strong>Die</strong> Grid-Elemente Alpha und Omega<br />
besitzen einen Seitenabstand von 10 Pixeln<br />
und einen Standardabstand von 20<br />
Pixeln zwischen jeder Spalte.<br />
Einfach und effektiv:<br />
Schaltflächen<br />
Wenn Sie dabei sind, einen Website-<br />
Prototypen zu erstellen, genügt es vollkommen,<br />
wenn Sie die Schaltflächen<br />
durch einfache Buttons realisieren, die<br />
die gewünschte Funktionen wie die<br />
Verarbeitung von Formulareingaben re-<br />
www.internet-magazin.de 31
WEBDESIGN | Centurion CSS<br />
präsentieren. Ein Button wird durch den<br />
Aufruf der button-Klassen implementiert<br />
– das war es auch fast schon. <strong>Die</strong> Standardklasse<br />
kümmert sich um die Farbfüllung,<br />
die Größe und die Formgebung. Ein<br />
einfaches Beispiel:<br />
Kleine Schaltfläche<br />
Der Standard-Button besitzt den ihm<br />
zugewiesenen Text und einen schwarzen<br />
Hintergrund. Sollte Ihnen das nicht<br />
zusagen, haben Sie die Wahl zwischen<br />
folgenden weiteren Farben:<br />
» Blau - blue<br />
» Grün - green<br />
» Grau - grey<br />
» Rot - red<br />
» Gelb - yellow<br />
Wenn Sie eine rote Schaltfläche anlegen<br />
wollen, sieht der Code wie folgt aus:<br />
<br />
Eine rote Schaltfläche<br />
<br />
<br />
<br />
Tabellen-<br />
Header<br />
<br />
<br />
<br />
<br />
Text<br />
Langer Text<br />
Text<br />
Text<br />
<br />
<br />
Text<br />
Langer Text<br />
Text<br />
Text<br />
<br />
<br />
Text<br />
Langer Text<br />
Text<br />
Content<br />
<br />
<br />
<br />
Mehr als<br />
ausreichend:<br />
Centurion<br />
verfügt über<br />
spezielle<br />
Button-<br />
Klassen für<br />
das schnelle<br />
Entwickeln<br />
typischer<br />
interaktiver<br />
Funktionen.<br />
Neben der Farbe können Sie auch die<br />
Größe der Schaltflächen an Ihre Anforderungen<br />
anpassen. Sollte Ihnen der<br />
Standard-Button zu groß sein, können<br />
Sie <strong>des</strong>sen Größe mit der small-Klasse<br />
anpassen:<br />
<br />
Ein kleiner Button<br />
Sollte Ihnen die Form hingegen zu klein<br />
erscheinen, verwenden Sie die large-<br />
Klasse. Ein Beispiel:<br />
Eine große blaue Schaltfläche<br />
Professionelle Tabelle<br />
Mit Centurion lassen sich mit wenigem<br />
Aufwand ansprechende Tabellen realisieren.<br />
Dabei sind Sie flexibel, was die Gestaltung<br />
der Tabelle angeht. Eine einfache<br />
Tabelle mit grau hinterlegter Kopfzeile<br />
wird wie folgt angelegt:<br />
Analog zu den Schaltflächen können Sie<br />
auch Ihre Tabellen mit ähnlichen Farbschemata<br />
gestalten. Das Framework stellt<br />
folgende Farbklassen zur Verfügung:<br />
» Blau - ctBlue<br />
» Grün - ctGreen<br />
» Grau - ctGrey<br />
» Organe - ctOrange<br />
» Rot - ctRed<br />
» Gelb - ctYellow<br />
Um die Farbe zu verwenden, müssen<br />
Sie der Tabelle lediglich die gewünschte<br />
Farbklasse zuweisen. Ein Beispiel:<br />
<br />
Weitere Gestaltungsmöglichkeiten<br />
Das Centurion-Framework bietet Ihnen<br />
verschiedene weitere interessante Möglichkeiten.<br />
Sie können beispielsweise<br />
sehr einfach eine Warnung ausgeben.<br />
Beim Standardwarnhinweis wird der<br />
Text lediglich in einem grau hinterlegten<br />
Dialog ausgegeben. Er wird wie<br />
folgt angelegt:<br />
<br />
<br />
Das ist der Standardhinweisdialog!<br />
<br />
Neben diesem Standarddialog erlaubt<br />
Centurion die Ausgabe spezieller Fehler-<br />
und Erfolgsmeldungen. Eine Fehlermeldung<br />
wird wie folgt definiert:<br />
<br />
...<br />
<br />
Eine Erfolgsmeldung legen Sie<br />
folgendermaßen an:<br />
<br />
...<br />
<br />
Das Centurion-Framework hat verschiedene<br />
weitere interessante Möglichkeiten<br />
zu bieten. Wenn Sie in Ihrem Blog, Shop<br />
oder Content-ManagementSystem sehr<br />
32 0513 internet magazin
Centurion CSS | WEBDESIGN<br />
Alternative Frameworks<br />
Neben Centurion gibt es eine Vielzahl<br />
weiterer Frameworks, die sich für die Entwicklung<br />
eignen. Viele taugen auch für<br />
den schnellen Entwurf von Prototypen.<br />
<strong>Die</strong> Zahl der Web-Frameworks wächst kontinuierlich.<br />
Dabei spielt das Responsive<br />
Design eine immer größere Rolle. Sie vereinfachen<br />
vielerlei Entwicklungsaufgaben<br />
und unterstützen bei Standardaufgaben.<br />
Außerdem lassen sich die vordefinierten<br />
Styles eines Frameworks einfach über den<br />
-Teil der Website einbinden.<br />
» Bei Groundwork (http://groundwork.<br />
sidereel.com) handelt es sich um ein<br />
vollständig responsives Framework für<br />
die Frontend-Entwicklung. Noch befindet<br />
es sich in der Betaphase, bietet<br />
aber schon jetzt eine Fülle vordefinierter<br />
Klassen, mit denen sich neben<br />
Standardelementen auch komplexe Elemente<br />
wie Formulare implementieren<br />
lassen. Für ein noch recht junges Projekt<br />
ist es gut dokumentiert.<br />
» Fast schon ein Klassiker ist das 960<br />
Grid System (http://960.gs). Es ist<br />
zweifelsohne das bekannteste CSS-Grid-<br />
Framework. Mit diesem Framework können<br />
Sie mit vordefinierten CSS-Klassen<br />
Website-Layouts anlegen, die auf Gestaltungsrastern<br />
basieren. Der Darstellungsbereich<br />
<strong>des</strong> 960 Grid System ist<br />
auf 960 Pixel Breite festgelegt, wobei<br />
Sie die Spaltenzahl variieren können.<br />
» Das von Twitter entwickelte Bootstrap<br />
(http://twitter.github.com/bootstrap/)<br />
ist kein reines CSS-Framework.<br />
Es verwendet ein 12-spaltiges Grid,<br />
das responsive-fähig ist. Bootstrap<br />
ist ein Komplettpaket, das eine Fülle<br />
von jQuery-Plug-ins, vordefinierte<br />
Stylesheets für typographische Effekte,<br />
Tabellen und ein umfangreiches<br />
Iconset bereithält. Neben der Vielzahl<br />
von Klassen verdient die Projekt-Site<br />
besondere Beachtung, da die konkrete<br />
Verwendung dort anhand vieler Beispiele<br />
illustriert wird.<br />
» Auch Foundation 3 (http://foundation.zurb.com)<br />
eignet sich für die<br />
schnelle Entwicklung von Prototypen<br />
– aber nicht nur hierfür. <strong>Die</strong>ses Framework<br />
basiert ebenfalls auf dem Sass-<br />
CSS-Präprozessor und stellt für das<br />
Prototyping schön gestaltete Buttons,<br />
Formulare, Schaltflächen, Navigationsleisten<br />
und Tabs bereit.<br />
» Ein noch recht junges und unbekanntes<br />
Grid-System ist Gumby Framework<br />
(http://gumbyframework.com). Für<br />
das Rapid Prototyping stellt es Schaltflächen,<br />
Formulare, Auswahlmenüs<br />
sowie verschiedene Javascripts und<br />
Templates bereit. Das Framework ist<br />
mit einem 12- und 16-spaltigen Grid<br />
verfügbar.<br />
Das Gumby<br />
Framework macht<br />
beim Prototyping<br />
eine gute Figur.<br />
umfangreiche Dokumente verwenden,<br />
kann es sinnvoll sein, einen Seitenumbruch<br />
samt Seitennummerierung einzuführen.<br />
Auch hierfür hält das Framework<br />
die passende Lösung bereit. <strong>Die</strong> Grundfunktion<br />
wird dabei durch eine Liste der<br />
einzelnen Dokumente realisiert, in die<br />
Sie umfangreiche Seiten aufspalten. Eine<br />
einfache Lösung sieht wie folgt aus:<br />
<br />
<br />
«<br />
1<br />
2<br />
3<br />
»<br />
<br />
<br />
In der nahen Zukunft wird Centurion einige<br />
weitere Besonderheiten bringen. In<br />
Version 3.1 können Sie Tooltips anlegen,<br />
die dann eingeblendet werden, wenn<br />
der Benutzer den Mauszeiger über einen<br />
Link führt. Mit Centurion 3.1 können Sie<br />
einen Hinweis definieren:<br />
... <br />
Version 3.1 wird auch die Entwicklung<br />
von Registerkarten erlauben. Ein typisches<br />
Tab-System wird dann wie folgt<br />
erzeugt:<br />
<br />
<br />
<br />
Tab 1<br />
<br />
Tab 2<br />
<br />
Tab 3<br />
<br />
…<br />
…<br />
…<br />
<br />
Mit der Klasse tabsBottom und tabsStacked<br />
können Sie die Tabs im unteren Bereich<br />
beziehungsweise<br />
an der Seite<br />
platzieren. Welche<br />
weiteren Features Centurion in Zukunft<br />
bieten wird, will der Entwickler noch<br />
nicht preisgeben.<br />
Fazit<br />
Mit Centurion steht Webentwicklern<br />
ein einfach zu handhaben<strong>des</strong> HTML5-<br />
und CSS3-Framework zur Verfügung,<br />
das sich hervorragend für das Prototyping<br />
von Websites eignet. Funktional<br />
dürfte es im momentanen Zustand dem<br />
einen oder anderen Web<strong>des</strong>igner zwar<br />
nicht genügen, aber Centurions Urheber<br />
scheint noch vieles vorzuhaben. Ein<br />
echtes Manko ist bislang vor allem die<br />
dürftige Dokumentation, aber interessierte<br />
Anwender sind eingeladen, sich<br />
aktiv an der Weiterentwicklung <strong>des</strong> Projekts<br />
zu beteiligen.<br />
Dr. Holger Reibold<br />
www.internet-magazin.de 33
WEBDESIGN | Google Rich Snippets<br />
Googles intelligente<br />
<strong>Vorschau</strong><br />
Vielleicht haben Sie sich schon einmal gefragt, woher<br />
diese kleinen, hilfreichen Zusatzinformationen wie Bilder,<br />
Bewertungen oder Öffnungszeiten in den Google-<br />
Suchergebnissen stammen. Das sind Rich Snippets –<br />
Metainformationen auf Code-Ebene.<br />
Der Nutzen für den Betrachter liegt<br />
auf der Hand: <strong>Die</strong> Suchergebnisse<br />
werden informativer und emotional ansprechender.<br />
Doch was kann man damit<br />
noch alles anstellen und für wen lohnt<br />
sich der Einsatz dieser Technologie? Lassen<br />
Sie uns einen kleinen Blick in die<br />
Welt <strong>des</strong> semantischen Co<strong>des</strong> werfen.<br />
Mit den Rich Snippets geht Google bereits<br />
seit 2009 einen Weg, den auch Facebook<br />
mit den Open-Graph-Tags eingeschlagen<br />
hat. Auf Code-Ebene werden<br />
zusätzliche Informationen zu der Seite<br />
und deren Inhalt eingebettet, damit die<br />
Daten neben Menschen auch für Maschinen,<br />
insbesondere Suchmaschinen, aber<br />
auch soziale Medien oder mobile Endgeräte<br />
verständlich sind und entsprechend<br />
genutzt werden können.<br />
Hier ein kleines Beispiel: Man schreibe<br />
seine Telefonnummer nicht einfach<br />
lose in den HTML-Code, sondern gebe<br />
zusätzlich die Information im Markup<br />
mit, dass es sich dabei nicht um eine x-<br />
beliebige Zahl handelt, sondern um die<br />
eigene Telefonnummer:<br />
HTML ohne Rich Snippets:<br />
+49 (0) 89 12 34 56 78 90<br />
HTML mit Rich Snippets:<br />
+49 (0) 89 12<br />
34 56 78 90<br />
<strong>Die</strong> Idee hinter den Rich Snippets besteht<br />
schon lange in den Theorien <strong>des</strong><br />
Semantic Web: Reale Dinge und deren<br />
Beziehungen zueinander werden bereits<br />
im Code durch Metadaten beschrieben,<br />
da deren inhärente Bedeutung ohnedies<br />
nur für Menschen erkennbar wird.<br />
Im Semantic Web bedient man sich <strong>des</strong><br />
sogenannten Resource Description Framework<br />
(RDF), welches Entitäten durch<br />
Beziehungstripel, wie beispielsweise<br />
„Batterien enthalten Säure” (Subjekt,<br />
Prädikat, Objekt) beschreibt.<br />
Einige Systeme wie etwa Drupal setzen<br />
bereits auf die vereinfachte Variante<br />
RDFa (RDF in attributes) um RDF mittels<br />
Attributen in HTML einzubetten. Neben<br />
Mikroformaten und Mikrodaten zählt<br />
RDFa zu den bewährten Methoden, HT-<br />
ML-Seiten mit computerlesbaren Zusatzinformationen<br />
anzureichern.<br />
Genug der Theorie. Rich Snippets sollen<br />
Besuchern bereits auf den Suchergebnisseiten<br />
(SERP) einen ersten Eindruck<br />
darüber vermitteln, welche Inhalte sie<br />
auf der Seite erwarten. Im Gegensatz zu<br />
normalen Suchergebnissen, welche nur<br />
aus Titel, Metabeschreibung und URL<br />
bestehen, glänzen Rich Snippets durch<br />
detaillierte Informationen wie Bewertungen<br />
in Sternchenform, Zeitangaben<br />
für Veranstaltungen oder Bildern zu Pro-<br />
34 0513 internet magazin
Google Rich Snippets | WEBDESIGN<br />
Ein Rezept als<br />
Rich Snippet in<br />
den Google-Suchergebnissen.<br />
dukten. Damit bieten sie einen direkten<br />
Mehrwert für den Nutzer und werden somit<br />
zum Eyecatcher. Durch diese prominente<br />
Darstellung können Rich Snippets<br />
nachweislich die Klickrate (click-through<br />
rate - CTR) erhöhen, auch wenn sie nicht<br />
zu den ersten Suchtreffern zählen. <strong>Die</strong>se<br />
Eigenschaft ist besonders wichtig für<br />
alle, die etwas über das <strong>Internet</strong> verkaufen<br />
wollen – also beispielsweise Online-<br />
Händler, die ihre Produkte so mit zusätzlichen<br />
Infos ausstatten können.<br />
Der Aufbau von Rich Snippets<br />
Prinzipiell können Rich Snippets mit drei<br />
verschiedenen Arten von Markup aufgebaut<br />
werden:<br />
» Mikrodaten (microdata)<br />
» Mikroformate (microformats)<br />
» RDFa (Resource Description Framework<br />
in attributes)<br />
Google empfiehlt an dieser Stelle den<br />
Einsatz von Mikrodaten (http://tinyurl.<br />
com/bbw3p5s). <strong>Die</strong> großen Suchmaschinen<br />
Google, Yahoo! und Bing haben<br />
sich zusammengetan, um das Format<br />
der Mikrodaten zu standardisieren. <strong>Die</strong><br />
komplette Referenz kann man auf schema.org<br />
betrachten. Google unterstützt<br />
aktuell Rich Snippets für die folgenden<br />
Inhaltstypen:<br />
» Erfahrungsberichte<br />
» Personen<br />
» Produkte<br />
» Unternehmen und Organisationen<br />
» Rezepte<br />
» Veranstaltungen<br />
» Musik<br />
Auf schema.org gibt es allerdings wesentlich<br />
mehr Inhaltstypen, die Sie nutzen<br />
können und deren Informationen<br />
eventuell früher oder später auch detaillierter<br />
in den Suchergebnissen angezeigt<br />
werden. Kommen wir nun zu einem<br />
konkreten Beispiel. In diesem Fall handelt<br />
es sich um ein Rich Snippet für eine<br />
Organisation, genauer gesagt eine Praxis<br />
für Naturheilkunde, mit Adresse und<br />
Öffnungszeiten:<br />
<br />
Naturheilpraxis<br />
Lindner<br />
<br />
<br />
Wormserstraße 1<br />
80797 München<br />
Praxis +49 (0) 89 307<br />
011 55Mobil +49 (0)<br />
176 993 952 85<br />
E-Mail info@naturheilpraxislindner.com<br />
Web www.naturheilpraxislindner.com<br />
Öffnungszeiten<br />
Mo. – Do.<br />
8:00 – 20:00 Uhr<br />
Fr. 8:00 –<br />
16:00 Uhr<br />
Termine nach Vereinbarung<br />
Wie Sie sehen, wird der gesamte Adressblock<br />
von einem div-Container mit dem<br />
Attribut itemtype=“http://schema.org/<br />
MedicalOrganization“ umschlossen. Damit<br />
weiß Google, dass es sich bei diesem<br />
Objekt um eine medizinische Organisation<br />
handelt. Anschließend folgen Attribute<br />
für den Namen der Organisation,<br />
Adresse, Telefonnummer, E-Mail-Adresse<br />
und zu guter Letzt die Öffnungszeiten<br />
der Praxis. Wie werden die Rich Snippets<br />
in einer Website dargestellt? Gar nicht! Es<br />
handelt sich tatsächlich um für den Be-<br />
Übersichtlich:<br />
Referenz der<br />
Mikrodaten auf<br />
schema.org.<br />
www.internet-magazin.de 35
WEBDESIGN | Google Rich Snippets<br />
sucher unsichtbare Daten, die alleine<br />
für Maschinen und Computer (Suchmaschinen,<br />
Browser, mobile Endgeräte,<br />
semantische Webservices und so weiter)<br />
vorgesehen sind. Sie sind nur im Quellcode<br />
sichtbar.<br />
Das Testtool<br />
Um sicher zu gehen, dass bei der Einbindung<br />
<strong>des</strong> Zusatzmarkups keine Fehler<br />
gemacht wurden, können Sie das<br />
Testtool für strukturierte Daten aus den<br />
Webmaster-Tools einsetzen (http://<br />
www.google.com/webmasters/tools/<br />
richsnippets). Dort hat man zwei Möglichkeiten:<br />
Entweder man gibt eine URL<br />
an, die analysiert werden soll, oder man<br />
kopiert den entsprechenden HTML-Code<br />
für die Analyse in ein Formular. Das Tool<br />
zeigt Ihnen daraufhin an, welche Informationen<br />
Google aus dem Markup Ihrer<br />
Website auslesen kann. Beachten Sie,<br />
dass es sich hierbei nur um eine <strong>Vorschau</strong><br />
handelt. Das tatsächliche Suchergebnis<br />
muss nicht zwingend genauso aussehen.<br />
Wie bei allen Änderungen an Markup,<br />
Struktur oder Inhalten Ihrer Website<br />
kann es eine Weile dauern, bis diese<br />
sich in den Suchergebnissen oder auf<br />
Google Places wiederfinden. Sollten sie<br />
allerdings gar nicht auftauchen, so kann<br />
das verschiedenste Gründe haben: Eventuell<br />
haben Sie den Code nicht richtig<br />
verschachtelt oder Sie haben gegen die<br />
Nutzungsrichtlinien verstoßen. Da in der<br />
Vergangenheit auch schon viel Schindluder<br />
getrieben wurde, insbesondere<br />
mit falschen Bewertungen, behält sich<br />
Google vor, Rich Snippets unter Umständen<br />
nicht anzuzeigen.<br />
Rich Snippets im System<br />
Wie kommen die Rich Snippets in Ihr Sys<br />
-tem? Prinzipiell handelt es sich um eine<br />
reine Frontend-Angelegenheit. Aus MVC-<br />
Perspektive spielt sich alles in der View<br />
ab, das heißt man kann eigentlich alle<br />
Vollständig: Analyseergebnis aus dem<br />
Testtool für strukturierte Daten.<br />
Anpassungen über die Templates steuern.<br />
Je nachdem, welches CMS, welche<br />
Blog- oder Shop-Software Sie einsetzen,<br />
können Sie den zusätzlichen Markup<br />
direkt in die für die Ausgabe der Inhalte<br />
verantwortlichen Dateien schreiben. Bei<br />
Magento ist zum Beispiel die Datei<br />
/app/<strong>des</strong>ign/frontend/*/*/template/<br />
catalog/product/view.phtml<br />
für die Darstellung der Produktdetails<br />
zuständig.<br />
Für die meisten Systeme existieren aber<br />
auch Erweiterungen, die die entsprechenden<br />
Funktionen automatisch in die<br />
Seite einfügen.<br />
Für Wordpress gibt es beispielsweise<br />
den Schema Creator, mit <strong>des</strong>sen Hilfe<br />
man Mikrodaten in den Inhalt einer Seite<br />
oder eines Artikels einfügen kann (http://<br />
wordpress.org/extend/plugins/schemacreator/),<br />
oder das Rich Contact Widget<br />
(http://wordpress.org/extend/plugins/<br />
rich-contact-widget/), mit dem man ein<br />
mit Metadaten angereichertes Adress-<br />
Widget in die Sidebar einfügen kann.<br />
Für Drupal gibt es die Module Schemaorg<br />
(http://drupal.org/project/schemaorg)<br />
und Microdata (http://drupal.org/project/<br />
microdata), die in ihrer Funktion sehr<br />
weit gehen und sehr flexibel systemweit<br />
einsetzbar sind.<br />
Auf Magento Connect findet man das<br />
kostenlose Modul MSemantic, das<br />
anscheinend sogar mit Bun<strong>des</strong>fördermitteln<br />
entwickelt wurde und die Produktinformationen<br />
im Shop mit entsprechenden<br />
Rich Snippets anreichert<br />
(http://www.magentocommerce.com/<br />
magento-connect/msemantic-semantic-seo-for-rich-snippets-in-googleand-yahoo.html).<br />
Fazit<br />
Wann sollten Sie Rich Snippets einsetzen?<br />
Wann immer es sinnvoll möglich<br />
ist! Das klingt banal, aber falls es für Ihre<br />
Inhalte entsprechende Schemata gibt,<br />
sollten Sie diese auch unbedingt nutzen<br />
– denn nicht nur Suchmaschinen können<br />
etwas damit anfangen. Mobile Endgeräte<br />
können die Daten zum Beispiel verwenden,<br />
um eine Telefonnummer direkt<br />
anzurufen oder eine Adresse zu finden.<br />
In Zukunft wird es immer mehr <strong>Die</strong>nste<br />
geben, die auf semantische Metadaten<br />
zugreifen, daher lohnt sich der Einsatz<br />
mit Sicherheit.<br />
Selbstverständlich müssen die Informationen<br />
im Quellcode wahrheitsgemäß<br />
sein. Immer öfter hört man von Websites,<br />
die Angaben manipulieren, um<br />
sich besser darzustellen. Insbesondere<br />
Bewertungen sind davon betroffen, da<br />
die Informationen willkürlich eingetragen<br />
werden können. Da Google aber<br />
bekanntlich intelligent ist, werden solche<br />
Täuschungen sofort wieder aus den<br />
Suchergebnissen entfernt.<br />
Thomas Kraehe<br />
36 0513 internet magazin
XDEV Framework | WEBENTWICKLUNG<br />
XDEV-Framework intern<br />
Das XDEV-Framework automatisiert alle wichtigen<br />
Prozesse zwischen grafischer Oberfläche und Datenbank<br />
und vereinfacht damit die Entwicklung von<br />
Datenbankanwendungen in Java radikal.<br />
Im Java-Umfeld sind vor allem Eclipse<br />
und Netbeans als Entwicklungsumgebung<br />
bekannt. Für beide gibt es GUI Builder,<br />
doch gelten diese als nicht besonders<br />
komfortabel. Mit einem GUI Builder allein<br />
erhält man in Java zudem nicht mehr als<br />
eine nackte Oberfläche ohne Funktion.<br />
Mit Eclipse und Netbeans ist dann auch<br />
schon Endstation in Sachen visueller Unterstützung<br />
und es wird schlagartig richtig<br />
kompliziert. Datenbankoperationen in<br />
Java erfordern den Einsatz komplexer Java-Enterprise-Technik<br />
wie JPA oder Hibernate,<br />
und für die Visualisierung der Daten<br />
auf der Oberfläche muss sich der Entwickler<br />
mit JDBC- und anspruchsvoller MVC-<br />
Programmierung (Model View Controller)<br />
auseinandersetzen. <strong>Die</strong> Praxis zeigt, dass<br />
für den Einsatz von Hibernate eine Menge<br />
Basis-Know-how und sehr viel Programmiererfahrung<br />
notwendig ist. Wer<br />
die objektorientierte Programmierung in<br />
Java nicht aus dem Effeff beherrscht, hat<br />
mit Hibernate keine Chance und kann<br />
praktisch keine anspruchsvollen Datenbankanwendungen<br />
in Java entwickeln.<br />
<strong>Die</strong> Umstellung von prozeduraler auf objektorientierte<br />
Programmierung, das Umdenken<br />
von Tabellen, Datensätzen und<br />
Relationen auf Klassen und Objekte und<br />
dann auch noch die Umstellung bei Datenbankzugriffen<br />
von SQL auf JPA ist so,<br />
als müsste man vom Rechts- zum Linkshänder<br />
werden.<br />
Genau hier nun setzt XDEV 3 mit dem integrierten<br />
XDEV-Application-Framework<br />
an. Das Framework klinkt sich zwischen<br />
Oberfläche und Datenbank und verbindet<br />
beide Schichten nahtlos miteinander<br />
(Data Binding). <strong>Die</strong> Verknüpfung der<br />
Datenbanktabellen mit entsprechenden<br />
GUI Controls erfolgt im GUI Builder per<br />
Drag-and-Drop. Um alle anderen Dinge<br />
kümmert sich das Framework vollautomatisch:<br />
Um den Aufbau von Datenbankverbindungen,<br />
das Absetzen von<br />
Standard-Queries zum Füllen von Listen,<br />
Tabellen und Trees oder um die Verarbeitung<br />
und Aufbereitung der Abfrageergebnisse<br />
(JDBC-Resultsets). Lazy Loading<br />
wird mit Version 4 nun standardmäßig<br />
unterstützt, was auch bei automatischen<br />
Queries bestmögliche Performance garantiert.<br />
Zudem stellt das Framework für<br />
alle Controls passende GUI-Models und<br />
Renderer zur Verfügung und bereitet alle<br />
Daten in Form einer Tabellenstruktur auf,<br />
sodass der Entwickler nicht zwingend Objekte<br />
verwenden muss, sondern auch mit<br />
Tabellen, Spalten, Datensätzen und Relationen<br />
arbeiten kann. Auch um die Persistierung<br />
der Daten, um die dabei wichtige<br />
Transaktionssicherheit und um eine<br />
verschlüsselte Übertragung der Daten<br />
kümmert sich das Framework und sogar<br />
konkurrierende Schreibzugriffe werden<br />
ab Version 4 automatisch bewerkstelligt.<br />
Damit stellt das XDEV-Application-Framework<br />
eine durchgängige Basisarchitektur<br />
mit voll funktionsfähiger Infrastruktur für<br />
Datenbankanwendungen mit grafischer<br />
Oberfläche zur Verfügung und befreit den<br />
Entwickler von aufwändiger Infrastruktur-,<br />
JDBC- und MVC- sowie von komplexer<br />
OR-Mapper-Programmierung à la Hibernate.<br />
Das vereinfacht die Anwendungsentwicklung<br />
in Java radikal und stellt vor<br />
allem für Java-Ein- und -Umsteiger einen<br />
gewaltigen Mehrwert dar.<br />
Datenbankunabhängigkeit<br />
Das XDEV-Application-Framework ist<br />
für Datenbankunabhängigkeit ausgelegt.<br />
Dafür stellt es eigene Datenbankschnittstellen<br />
zur Verfügung, die auf JDBC aufsetzen<br />
und die JDBC-Treiber der jeweiligen<br />
Datenbanken erweitern. <strong>Die</strong> Standarddatenbankschnittstelle<br />
JDBC ermöglicht lediglich<br />
die Kommunikation zwischen Java<br />
und einer Datenbank. <strong>Die</strong> XDEV-Schnittstellen<br />
dagegen gleichen die wichtigsten<br />
Unterschiede bei der SQL-Syntax aus, die<br />
bei den verschiedenen Datenbanken trotz<br />
SQL-Standard zum Teil im erheblichen<br />
Maße bestehen.<br />
// MySQL<br />
SELECT * FROM kunde LIMIT 0,10;<br />
// MS SQL<br />
SELECT TOP 10 * FROM kunde;<br />
www.internet-magazin.de 37
WEBENTWICKLUNG | XDEV Framework<br />
// Oracle<br />
SELECT * FROM kunde WHERE ROWNUM
XDEV Framework | WEBENTWICKLUNG<br />
Controls sind Renderer zuständig. All das<br />
wird in XDEV 3 mit virtuellen Tabellen<br />
vollständig automatisiert. <strong>Die</strong> virtuelle<br />
Tabelle ist ein zentrales Architekturkonzept,<br />
das das XDEV-Application-Framework<br />
zur Verfügung stellt. Eine virtuelle<br />
Tabelle ist eine Zwischenschicht zwischen<br />
Oberfläche und Datenschicht. Mit<br />
ihrer Hilfe lassen sich GUI-Controls auf<br />
einfache Weise mit einer entsprechenden<br />
Datenbanktabelle verdrahten (Data Binding)<br />
und alles was zwischen Oberfläche<br />
und Datenschicht passiert, wird durch<br />
das Framework vollständig automatisiert.<br />
Um Daten auf Ihre Oberfläche zu<br />
bringen, müssen Sie in XDEV 3 lediglich<br />
eine virtuelle Tabelle mit der Maus auf<br />
ein GUI Control im GUI Builder ziehen.<br />
Alles Weitere erledigt das Framework im<br />
Hintergrund vollautomatisch für Sie. Das<br />
Funktionsprinzip ist simpel: Eine virtuelle<br />
Tabelle ist vereinfacht ausgedrückt eine<br />
leere Kopie einer Datenbanktabelle, die<br />
sich im Hauptspeicher <strong>des</strong> Clients befindet.<br />
Nach jeder Datenbankabfrage werden<br />
die Daten wie bei einem Datenpuffer<br />
automatisch in die Tabelle geschrieben.<br />
Für die Ausgabe der Daten stellt die virtuelle<br />
Tabelle GUI-Models und Renderer für<br />
alle GUI-Controls zur Verfügung, die vom<br />
XDEV-3-GUI-Builder unterstützt werden.<br />
Und sogar sämtliche Standardabfragen<br />
lassen sich durch die virtuelle<br />
Tabelle automatisch absetzen, sodass<br />
Listboxen, Comboboxen, Tabellen und<br />
Trees automatisch mit Daten gefüllt werden.<br />
<strong>Die</strong> für die Abfragen über mehrere<br />
Datenbanktabellen notwendigen Joins<br />
werden ebenfalls automatisch generiert.<br />
Voraussetzung dafür ist eine Definition<br />
der Relationen zwischen den Tabellen.<br />
Dafür gibt es in der XDEV-3-IDE einen<br />
speziellen ER-Designer. Wer auf eine<br />
existierende Datenbank aufsetzt, kann<br />
seine bereits definierten Constraints bequem<br />
importieren. SQL-Profis, die ihre<br />
Abfragen nicht einem Framework überlassen,<br />
sondern selber im Griff haben<br />
möchten, können sämtliche Standard-<br />
Queries durch eigene SQLs oder Stored<br />
Procedures ersetzen. Auch der Zugriff<br />
über JPA und Hibernate ist grundsätzlich<br />
immer alternativ möglich.<br />
Performance-Garantie<br />
In Version 4 wird dieser Standardfuntionsumfang<br />
um ein weiteres, mächtiges Feature<br />
erweitert. Nach jeder Datenbankabfrage<br />
übergibt das Framework an den<br />
Client immer nur so viele Datensätze,<br />
wie die zur Visualisierung verwendete<br />
GUI-Komponente anzeigen kann (Lazy<br />
Loading). <strong>Die</strong> restlichen Daten lassen sich<br />
mit Hilfe einer Steuerleiste Seite für Seite<br />
ausgeben (Paging) oder durch Bewegen<br />
der Scrollbar satzweise on demand nachladen.<br />
Dabei ist dem Framework egal, ob<br />
die Abfrage vom Framework selbst oder<br />
vom Entwickler als selbstdefinierte SQL-<br />
Anweisung abgesetzt wird. Durch die<br />
Verbindung von GUI-Komponente und<br />
virtueller Tabelle findet jede Änderung der<br />
Daten, egal ob in einer Tabelle oder mit<br />
Hilfe eines Formulars, zunächst einmal<br />
nur in einer virtuellen Tabelle statt. Erst<br />
wenn ein bestimmtes Ereignis eintritt, der<br />
Anwender zum Beispiel auf „Speichern“<br />
klickt, wird die betroffene virtuelle Tabelle<br />
mit der entsprechenden Datenbanktabelle<br />
synchronisiert. Dafür stellt die Klasse<br />
Virtuelle Tabelle die Methode synchronizeChangedRows<br />
zur Verfügung.<strong>Die</strong><br />
Synchronisierung der Daten erfolgt auto-<br />
Bestmögliche Performance<br />
durch<br />
Lazy Loading.<br />
matisch als Transaktion,<br />
sodass<br />
Sie sich auch um<br />
Transaktionssicherheit<br />
nicht<br />
kümmern müssen.<br />
Ergänzend<br />
dazu stellt der Code-Editor von XDEV 3<br />
ein spezielles Transaktionscode-Template<br />
zur Verfügung, in das man nur noch entsprechende<br />
Queries einsetzen muss, die<br />
man als Transaktion ausführen möchte.<br />
Zur Laufzeit werden die für die angebundene<br />
Datenbank optimierten SQLs vom<br />
Framework dynamisch generiert.<br />
Konkurrierende Zugriffe<br />
<strong>Die</strong> neue Version 4 liefert nun auch das<br />
letzte Puzzlestück für eine durchgängig<br />
automatisierte Datenverarbeitung. Das<br />
Framework kümmert sich jetzt nämlich<br />
auch um konkurrierende Schreibzugriffe.<br />
Vor jeder Datenänderung lassen<br />
sich die betroffenen Datensätze auf<br />
Datensatzebene sperren, wodurch ein<br />
Überschreiben der Daten durch andere<br />
Benutzer verhindert wird. Mit Hilfe eines<br />
Assistenten lässt sich mit wenigen Mausklicks<br />
konfigurieren, wie das gesamte<br />
Sperrverfahren funktionieren soll, insbesondere<br />
wann eine Sperre gesetzt wird,<br />
wie Endbenutzer darüber informiert werden,<br />
wie lange Sperren existieren dürfen,<br />
wann sie automatisch durch das System<br />
aufgehoben werden oder ob und unter<br />
welchen Umständen Endbenutzer eigene<br />
Sperren verlängern oder aufheben<br />
können. Unterstützt werden sowohl das<br />
optimistische als auch das pessimistische<br />
Verfahren. Auch dieses Konzept funktioniert<br />
datenbankunabhängig. Download<br />
unter www.xdev-software.de.<br />
Sven Neumann<br />
www.internet-magazin.de 39
WEBENTWICKLUNG | Yeoman<br />
Entwicklungen<br />
automatisieren<br />
mit Yeoman<br />
Eine Reihe von Entwicklungsschritten ist in jedem<br />
Projekt annähernd gleich und kostet doch eine Menge<br />
Zeit. Google bietet Ihnen für eine Vielzahl dieser<br />
Aufgaben mit Yeoman die passende Lösung an.<br />
Yeoman geht mit dem Slogan „Modern nicht erschienen. Trotz allem ist es möglich,<br />
Yeoman unter Windows zu betrei-<br />
workflows for modern webapps“ an<br />
den Start und beschreibt damit recht treffend<br />
das Ziel der Werkzeugsammlung:<br />
Sie dient zur Vereinfachung und Optimierung<br />
verschiedener Arbeitsschritte bei<br />
der Erstellung einer modernen Webapp.<br />
<strong>Die</strong>s fängt bei der Anpassung von Bildern<br />
für verschiedene Endgeräte an und hört<br />
beim Unit Testing auf. Der Schwerpunkt<br />
der integrierten Bibliotheken und Werkzeuge<br />
liegt dabei klar auf Entwicklungen<br />
mit Javascript und CSS.<br />
ben; dies ist allerdings mit gewissen Vorarbeiten<br />
verbunden. Praveen Vijayan hat<br />
sich die Mühe gemacht und die notwendigen<br />
Schritte auf der Website decodize.<br />
com zusammengefasst (http://decodize.<br />
com/css/installing-yeoman-front-end-development-stack-windows/#chocolatey).<br />
<strong>Die</strong> Installation unter Linux und Mac OS<br />
X hingegen ist denkbar einfach. Öffnen<br />
Sie ein Konsolenfenster und geben Sie in<br />
dieses den folgenden Befehl ein:<br />
curl -L get.yeoman.io | bash<br />
Einstiegspunkt<br />
Aktuell gibt es Yeoman als Installationspaket<br />
für Linux und Mac OS X. Eine Windows-Version<br />
wurde bereits im September<br />
2012 angekündigt, ist aber bis jetzt<br />
<strong>Die</strong> Installationsroutine prüft, ob alle<br />
Voraussetzungen für die Installation von<br />
Yeoman auf Ihrem System gegeben sind,<br />
und zeigt Ihnen alternativ an, welche<br />
Programme noch nicht vorhanden sind.<br />
Sollten noch Programmpakete<br />
Voraussetzungen für die Installation<br />
fehlen, sehen<br />
Yeoman in der aktuellen Version setzt eine Reihe von Anwendungen<br />
für den Betrieb voraus. <strong>Die</strong>s sind im Einzelnen:<br />
Sie diese in der<br />
Liste inklusive<br />
» NodeJS >= 0.8.x<br />
» Ruby >= 1.8.7<br />
» Compass >= 0.12.1<br />
» optipng<br />
» jpegtran<br />
» PhantomJS >= 1.6<br />
der notwendigen<br />
Aufrufe für die<br />
Installation. Abhängig<br />
von der<br />
Installieren oder aktualisieren Sie diese, bevor Sie Yeoman in<br />
Betrieb nehmen.<br />
aktuellen Konfiguration<br />
Ihres<br />
Systems kann es eine Weile dauern, bis<br />
Sie alle Pakete zusammenhaben. Gerade<br />
die Installation <strong>des</strong> Pakets phantomjs ist<br />
zeitlich etwas aufwändiger, da es auf Ihrem<br />
System komplett neu gebaut werden<br />
muss. Deswegen sollten Sie bei diesem<br />
auf das Build-Paket zurückgreifen, das<br />
auf der PhantomJS-Website angeboten<br />
wird. Nachdem Sie dieses Ihrem System<br />
hinzugefügt haben, rufen Sie das Skript<br />
erneut auf. Sind jetzt alle Anwendungen<br />
vorhanden, wird das Toolset automatisch<br />
installiert. Weitere Installationshinweise<br />
finden Sie auf den Hilfeseiten <strong>des</strong> Projektes<br />
unter<br />
https://github.com/yeoman/yeoman/<br />
wiki/Manual-Install<br />
Erste Schritte<br />
Nachdem Sie die Installationshürde gemeistert<br />
haben, sollten Sie sich erst einmal<br />
einen Überblick verschaffen. Eine<br />
komplette Übersicht aller zur Verfügung<br />
stehenden Funktionen erhalten Sie über<br />
den Befehl yeoman.<br />
Zu den meisten der aufgelisteten Befehle<br />
können Sie sich auch eine detaillierte<br />
Beschreibung anzeigen lassen. Dazu fügen<br />
Sie den Parameter --help hinzu. <strong>Die</strong><br />
entsprechende Befehlszeile für genauere<br />
40 0513 internet magazin
Yeoman | WEBENTWICKLUNG<br />
Informationen zum init-Befehl sieht dann<br />
wie folgt aus:<br />
yeoman init –-help<br />
Wenn Sie eine übergreifende Hilfe für die<br />
Nutzung von Yeoman benötigen, passen<br />
Sie den Befehl entsprechend an:<br />
yeoman --help<br />
Für die folgenden Beispiele nutzen wir<br />
ein imaginäres Webapp-Projekt mit dem<br />
Namen internetmagazin. Damit Sie die<br />
folgenden Beispiele nachvollziehen<br />
können, benötigen Sie ein Verzeichnis<br />
mit dem entsprechenden Namen. In<br />
unserem Beispiel wird dieses direkt auf<br />
dem Desktop angelegt. <strong>Die</strong>s können Sie<br />
entweder über die grafische Oberfläche<br />
oder per Terminal machen:<br />
cd ~/Desktop<br />
mkdir internetmagazin<br />
cd internetmagazin<br />
Nach Eingabe dieser drei Befehle befinden<br />
Sie sich im neu erzeugten Ordner<br />
internetmagazin, der sich auf dem<br />
Desktop befindet.<br />
Anschließend können Sie auch Yeoman<br />
seine Arbeit verrichten und die Grundstrukturen<br />
anlegen lassen. <strong>Die</strong>s geschieht<br />
über den Befehl<br />
yeoman init<br />
Sie haben anschließend innerhalb<br />
<strong>des</strong> Terminalfensters die Möglichkeit,<br />
verschiedene Parameter zu setzen<br />
und so das Aussehen Ihrer künftigen<br />
Anwendung zu beeinflussen. Es wird<br />
unter anderem gefragt, ob Sie Bootstrap<br />
für Compass, Twitter Bootstrap,<br />
RequireJS oder ECMAScript 6 nutzen<br />
möchten. Entsprechend werden die<br />
Programmbibliotheken Ihrem Projekt<br />
hinzugefügt oder nicht.<br />
Sind das zu viele Optionen oder benötigen<br />
Sie nur das Grundpaket mit HTML5<br />
Boilerplate, Modernizr und jQuery, dann<br />
können Sie diesen Schritt noch einmal<br />
verkürzen. Geben Sie dazu alternativ<br />
den folgenden Befehl ein:<br />
yeoman init<br />
Der Betrieb von<br />
Yeoman unter<br />
Windows wird<br />
aktuell nicht offiziell<br />
unterstützt<br />
und erfordert die<br />
manuelle Installation<br />
zahlreicher<br />
Anwendungen.<br />
quickstart<br />
fügung stehen, bekommen Sie über den<br />
Abhängig von Ihrer Auswahl sucht Yeoman<br />
anschließend die notwendigen also yeoman init --help.<br />
Aufruf der Hilfefunktion <strong>des</strong> Befehls init,<br />
Daten bei Github zusammen. Zum Abschluss<br />
erhalten Sie die Grundstrukturen Ein lokaler Webserver<br />
Ihrer Website, welche dank H5BP eine Bei vielen Entwicklungen müssen Sie<br />
Indexdatei und eine Fehlerseite enthält. einen lokalen Webserver zur Verfügung<br />
Abhängig von der Auswahl Ihrer zusätzlich<br />
installierten Bibliotheken haben Sie der direkten Installation eines Apache-<br />
haben. <strong>Die</strong>s erreichen Sie entweder mit<br />
mehr oder weniger viele Dateien im Servers oder über eine Serversammlung<br />
Installationsverzeichnis Ihres Projekts. wie LAMP oder XAMPP – oder Sie nutzen<br />
für diesen Fall auch Yeoman. Mit<br />
Neben diesen beiden Möglichkeiten, ein<br />
neues Projekt anzulegen, bietet Yeoman dem Befehl yeoman server starten Sie<br />
noch einen differenzierteren Weg, der Ihnen<br />
das Hinzufügen weiterer Templates Damit haben Sie die Basis für die lokale<br />
einen Webserver auf dem Port 3501.<br />
erlaubt. Dazu nutzt Yeoman Generatoren. Ausführung Ihrer Anwendung geschaffen.<br />
<strong>Die</strong>se fügen Sie als weiteren Parameter <strong>Die</strong>se rufen Sie anschließend im Browser<br />
beim Aufruf <strong>des</strong> init-Befehls hinzu: entsprechend über http://localhost:3501<br />
yeoman init <br />
und das entsprechende Verzeichnis auf.<br />
Im folgenden Beispiel wird der Generator<br />
angular verwendet samt einem Un-<br />
auch direkt das passende Browserfenster<br />
Mit dem Start <strong>des</strong> Servers öffnet Yeoman<br />
tergenerator all. Mit diesen beiden fügen für Sie und zeigt die Einstiegsseite Ihres<br />
Sie alle Dateien hinzu, _056AF_Weber_pcm_N_05.ps;S: 1;Format:(90.00 x 60.00 mm);02. Mar 2011 07:54:29<br />
welche für eine neue<br />
Anwendung auf Basis<br />
von AngularJS notwendig<br />
sind.<br />
yeoman init<br />
angular:all<br />
Eine komplette Liste,<br />
welche Generatoren in<br />
der von Ihnen verwendeten<br />
Version zur Ver-<br />
www.internet-magazin.de<br />
41<br />
M51
WEBENTWICKLUNG | Yeoman<br />
<strong>Die</strong> Schritte von Yeoman beim Build-Prozess<br />
Yeoman durchläuft eine Reihe von Schritten während <strong>des</strong> Build-Prozesses und versucht<br />
damit, den vorhandenen Code endgültig zu analysieren und zu verbessern. <strong>Die</strong> Schritte<br />
sind im Einzelnen:<br />
» Prüfung aller Javascript-Dateien mit Hilfe von JSHint<br />
» Rekompilierung aller Coffeescript- und Sass-Dateien<br />
» Einsatz von r.js zur Kompilierung und Optimierung aller AMD-Module<br />
» Zusammenfassung und Komprimierung von Skripten und Stylesheets<br />
» Komrimierung von Bildern unter Einsatz von OptiPNG für PNG-Dateien und<br />
JPEGtran-turbo für JPEGs.<br />
» Erzeugen eines Appcache-Manifests für Webanwendungen auf Basis von confess.js<br />
» Versionierung von Dateinamen<br />
Projekts an. Eine weitere Funktion, welche<br />
Yeoman in diesem Zusammenhang<br />
zur Verfügung stellt, ist die Bibliothek<br />
Livereload. <strong>Die</strong>se beobachtet Ihr Projekt<br />
und die getätigten Änderungen, kompiliert<br />
diese automatisch im Hintergrund<br />
und lädt die Website neu. Haben Sie<br />
Aktualisierungen in Ihren Coffeescriptoder<br />
Compass-Dateien gemacht und abgespeichert,<br />
werden diese automatisch<br />
erkannt und Sie müssen keine manuellen<br />
Schritte unternehmen, um die Ergebnisse<br />
im Browser betrachten zu können. Näheres<br />
zu LiveReload und den Konfigurationsmöglichkeiten<br />
finden Sie auf der<br />
Projekt-Website<br />
http://livereload.com/<br />
Mit dem Aufruf von yeoman server wird<br />
automatisch ein build-Verzeichnis in ihrem<br />
Projektordner angelegt. In diesem<br />
finden Sie anschließend auch die aktualisierten<br />
kompilierten Dateien wieder.<br />
Serverprofile<br />
Damit Sie nicht zu viel Konfigurationsarbeit<br />
in den Server stecken müssen, hat<br />
Yeoman ihn bereits mit Hilfe mehrerer<br />
Profile vorkonfiguriert und mit verschiedenen<br />
zusätzlichen Aktionen gekoppelt.<br />
<strong>Die</strong>se können Sie beim Start <strong>des</strong> Servers<br />
als Konfigurationsinformationen mitgeben.<br />
Aktuell stehen vier unterschiedliche<br />
Konfigurationen zur Verfügung:<br />
» yeoman server und yeoman server:app<br />
kompilieren und führen die Inhalte <strong>des</strong><br />
/temp-Verzeichnisses aus, in welchem<br />
sich die aktuelle build-Version Ihrer<br />
Anwendung befindet.<br />
» yeoman server:dist liefert eine optimierte<br />
Endversion Ihrer Anwendung<br />
aus. Dazu bedient sich Yeoman <strong>des</strong><br />
/dist-Verzeichnisses und führt den Yeoman<br />
Build im Vorfeld aus.<br />
» yeoman server:test führt zusätzlich die<br />
konfigurierten Unit-Tests aus und stellt<br />
sicher, dass alle Änderungen an Ihrem<br />
Programmcode automatisch per Livereload<br />
berücksichtigt werden.<br />
» yeoman server:reload nutzt Livereload<br />
auf dem Port 35729 und unterbindet<br />
das automatische Starten <strong>des</strong> Standard-<br />
browsers. <strong>Die</strong>ses ermöglicht die<br />
parallele Installation von Livereload auf<br />
einem weiteren Server und gegebenenfalls<br />
auch den gemeinsamen Betrieb.<br />
Vereinfachtes Unit Testing<br />
Während der Entwicklung Ihrer Anwendung<br />
kann Sie Yeoman im nächsten<br />
Schritt beim Unit Testing unterstützen.<br />
Dafür ist das Mocha-Framework direkt<br />
mitinstalliert. <strong>Die</strong> Konfiguration der Tests<br />
müssen Sie natürlich im Vorfeld festlegen.<br />
Falls Sie noch nie mit dem Mocha-<br />
Framework gearbeitet haben, sollten Sie<br />
sich als Erstes die Dokumentation zu Gemüte<br />
führen unter<br />
http://visionmedia.github.com/mocha/<br />
und anschließend mit der Definition der<br />
Tests beginnen. Sie müssen sich jedoch<br />
nicht mehr um die Konfiguration der Umgebung<br />
kümmern, denn dies hat Yeoman<br />
bereits für Sie erledigt. Sie starten die Ausführung<br />
der Tests nun mit dem Befehl<br />
yeoman test<br />
Yeoman übernimmt in diesem Prozess die<br />
meiste Arbeit für Sie: <strong>Die</strong> Dateien Ihres<br />
Projektes werden zusammengesammelt,<br />
die Testdateien werden geladen, die Tests<br />
durchgeführt und anschließend erhalten<br />
Sie die Ergebnisse zurückgespielt.<br />
Neben dem Mocha-Framework sieht<br />
Yeoman zusätzlich die Analyse mit Testacular<br />
vor. <strong>Die</strong>ses Framework wird jedoch<br />
nicht direkt zu Beginn mitinstalliert. Sie<br />
können es mit Hilfe eines Generators und<br />
dem init-Befehl nachinstallieren:<br />
yeoman init testacular:app<br />
Build-Prozess optimieren<br />
Vor der Auslieferung einer Anwendung<br />
wird in der Regel eine Reihe von Optimierungsschritten<br />
durchlaufen, welche<br />
den Programmcode und die Objekte<br />
entsprechend vorbereiten sollen.<br />
Yeoman nutzt für diese Belange die Bibliothek<br />
Grunt<br />
http://gruntjs.com/<br />
welche auf die Optimierung von Javascript-Projekten<br />
fokussiert ist. Eine<br />
genauere Auflistung der durchlaufenen<br />
Schritte finden Sie im Kasten „Durchlaufende<br />
Schritte beim Build-Prozess“.<br />
<strong>Die</strong> Basis für die Optimierungsschritte<br />
stellt die Datei Gruntfile.js dar, welche<br />
automatisch beim Erzeugen eines neuen<br />
Projekts mit Yeoman direkt mitangelegt<br />
wird. Sie können diese Datei natürlich<br />
entsprechend Ihren Belangen anpassen,<br />
Pfade verändern und neue Funktionen<br />
Aktionen beim Build<br />
standard<br />
text<br />
buildkit<br />
basics<br />
minify<br />
42 0513 internet magazin
Yeoman | WEBENTWICKLUNG<br />
hinzufügen. Den kompletten Leistungsumfang<br />
von Grunt finden Sie entsprechend<br />
auf der Projekt-Website.<br />
Paket mit dem angegebenen Namen und<br />
lookup sucht nach einem<br />
Es gibt zwei Aktionen, bei denen Ihre liefert eine entsprechende Bestätigung,<br />
Compass- und Coffeescript-Anwendungsdaten<br />
kompiliert werden. <strong>Die</strong>s den sein. Wenn Sie sich in Bezug auf<br />
sollte es unter diesem Namen vorhan-<br />
ist zum einen beim Aufruf <strong>des</strong> Webservers<br />
und zum anderen, wenn Sie den die Variante yeoman search <br />
den Namen nicht sicher sind, sollten Sie<br />
build-Befehl ausführen. Im ersten Fall verwenden, und Sie bekommen eine<br />
werden alle relevanten<br />
Daten in das Verzeichnis<br />
/temp geschoben;<br />
wenn Sie den build-<br />
Prozess aktiv starten,<br />
wird entsprechend<br />
das dist-Verzeichnis<br />
erzeugt und die optimierten<br />
Versionen Ihrer<br />
Anwendungsdaten<br />
werden dorthin abgelegt.<br />
Es gibt – wie auch<br />
bei der Ausführung <strong>des</strong><br />
Servers – verschiedene<br />
Parameter, welche Sie<br />
beim Aufruf <strong>des</strong> build- Sie können verschiedene Programmpakete ganz individuell<br />
Befehls mitgeben können.<br />
Abhängig davon<br />
zu Ihrem Projekt hinzufügen.<br />
werden verschiedene Kombinationen entsprechende Treffermenge angezeigt.<br />
von Optimierungen durchlaufen. Wir Natürlich gibt es zu den verschiedenen<br />
haben die verschiedenen Aktionen für Bibliotheken in gewissen Abständen Aktualisierungen.<br />
<strong>Die</strong>se werden nicht auto-<br />
Sie zusammengefasst.<br />
matisch, können jedoch über den Befehl<br />
Installieren von Zusatzpaketen yeoman update individuell<br />
installiert werden.<br />
Yeoman bietet Ihnen darüber hinaus eine<br />
flexible Möglichkeit, den Funktionsumfang<br />
zu erweitern, und hat dazu einen eigenen<br />
Paketmanager namens Bower mit Yeoman liefert einen interessanten An-<br />
Fazit<br />
integriert. <strong>Die</strong>sen rufen Sie über den Befehl<br />
yeoman install auf und sehen dann Webanwendungen. Gerade wenn Sie mit<br />
satz für die Entwicklung und den Test von<br />
die zur Verfügung stehenden Pakete. einer Reihe von Bibliotheken arbeiten,<br />
Wenn Sie anschließend den Paketnamen die Sie jedoch nur fallweise mit in ein<br />
mit anfügen, sammelt Yeoman eigenständig<br />
die notwendigen Dateien zusammen Werkzeug viel Zeit und Mühe. Yeoman<br />
Projekt integrieren, sparen Sie mit diesem<br />
und installiert die Anwendung. Mit yeoman<br />
list sehen Sie darüber hinaus alle Pa-<br />
konzentrieren und nicht auf die Installa-<br />
hilft Ihnen, sich auf die Entwicklung zu<br />
kete, die Sie aktuell installiert haben. Für tion von Bibliotheken und Servern.<br />
die Suche innerhalb der Paketverwaltung<br />
Andreas Hitzig<br />
www.internet-magazin.de<br />
sieht Yeoman zwei Befehle vor: yeoman<br />
43<br />
Linux oder Windows<br />
vServer für 4,49 € im Monat<br />
Voller Root- und<br />
Administrator-Zugriff<br />
• Cloud-Funktion mit höchster Flexibilität<br />
• Kostenkontrolle durch tagesgenaue Abrechnung<br />
• Garantiert in 12 Stunden verfügbar<br />
• Jetzt ab sofort mit PrePaid-Funktion<br />
NEU: HP DL385 Gen8<br />
Hostsystem von HP<br />
Jetzt informieren & bestellen Tel.: 0211 / 545 957 - 300<br />
www.webtropia.com<br />
PLATINUM PARTNER<br />
vServer S 2.0<br />
Core`s (jeweils 2.000 MHz) 1<br />
RAM<br />
1.024 MB<br />
RAM Dynamisch<br />
2.048 MB<br />
Festplatte<br />
100 GB<br />
Traffic<br />
100 MBit<br />
Neu!<br />
Full-Flatrate<br />
Betriebssysteme<br />
Windows 2008 Standard oder<br />
Debian 6.0, CentOS 6,<br />
openSUSE 12.2, Ubuntu 12.04<br />
.de Domain inkl.<br />
IPv4 Adressen inkl.<br />
IPv6 Subnetz (/64) inkl.<br />
Extras<br />
Monatsgrundgebühr<br />
ab dem vierten Monat<br />
Monatsgrundgebühr<br />
für die ersten drei Monate<br />
powered by<br />
1<br />
1<br />
Firewall, Reboot, Recovery,<br />
Monitoring, Reverse DNS,<br />
Plesk 11 Admin-Panel<br />
8,99 €<br />
4,99 €
WEBENTWICKLUNG | Tipps für performante Websites<br />
search-ranking.html). Dort wurde die<br />
Geschwindigkeit der Website als eines<br />
der Kriterien – allerdings eines von Hunderten<br />
– genannt. Generell gilt es hier<br />
aus Google-Sicht, massive Fehler zu vermeiden<br />
und die Seiten mit ordentlicher<br />
Geschwindigkeit anzubieten. <strong>Die</strong> Angaben<br />
im Webmaster-Toolkit sind dabei nur<br />
Download-Zeiten für die Seite an sich,<br />
also für den HTML-Inhalt.<br />
Website-Tuning<br />
Um die Geschwindigkeit einer Website zu verbessern,<br />
gibt es sehr viele verschiedene Ansatzpunkte. Im ersten<br />
Schritt wird immer der Engpass ermittelt. Zwickt<br />
es in der Datenbank, ist das Frontend langsam oder<br />
hakt es im Backend? <strong>Die</strong>se und weitere Fragen klärt<br />
dieser Artikel und gibt Tipps zur Optimierung.<br />
In den meisten Fällen treten Performance-Probleme<br />
bei einer Website<br />
erst zu Tage, wenn sie einige Zeit gelaufen<br />
ist. Schleichend treten dann Probleme<br />
auf und Nutzer fühlen die mangelnde<br />
Geschwindigkeit. Ausnahmen<br />
sind Seiten, die von Anfang an unter<br />
hoher Last stehen und quasi überrannt<br />
werden. Manchmal fallen Probleme<br />
auch nur auf, wenn die Leitung <strong>des</strong><br />
Nutzers langsam ist. In diesem Fall<br />
wirken Websites mit Performance-Problemen<br />
im Vergleich zu gut optimierten<br />
Sites oft deutlich langsamer.<br />
Und auch bei Websites ohne wirkliche<br />
Performance-Probleme ergibt ein wenig<br />
Optimierung Sinn. Zum einen werden<br />
dann künftige Probleme bei gestiegener<br />
Last vermieden, zum anderen freuen<br />
sich Nutzer und auch Suchmaschinen.<br />
In der Tat hat Google der Performance-<br />
Optimierung im Jahr 2010 mit einem eigenen<br />
Artikel weitere Nahrung gegeben<br />
(http://googlewebmastercentral.blogspot.<br />
de/2010/04/using-site-speed-in-web-<br />
Der Flaschenhals<br />
Bei Performance-Problemen gleicht die<br />
Suche nach der Ursache manchmal der<br />
Arbeit eines Trüffelschweins. Man muss<br />
vom Browser über den Webserver bis zur<br />
Datenbank alle Teile der Anwendung im<br />
Blick haben. Wenn die Problem akut auftreten,<br />
sollte besonderes Augenmerk dem<br />
zuletzt hinzugefügten oder aktualisierten<br />
Teil gelten. Sehen wir uns die relevanten<br />
Teile noch einmal im Detail an:<br />
» Frontend – im Browser und bei den Daten,<br />
die an den Browser geliefert werden<br />
» Webserverkonfiguration – in den Einstellungen<br />
und bei der Auslagerung<br />
von Dateien<br />
» Backend – im eigentlichen Code, beim<br />
Caching, beim Zusammenbau von<br />
Templates und so weiter<br />
» Datenbank – beim Abruf oder Schreiben<br />
von Daten<br />
Ein erster Ansatz bei der Suche nach der<br />
Ursache von Performance-Problemen<br />
kann eine Analyse aus dem Browser heraus<br />
sein. Hier reicht zuerst einmal ein<br />
Tool wie Firebug, das den Netzwerkverkehr<br />
beobachtet. Natürlich sind die Angaben<br />
dort abhängig von vielen Faktoren,<br />
unter anderem von der Geschwindigkeit<br />
Suchmaschinenzugriff: Google misst hier nur das Liefern von Seiten, sprich HTML.<br />
44 0513 internet magazin
Tipps für performante Websites | WEBENTWICKLUNG<br />
der <strong>Internet</strong>leitung. Dennoch geben sie<br />
ganz vereinfacht einen ersten Hinweis:<br />
Ist dort die eigentliche HTML-Seite langsam,<br />
so deutet das eher auf ein Problem<br />
aufseiten <strong>des</strong> Servers hin. Über die genaue<br />
Ursache, Konfiguration, Programmierung<br />
oder Datenbank ist dabei noch<br />
nichts gesagt. Ist die HTML-Seite dagegen<br />
eher schnell und dennoch dauert es,<br />
bis die Seite geladen ist, deutet das auf<br />
das Frontend hin.<br />
Frontend<br />
Im Frontend steckt für die Performance-<br />
Optimierung oft das größte Potenzial,<br />
denn bis zu 80 Prozent der Ladezeit<br />
wird im Frontend verbracht. Dementsprechend<br />
haben hier in den letzten Jahren<br />
viele große Webunternehmen Know<br />
-how aufgebaut und weitergegeben, allen<br />
voran Yahoo und Google. Einen ersten<br />
Eindruck liefert https://developers.<br />
google.com/speed/pagespeed/insights.<br />
Hier können Sie beliebige Websites<br />
eingeben und sich nach Prioritäten sortiert<br />
entsprechende Frontend-Maßnahmen<br />
ausgeben lassen. Das Wichtigste<br />
zu Anfang: <strong>Die</strong> meisten modernen<br />
Optimiermethoden sind nicht invasiv.<br />
Das heißt, sie verändern das Layout<br />
der Website nicht. Es wäre auch wenig<br />
sinnvoll, nur aus Performance-Gründen<br />
wieder auf Textwüsten zu setzen und<br />
auf Bilder zu verzichten.<br />
Weniger Daten<br />
<strong>Die</strong> erste generelle Regel für eine Performance-Optimierung<br />
im Frontend lautet:<br />
die Menge der übertragenen Daten reduzieren.<br />
Im Fokus stehen hier vor allem<br />
die vielen Dateien, die Teil je<strong>des</strong> modernen<br />
Website-Layouts sind: Javascript,<br />
CSS und Bilder.<br />
Eine pauschale Datenkomprimierung<br />
bietet schon der Webserver: GZip. Sie<br />
können diese Komprimierung per Webserverkonfiguration<br />
oder auch per PHP<br />
auslösen. Hier ein einfaches Beispiel aus<br />
der Apache-2.x-Konfiguration mit dem<br />
zuständigen Modul mod_deflate:<br />
<br />
SetOutputFilter DEFLATE<br />
# Nicht komprimieren<br />
SetEnvIfNoCase Request_URI<br />
\.(?:gif|jpe?g|png)$ no-gzip dontvary<br />
SetEnvIfNoCase Request_URI<br />
\.(?:exe|t?gz|zip|bz2|sit|rar)$<br />
no-gzip dont-vary<br />
<br />
Sie sehen, dass hier Bilder und Archive<br />
ausgeschlossen werden. Speziell bei den<br />
Bildern bringt eine GZip-Komprimierung<br />
meist keine guten Resultate mehr. Generell<br />
funktioniert die GZip-Komprimierung<br />
bei allen textlastigen Dateien wie<br />
HTML, CSS und Javascript sehr gut. Ob<br />
die Komprimierung aktiviert ist, verrät die<br />
HTTP-Antwort mit dem Header Content-<br />
Encoding: gzip.<br />
Einziger Nachteil bei GZip ist, dass sowohl<br />
der Webserver als auch der Browser<br />
ein wenig mehr rechnen müssen. Der<br />
Webserver muss die Komprimierung<br />
vornehmen und der Browser muss sie<br />
entpacken. Das ist in der Praxis bei<br />
chronischer Webserverüberlastung oder<br />
bei sehr schwachbrüstigen mobilen End-<br />
Ladezeit: Firebug<br />
zeigt die Requests<br />
und die Ladezeit.<br />
geräten manchmal ein kleiner Nachteil.<br />
Generell gilt aber, dass GZip meist sehr<br />
gut funktioniert.<br />
Der nächste Schritt für weniger Daten ist<br />
das Verkleinern von Javascript- und CSS-<br />
Dateien. Hier befinden sich viele Zeilenabstände<br />
und Leerzeichen im lesbaren<br />
Code, die vom Browser nicht benötigt<br />
werden. Wenn man sich Javascript-Code<br />
beispielsweise bei Google ansieht, erkennt<br />
man außerdem, dass dort sogar<br />
Variablennamen auf einen oder zwei<br />
Buchstaben verringert werden.<br />
Ein erster Ansatz sind hier auf jeden Fall<br />
die von Ihnen verwendeten Javascript-Bibliotheken.<br />
So gibt es beispielsweise vom<br />
Marktführer jQuery eine minimalisierte<br />
Produktionsvariante, die mit 91 Kilobyte<br />
deutlich kleiner ist als die 263 Kilobyte<br />
„schwere“ Variante mit sauberem Code.<br />
Für eigenen Code existiert eine Menge<br />
an Tools zur Komprimierung. Exemplarisch<br />
seien hier zwei genannt, die auch<br />
online getestet werden. UglifyJS finden<br />
Sie unter https://github.com/mishoo/UglifyJS<br />
– wer es im Einsatz testen möchte,<br />
verwendet den <strong>Die</strong>nst unter http://jscompress.com/.<br />
Und auch aus der YUI gibt<br />
es einen sogenannten Compressor: http://<br />
yui.github.com/yuicompressor/. Online<br />
ist er beispielsweise hier http://refresh-sf.<br />
www.internet-magazin.de 45
WEBENTWICKLUNG | Tipps für performante Websites<br />
com/yui/ im Einsatz. <strong>Die</strong> Google-Lösung<br />
aus diesem Bereich ist der Closure Compiler,<br />
als Java-Anwendung und auch als<br />
API verfügbar (https://developers.google.<br />
com/closure/compiler/).<br />
Der YUI Compressor kann beispielsweise<br />
neben Javascript auch CSS komprimieren.<br />
Hier stehen vor allem Whitespaces<br />
und Einrückungen auf dem Speiseplan<br />
der gefräßigen Komprimiermaschinen.<br />
Und auch Online-<strong>Die</strong>nste gibt es; als<br />
Beispiel sei hier http://www.cleancss.<br />
com/ erwähnt. Hier geben Sie den CSS-<br />
Code ein oder eine URL an und können<br />
festlegen, was alles vom Komprimierer<br />
erledigt werden soll. Der Online-<strong>Die</strong>nst<br />
wiederum basiert auf http://csstidy.sourceforge.net/,<br />
einem Open-Projekt.<br />
<strong>Die</strong> Komprimierung von HTML-Code<br />
verspricht sicherlich in der Praxis nicht<br />
allzu viel Gewinn, denn die Namen der<br />
HTML-Tags sind ja vorgegeben. Dennoch<br />
gibt es immer Vereinfachungsmöglichkeiten<br />
wie eine einfachere Struktur. Ein<br />
automatisches Tool für diesen Bereich ist<br />
beispielsweise HtmlCompressor (http://<br />
code.google.com/p/htmlcompressor).<br />
Ein weiterer interessanter Punkt sind<br />
die verwendeten Bilder. Hier sollte man<br />
überprüfen, ob Bilder im richtigen Format<br />
vorliegen, also beispielsweise Fotos<br />
als JPEG, Grafiken dagegen als PNG und<br />
GIF. Auch bei der Komprimierung kann<br />
man noch einmal nachjustieren oder gar<br />
Spezialisten wie JPEGmini (http://www.<br />
Hilfreich: Das<br />
Google-Tool<br />
Pagespeed Insights<br />
analysiert<br />
das Frontend und<br />
gibt wertvolle<br />
Optimiertipps.<br />
jpegmini.com/) und das verlustfrei arbeitende<br />
Smush.it (http://www.smushit.com/<br />
ysmush.it/) verwenden.<br />
Dateien ausliefern<br />
Der zweite generelle Ansatz für die Frontend-Optimierung<br />
ist die Reduktion der<br />
gleichzeitigen HTTP-Verbindungen. Zum<br />
einen erzeugt natürlich jede Verbindung<br />
auf dem Webserver Last, zum anderen<br />
haben gerade ältere Browser teilweise<br />
Beschränkungen auf nur zwei oder vier<br />
gleichzeitige Verbindungen von einer<br />
Domain beziehungsweise Subdomain.<br />
Daraus ergeben sich einige Empfehlungen.<br />
Zum einen sollte man Dateien<br />
auf verschiedene Subdomains und Domains<br />
auslagern. Das ist allerdings mit<br />
Vorsicht zu genießen und sollte einen<br />
Sinn ergeben: Eine sinnvolle Variante<br />
wäre beispielsweise ein eigener Auslieferungsserver<br />
für statische Inhalte wie<br />
Bilder, CSS und Javascript, der dann auch<br />
unter einer eigenen Subdomain läuft.<br />
Hier bietet es sich auch an, nicht auf einen<br />
komplexen Webserver wie Apache,<br />
sondern eine leichtgewichtigere Lösung<br />
wie beispielsweise lighttpd zu setzen.<br />
Verkleinert: <strong>Die</strong><br />
verkleinerte<br />
jQuery-Version<br />
ist das Tool der<br />
Wahl für die Produktivumgebung.<br />
Wer größeren Bedarf hat, kann natürlich<br />
auch Daten in die Cloud verfrachten und<br />
beispielsweise so genannte Content Delivery<br />
Networks wie Akamai nutzen. Für<br />
den kleineren Bedarf ist das Auslagern<br />
von Videos auf YouTube und Co. eine<br />
sinnvolle Möglichkeit, dem Server Arbeit<br />
abzunehmen. Und auch Javascript-<br />
Bibliotheken wie jQuery lassen sich von<br />
potenten Anbietern wie Google aus der<br />
Cloud liefern. Hier finden Sie eine Übersicht<br />
über die verfügaren Bibliotheken:<br />
https://developers.google.com/speed/<br />
libraries/devguide. Beim eigenen Code<br />
kann man natürlich Requests einsparen<br />
und bei CSS und Javascript Inhalte<br />
in eine Datei packen. Hier gilt es allerdings<br />
zu überlegen, ob es nicht teilweise<br />
besser ist, auf Unterseiten immer nur<br />
den jeweils benötigten Code zu laden.<br />
Eine weitere Variante wäre, Javascript<br />
asynchron, das heißt erst dann zu laden,<br />
wenn sichtbare Inhalte wie Bilder schon<br />
geladen sind. <strong>Die</strong>s funktioniert immer<br />
dann sehr gut, wenn der Javascript-Code<br />
erst nach dem Laden der Seite an sich<br />
benötigt wird. Und auch bei Bildern ist<br />
die Reduktion von Dateien und damit<br />
Requests möglich. Lösungsansatz sind<br />
die so genannten CSS-Sprites. Dabei<br />
werden in ein Bild mehrere Button-Zustände<br />
oder Buttons zusammengefasst<br />
und nur über die CSS-Position <strong>des</strong> Bil<strong>des</strong><br />
angesteuert. <strong>Die</strong> manuelle Erstellung ist<br />
natürlich aufwändig, <strong>des</strong>wegen gibt es<br />
einige Tools für diesen Zweck. Exemplarisch<br />
seien hier http://spriteme.org/<br />
mit einem Bookmarklet-Link und http://<br />
spritegen.website-performance.org/ als<br />
Formularlösung genannt.<br />
46 0513 internet magazin
Tipps für performante Websites | WEBENTWICKLUNG<br />
Vielfalt:<br />
Verschiedene<br />
Buttons sind in<br />
einem Bild zusammengefasst.<br />
Cache ist nicht gleich Cache<br />
Der dritte Ansatz zur Performance-<br />
Optimierung ist Caching, also das Zwischenspeichern<br />
von Inhalten, die sich<br />
nicht so häufig ändern. Er ist einerseits<br />
eine Frontend-Maßnahme, wenn Sie<br />
nämlich dem Browser erlauben, Dateien<br />
wie CSS im Browser über mehrere Seiten<br />
hinweg vorzuhalten. Andererseits findet<br />
Caching auch auf dem Server statt.<br />
<strong>Die</strong> verschiedenen Varianten sehen wir<br />
uns nun näher an. Generell hilft es, den<br />
Browsercache zu verwenden. Gerade<br />
wiederkehrende Dateien wie CSS und JS<br />
kann der Browser sehr effektiv in seinen<br />
Cache übernehmen und fragt den Server<br />
dann überhaupt nicht mehr an. Sie sehen<br />
das beispielsweise im Firebug, wenn Sie<br />
eine Seite ein zweites Mal aufrufen und<br />
viele dieser Inhalte nicht erneut übertragen<br />
werden. Gesteuert wird das Browserverhalten<br />
hauptsächlich über die HTTP-<br />
Header Expires und Cache-Control.<br />
<strong>Die</strong>se Angaben werden übrigens auch<br />
von Proxy-Servern eingesetzt, um festzustellen,<br />
wann Inhalte neu geholt werden<br />
müssen. Eine weitere Caching-Möglichkeit<br />
im Frontend gibt es mit HTML5:<br />
einen eigenen Anwendungscache, der<br />
mit einer so genannten Manifestdatei gesteuert<br />
werden kann. Hiermit sind noch<br />
wesentlich mehr Möglichkeiten denkbar,<br />
beispielsweise auch offline verfügbare<br />
Dateien, aber generell wäre auch ein<br />
zukünftiger Einsatz zur Performance-<br />
Optimierung denkbar. Nun wechseln<br />
wir vom Frontend zum Server. Auch hier<br />
existieren verschiedene Caching-Optionen.<br />
Beispielsweise bieten Content-<br />
Management-Systeme wie TYPO3 ein<br />
eingebautes Caching auf verschiedenen<br />
Ebenen der Anwendung. Hier wird oft<br />
eine Seite in den Zwischenspeicher gelegt,<br />
sobald sie einmal aufgerufen wurde.<br />
Wird der Inhalt dann bearbeitet, muss<br />
der Cache gelöscht werden. Auch einzelne<br />
Teile einer Seite können zwischengespeichert<br />
werden, man spricht hier von<br />
Partial Caching. Auf sehr fortgeschrittenem<br />
Level ist es auch möglich, Objekte<br />
und Datenbankresultate beispielsweise<br />
im Hauptspeicher zwischenzulagern. In<br />
PHP gibt es dafür beispielsweise Memcache<br />
als Lösung.<br />
<strong>Die</strong>se Ansätze sind allerdings recht invasiv.<br />
Wer schnelle Resultate benötigt, ist<br />
unter Umständen mit einem vorgeschalteten<br />
Cache, einem so genannten Fullpage<br />
Cache, besser beraten. Ein bekannter<br />
Vertreter ist Varnish (http://www.varnishcache.org/).<br />
Code und Datenbank<br />
Je nach serverseitiger Programmiersprache<br />
kann auch der Code an sich ein Engpass<br />
sein. Speziell sehr komplexe Aufbauten,<br />
unnötige Schleifen und unendlich verschachtelte<br />
Dateikonstrukte können hier<br />
Probleme machen. Allerdings ist hier in<br />
den meisten Fällen die Analyse aufwändig,<br />
weswegen es Sinn macht, zuerst zu<br />
überprüfen, ob nicht vielleicht die Datenbank<br />
das eigentliche Problem darstellt.<br />
Bei der Datenbank gilt es zuerst herauszufinden,<br />
welche Abfragen betroffen sind.<br />
Je nach Datenbank ist das Vorgehen hier<br />
unterschiedlich. In MySQL gibt es das so<br />
genannte Slow Query Log. MySQL kann<br />
dieses Protokoll entweder in eine Datei<br />
oder ab MySQL 5.1.6 wahlweise auch in<br />
eine Tabelle schreiben. Ausgehend von<br />
den langsamen Abfragen gilt es nun, Maßnahmen<br />
zu treffen. Grob unterteilen lassen<br />
sich diese in: allgemeine Konfigurationseinstellungen,<br />
beispielsweise erhöhte<br />
Zwischenspeicherzeiten, Vereinfachung<br />
der Abfragen an sich und Einsatz datenbankspezifischer<br />
Optimierungen wie<br />
beispielsweise eines Index auf bestimmte<br />
Spalten. Bei MySQL ist oft auch die Frage<br />
nach dem Tabellentyp MyISAM oder InnoDB<br />
relevant. InnoDB ist hier für Lese-<br />
Beibehalten: Im<br />
Antwort-Header liefert<br />
der Server Expires und<br />
Cache-Control mit.<br />
operationen deutlich schneller, kann aber<br />
bei Schreibvorgängen der Engpass sein.<br />
Das Thema Performance ist umfangreich.<br />
Mit diesem Artikel haben Sie einen ersten<br />
Einblick in mögliche Engpässe und verschiedene<br />
Stellschrauben zur Behebung<br />
erhalten. Je nach vorliegender Website<br />
lohnt es sich nun, in einzelne Bereiche<br />
tiefer einzusteigen. Dabei tun sich unterschiedliche<br />
Welten auf: <strong>Die</strong> Frontend-<br />
Optimierung liefert oft für den Nutzer ein<br />
deutlich verbessertes Erlebnis, serverseitiges<br />
Caching und Datenbankoptimierung<br />
haben dagegen noch einmal ganz<br />
spezifische Anforderungen. Generell gilt,<br />
dass es sehr viele Optimierungsmöglichkeiten<br />
gibt, bevor der Schritt zu mehr und<br />
dickerer Hardware fällig ist.<br />
Tobias Hauser<br />
www.internet-magazin.de 47
WEBENTWICKLUNG | Widget-Programmierung<br />
Alles selbst<br />
gemacht!<br />
Android-Widgets sind der letzte<br />
Schrei unter Programmierern. Um durchstarten zu<br />
können, finden Sie hier alle wichtigen Grundlagen.<br />
Viele mobile Geräte nutzen intern<br />
das von Google entwickelte und<br />
auf Linux basierende Open-Source-<br />
Betriebssystem Android. <strong>Die</strong>ses kommt<br />
auf Smartphones, Tablet-PCs oder auch<br />
Notebooks zum Einsatz. Wie bei anderen<br />
Systemen auch, führen Sie unter<br />
Android Anwendungsprogramme, Tools<br />
sowie Spiele im Vordergrund oder auch<br />
<strong>Die</strong>nste im Hintergrund aus. Starten Sie<br />
das System, dann gelangen Sie zunächst<br />
auf den Homescreen. <strong>Die</strong>ser beinhaltet<br />
– wie der Desktop anderer Systeme –<br />
Desktop-Symbole, Bedienelemente oder<br />
auch ausgeführte Minianwendungen, die<br />
so genannten Android-Widgets.<br />
Potenzial der Widgets<br />
<strong>Die</strong> Widgets haben Funktionen vergleichbar<br />
den in Windows Vista und Windows<br />
7 bekannten Minianwendungen. Sie<br />
wurden mit dem Android SDK (Software<br />
Development Kit) 1.5 eingeführt. Sie legen<br />
Informationen auf dem Homescreen<br />
offen, die je nach Bedarf zeitbasiert oder<br />
anhand von Systemrückmeldungen aktualisiert<br />
werden. Widgets setzen<br />
Sie aber nicht nur zur Informationsausgabe,<br />
sondern auch zur<br />
Steuerung ein.<br />
Ferner unterstützt Android Hybrid-<br />
Widgets, die Informationen ausgeben<br />
und zusätzlich Steuerungsfunktionen<br />
anbieten (zum Beispiel<br />
Musiktitel pausieren und fortsetzen).<br />
Je nach Anwendungstyp<br />
(App oder Widget) erfolgt auch<br />
die Kodierung unterschiedlich.<br />
Bekannte Widgets erlauben den<br />
Home sweet Homescreen:<br />
Auf diesem Nexus 7 laufen<br />
die Wetterapp von Beautiful<br />
Widgets samt Akku-Widget,<br />
die anmierte Strandszene von<br />
My Beach sowie die Digitaluhr<br />
von Google.<br />
Zugriff auf ausgewählte Informationen,<br />
das Abrufen standortbasierter Wetterdaten<br />
oder aber eine permanente Überwachung<br />
ausgewählter Systeminformationen<br />
(Speichergröße, Uhrzeit, Kalenderdaten<br />
und so weiter).<br />
<strong>Die</strong> Android-Systemarchitektur<br />
<strong>Die</strong> Systemarchitektur bestimmt, wie<br />
Sie Anwendungen für mobile Geräte<br />
als Entwickler umsetzen und welche<br />
Werkzeuge Sie dafür zur Hand haben.<br />
Das Android-System setzt sich dabei<br />
aus dem Systemkern, Funktionsbibliotheken,<br />
einer Laufzeitumgebung und<br />
dem Application Framework zusammen.<br />
Darauf setzen die Anwendungen auf,<br />
die Bestandteil <strong>des</strong> Systems sind oder<br />
von Drittanbietern oder Ihnen selbst bereitgestellt<br />
werden (siehe Funktionsdiagramm<br />
rechts).<br />
Der Linux-Systemkern übernimmt in<br />
An droid die Aufgaben für die Energie-,<br />
Speicher- und Prozessverwaltung, bietet<br />
Sicherheitsfunktionen und bindet<br />
Gerätetreiber ein (Tastatur, Bildschirm,<br />
Kamera, Flashspeicher, WiFi, Audio).<br />
Über den Binder-Treiber wird die Kommunikation<br />
zwischen unterschiedlichen<br />
Prozessen realisiert. Als Runtime wird<br />
in Android die Dalvik Virtual Machine<br />
(DVM) genutzt. Darüber und über die<br />
zugehörigen Java-Klassenbibliotheken<br />
werden Java-Anwendungen in einem<br />
48 0513 internet magazin
Widget-Programmierung | WEBENTWICKLUNG<br />
speziellen Binärcode ausgeführt, der<br />
von herkömmlichem Java-Bytecode abweicht.<br />
Ausführbare Programme erhalten<br />
das Kürzel dex (Dalvic EXevcutables)<br />
und Programmpakete werden in Android<br />
Packages verpackt (APK). <strong>Die</strong> DVM<br />
wurde für mobile Geräte optimiert und<br />
ist speicherschonend auch in mehreren<br />
Instanzen ausführbar.<br />
Zeitkritische Routinen<br />
Zeitkritische Routinen werden über C/<br />
C++ implementiert und über gesonderte<br />
native Bibliotheken angebunden.<br />
Darüber stehen Funktionen zur Datenverwaltung<br />
(SQLite), zur Grafikprogrammierung<br />
(OpenGL, Open GL ES, SGL<br />
Graphics Engine), zum <strong>Internet</strong>zugriff<br />
(WebKit), zur sicheren Datenübertragung<br />
(SSL – Secure Sockets Layer), zur Multimediaverwaltung<br />
(Media Framework),<br />
zur Schriftenausgabe (FreeType), zur<br />
Oberflächenverwaltung (Surface Manager)<br />
sowie wichtige Systembibliotheken<br />
(libc) bereit. Libc ist hierbei eine von<br />
Google entwickelte Bibliothek für den<br />
C-Compiler, die den Namen Bionic trägt.<br />
Widgets legen Informationen und Bedienfunktionen auf Home- und Lockscreens<br />
offen oder aggregieren Informationen zu einem „Collection Widget“ wie Googles<br />
Currents rechts im Bild (Quelle: Google).<br />
<strong>Die</strong> Systemarchitektur<br />
von Android –<br />
Grundlage zur<br />
Anwendungsentwicklung.<br />
Kostenfreie Entwicklungstools für Android<br />
Programm URL Beschreibung<br />
Netbeans DIE 7.3 http://netbeans.org Java-Entwicklungsumgebung<br />
NBAndroid www.nbandroid.org Java-IDE für die Entwicklung mobiler Anwendungen (32-/64-Bit-Editionen) für Windows,<br />
Linux und Mac OS, die kein ADT enthält.<br />
Eclipse for mobile<br />
Developers<br />
Eclipse ADT Plugin<br />
http://eclipse.org/mobile<br />
http://developer.android.com/sdk/<br />
instal ling/installing-adt.html<br />
<strong>Die</strong> Java-IDE für die Entwicklung mobiler Anwendungen steht in 32- und 64-Bit-Version<br />
für die Systeme Linux, Mac OS und Windows zur Verfügung, integriert aber nicht das ADT.<br />
Hinweise zur Installation <strong>des</strong> ADT-Plug-ins für Eclipse<br />
Android ADT Bundle<br />
ADT (SDK Tools)<br />
JDK/JRE<br />
Android App Widget<br />
Templates Pack 4.0<br />
http://developer.android.com/sdk/<br />
index.html<br />
http://developer.android.com/sdk/<br />
index.html<br />
http://www.oracle.com/technetwork/java/javase/downloads/index.<br />
html<br />
http://developer.android.com/<br />
guide/practices/ui_guidelines/<br />
widget_<strong>des</strong>ign.html<br />
Das Android ADT Bundle beinhaltet mobiles Eclipse mit dem ADT-Plug-in, das Android-<br />
SDK und gesonderte Plattformtools sowie das letzte Systemabbild für den Emulator. Das<br />
Bundle ist in 32- und 64-Bit-Edition für Linux, iOS und Windows erhältlich. Optional<br />
können über diese Seite die SDK-Tools auch ohne Eclipse-IDE heruntergeladen werden.<br />
Das eigenständige Android Development Toolkit nutzen Sie, wenn Sie Eclipse als Entwicklungsumgebung<br />
bereits auf Ihrem Rechner installiert haben.<br />
Das Java Development Kit (JDK, 32-/64-Bit-Editionen) beinhaltet die JRE (Java Runtime<br />
Environment). <strong>Die</strong> 32-Bit-Variante wird für 32-Bit-, die 64-Bit-Variante für 64-Bit-<br />
Anwendungen benötigt.<br />
Vorlagen für die Programmierung von Android-App-Widgets.<br />
www.internet-magazin.de 49
WEBENTWICKLUNG | Widget-Programmierung<br />
Das Application Framework ist das Rahmengerüst<br />
für Anwendungen, hinter dem<br />
sich die Programmierschnittstellen verbergen<br />
(APIs – Application Programming<br />
Interfaces). Per API werden Java-Klassen<br />
angeboten, die Entwickler<br />
in eigenen Anwendungen<br />
nutzen. Das Application<br />
Framework gibt den Aufbau<br />
von Anwendungen vor<br />
und macht Funktionalitäten<br />
anwendungsübergreifend<br />
verfügbar. Auf das Anwendungs-Framework<br />
setzen die einzelnen<br />
Android-Anwendungen auf. <strong>Die</strong>se werden<br />
teilweise bereits mit dem System<br />
ausgeliefert. Als Entwickler erstellen Sie<br />
Anwendungen für Android wahlweise<br />
unter Windows, Mac OS oder Linux.<br />
Um mobile Anwendungen direkt auf<br />
Desktop-Systemen zu testen und auszuführen,<br />
stehen konfigurierbare Emulatoren<br />
bereit. Der abschließende Test<br />
einer fertiggestellten Anwendung erfolgt<br />
auf dem mobilen Gerät. Sie können Anwendungen<br />
wahlweise direkt überspielen,<br />
über das <strong>Internet</strong> URL-basiert an<br />
mehrere Anwender verteilen oder über<br />
Google Play, dem Anwendungsmarkt für<br />
Android-Anwendungen, einer breiten<br />
Masse von Android-Geräten online<br />
kostenfrei oder zum Kauf<br />
anbieten. In Google Play<br />
werden alle Anwendungen<br />
versionsbasiert<br />
verwaltet.<br />
So ist sichergestellt,<br />
dass das mobile Gerät<br />
direkt erkennen kann, ob bestimmte<br />
Android-Anwendungen kompatibel und<br />
damit nutzbar sind oder nicht (siehe Abbildung<br />
unten).<br />
Unter der <strong>Internet</strong>adresse http://developer.android.com/reference/packages.<br />
html rufen Sie, bezogen auf einen bestimmten<br />
API-Level, die Informationen<br />
zu den unterstützten Programmierschnittstellen<br />
ab. Kontrollieren Sie bei einer<br />
Programmentwicklung für ein eigenes<br />
Gerät aber immer erst, welche Funktio-<br />
Versionsunterschiede: Von Cupcake bis Jelly Bean<br />
Jede Android-Anwendung wird für eine bestimmte Systemversion entwickelt. <strong>Die</strong>se legt die<br />
grundlegende Funktionalität und die verwendbaren Programmierschnittstellen fest.<br />
Widgets erst seit Android 1.5<br />
Android liegt in unterschiedlichen<br />
Versionen vor, wobei<br />
bekannte Versionen zusätzliche<br />
Namen tragen. <strong>Die</strong> Version 1.5<br />
machte erstmals die Unterstützung<br />
von Widgets verfügbar. <strong>Die</strong>se<br />
Version trägt den englischen<br />
Namen Cupcake und ist dem<br />
API-Level 3 zugeordnet. <strong>Die</strong> Version<br />
4.2 ist die derzeit neueste<br />
Version, trägt den Namen Jelly<br />
Bean und definiert den API-<br />
Level 17. In der letztgenannten<br />
Version stehen Widgets nicht nur<br />
auf dem Homescreen, sondern<br />
auch auf dem Lockscreen zur<br />
Verfügung. Jede Version ist<br />
ihrerseits mit einem bestimmten<br />
API-Level verknüpft. <strong>Die</strong>ser legt<br />
fest, welche Systemfunktionen<br />
für ein Gerät nutzbar sind.<br />
Android-Version API-Level Name<br />
1.0 1 Base<br />
1.1 2 Base<br />
1.5 3 Cupcake<br />
1.6 4 Donut<br />
2.0 5 Eclair<br />
2.0.1 6 Eclair<br />
2.1.x 7 Eclair<br />
2.2.x 8 Froyo<br />
2.3, 2.3.1, 2.3.2 9 Gingerbread<br />
2.3.3, 2.3.4 10 Gingerbread<br />
3.0.x 11 Honeycomb<br />
3.1.x 12 Honeycomb<br />
3.2 13 Honeycomb<br />
4.0, 4.0.1, 4.0.2 14 Ice Cream Sandwich<br />
4.0.3, 4.0.4 15 Ice Cream Sandwich<br />
4.1, 4.1.1 16 Jelly Bean<br />
4.2 17 Jelly Bean<br />
nalitäten nutzbar sind. Nur so ersparen<br />
Sie sich den Ärger, dass selbst entwickelte<br />
Anwendungen auf Ihrem eigenen Gerät<br />
später nicht lauffähig sind.<br />
In einem Anwendungsmanifest legen Sie<br />
später fest, welche Min<strong>des</strong>tversion für die<br />
Lauffähigkeit einer Anwendung vorhanden<br />
sein muss (minSdkVersion), welches<br />
Zielsystem adressiert wird (targetSdkVersion)<br />
und welche höchste Versionsnummer<br />
eines Systems generell unterstützt<br />
wird (maxSdkVersion). <strong>Die</strong> Versionsnummern<br />
werden dabei über die Ganzzahl<br />
<strong>des</strong> zugeordneten API-Levels angegeben.<br />
<strong>Die</strong> allgemeine Syntax im Anwendungsmanifest<br />
hat den folgenden Aufbau:<br />
<br />
Anhand dieser Zuweisungen wird im<br />
Rahmen der Installation oder Aktualisierung<br />
einer Anwendung entschieden, ob<br />
diese zulässig ist oder nicht. Damit ist<br />
gewährleistet, dass solche Anwendungen<br />
oder Widgets gar nicht erst installiert werden,<br />
die auf einem vorhandenen System<br />
nicht lauffähig sind.<br />
Android-Anwendungsarchitektur<br />
Herkömmliche Android-Anwendungen<br />
setzen sich aus ein oder mehreren Activities-,<br />
Services-, Content- und Broadcast-Elementen<br />
zusammen. Eine Activity<br />
ist eine Anwendungskomponente, die<br />
einen Bildschirm für die Interaktion und<br />
Benutzereingaben verfügbar macht. <strong>Die</strong><br />
Haupt-Activity wird auch als main activity<br />
bezeichnet. <strong>Die</strong>se wird nach dem<br />
Starten einer Anwendung angezeigt. Jede<br />
Activity kann ein oder auch mehrere Activities<br />
nachladen, wobei eine Aktivität<br />
aktiv ist und deaktivierte Aktivitäten unmittelbar<br />
angehalten werden. Zwischen<br />
den Aktivitäten kann nach Bedarf gewechselt<br />
werden. Services sind <strong>Die</strong>nste,<br />
die bei Anwendungen genutzt werden,<br />
50 0513 internet magazin
Widget-Programmierung | WEBENTWICKLUNG<br />
die im Hintergrund arbeiten. Sie werden<br />
wahlweise durch eine Activity oder den<br />
Binder gestartet. Content Provider liefern<br />
die Dateninhalte für eine Anwendung<br />
(SQLite, XML oder auch entfernte Datenspeicher<br />
in der Cloud). Über Sie greifen<br />
auch mehrere Aktivitäten oder <strong>Die</strong>nste<br />
vereinfacht auf den gleichen Datenbestand<br />
zu, wobei die Datenabfrage, das<br />
Hinzufügen von Daten oder auch das Löschen<br />
von Daten über URIs (Uniform Resource<br />
Identifier) erfolgt. Broadcasts sind<br />
schließlich Sender für Nachrichten, auf<br />
die Empfänger (Broadcast Receiver) mit<br />
bestimmten Aktionen reagieren können.<br />
Der Eingang einer SMS, das Läuten eines<br />
Telefons, das neue Erkennen oder Wegfallen<br />
von WLAN-Netzwerken, die Uhrzeit-<br />
oder Datumsänderung oder auch<br />
Änderungen am Ladezustand <strong>des</strong> Akkus<br />
werden systemintern überwacht und versendet.<br />
Damit eine Anwendung diese Änderungsmitteilungen<br />
entgegen nehmen<br />
und verarbeiten kann, muss diese einen<br />
BroadCast-Empfänger definieren.<br />
Minianwendungen für Android<br />
App-Widgets sind ein spezieller Anwendungstyp,<br />
bei dem anders als bei<br />
Über den API-Level legen Sie die<br />
Funktionen offen, die im Rahmen der<br />
Programmentwicklungen für mobile<br />
Geräte nutzbar sind.<br />
Widget-Platzierung: Homescreen oder Lockscreen?<br />
Erst mit der Version 4.2 von Android können Sie Widgets nicht nur auf dem Home-, sondern<br />
wahlweise auch auf dem Lockscreen platzieren.<br />
Je nach Android-Version bieten mobile Geräte<br />
mitunter mehrere Homescreens an. Auf<br />
sämlichen Homescreens (in der Regel 1, 3<br />
oder 5), zwischen denen Sie per Gestensteuerung<br />
wechseln, öffnen Sie nach Bedarf auch<br />
eines oder mehrere Widgets. Um fehlerhafte<br />
Tastatureingaben zu unterbinden, wird neben<br />
den Homescreens ein gesonderter Lockscreen<br />
(Sperrbildschirm) angeboten. Dessen Sperrfunktion<br />
müssen Sie über eine gesonderte<br />
Wischbedienung oder aber ein gesondertes<br />
Bedienelement aufheben. Erst auf Android-<br />
Systemen der Version 4.2 lassen sich Widgets<br />
auch direkt auf dem Sperrbildschirm ablegen.<br />
Ob ein Widget als Homescreen- und oder<br />
Lockscreen-Widget nutzbar ist, geben Sie<br />
herkömmlichen Anwendungen nicht<br />
die Activities, sondern ein Broadcast-<br />
Empfänger im Vordergrund steht. <strong>Die</strong><br />
wesentlichen Bestandteile eines Widgets<br />
sind ein Anwendungsmanifest, das Anwendungsinformationen<br />
im XML-Format<br />
(eXtended Markup Language) verwaltet,<br />
und eine BroadCastReceiver-Klasse, die<br />
festlegt, wie auf Nachrichten und Informationen<br />
zu reagieren ist und die im<br />
zweiten Teil behandelt werden.<br />
Android bietet unterschiedliche Widget-<br />
Typen an: Information-Widgets machen<br />
aktualisierbare Informationen verfügbar,<br />
deren Anwahl eine zugeordnete, größere<br />
Anwendung oder eine Detailansicht offenlegt.<br />
Collection-Widgets geben dagegen<br />
entsprechend die Informationen zu<br />
mehreren Elementen <strong>des</strong> gleichen Typs,<br />
beziehungsweise einer Kollektion aus,<br />
wie zum Beispiel Bildersammlungen<br />
oder Nachrichten. Über die Collection-<br />
Widgets wählen Sie einzelne Elemente an<br />
und öffnen diese in einer Detailansicht.<br />
Control-Widgets dienen als Fernsteuerungsanwendung,<br />
mit der ausgewählte<br />
Funktionen durch eine Schaltflächenanwahl<br />
abgesetzt werden. Control-<br />
Widgets bieten in der Regel nur ausge-<br />
über die XML-Metadatendatei im Bereich<br />
appwidget-provider an:<br />
<br />
Widget ist auf dem Homescreen ausführbar<br />
android:widgetCategory=“ home_<br />
screen“><br />
Widget ist auf dem Lock- und Homescreen<br />
ausführbar<br />
android:widgetCategory=“keyguard|<br />
home_screen“><br />
<br />
wählte Funktionen einer Anwendung an<br />
und mitunter auch Querverweise zur<br />
Hauptanwendung oder einer Detailansicht.<br />
Hybrid-Widgets kombinieren, wie<br />
eingangs erwähnt, Informationen und<br />
Steuerungsfunktionen. Im Rahmen der<br />
Entwicklung bestimmen Sie nicht nur die<br />
Widget-Inhalte (Content), sondern auch<br />
die Navigation sowie das Layout und die<br />
Größenänderung, die seit der Android-<br />
Version 3.1 steuerbar ist. Dabei kann<br />
und muss die vom jeweiligen Gerät bereitgestellte<br />
Display-Größe berücksichtigt<br />
werden. Benötigen Widgets bestimmte<br />
Konfigurationseinstellungen, definieren<br />
Sie diese ebenfalls auf Quelltextebene.<br />
Sobald das Widget dann auf den Homescreen<br />
platziert wird, erfolgt die Abfrage<br />
der erforderlichen Konfigurationseinstellungen<br />
automatisch. Generell gilt: Der<br />
Funktionsumfang einer Minianwendung<br />
ist kompakt und beschränkt sich auf eine<br />
bestimmte Funktionalität.<br />
Im nächsten Teil dieser Serie wird gezeigt,<br />
wie Sie mit mobile Eclipse und<br />
dem ADT Minianwendungen für Android<br />
selbst über XML-Dateien definieren<br />
und in Java-Syntax programmieren.<br />
Dipl.-Ing. Andreas Maslo<br />
www.internet-magazin.de 51
WEBBUSINESS | Customer Journey Workshop<br />
<strong>Die</strong> <strong>Reise</strong> <strong>des</strong> <strong>Kunden</strong><br />
<strong>Kunden</strong> wählen von der Inspiration bis zum Produktkauf<br />
sehr unterschiedliche Wege. Sind diese unbekannt,<br />
bleibt jede Werbemaßnahme allgemein und<br />
oberflächlich. Präzises Targeting ist angesagt.<br />
Blätterbare Online-Kataloge lassen<br />
sich leicht herstellen und einige Kundinnen<br />
lieben sie, sagt Phillipp Winklhofer.<br />
Er spricht von diesen kleinen Flash-<br />
Anwendungen, bei denen sich die Ecken<br />
der Seiten aufrollen und mit der Maus<br />
umblättern lassen. Für Winklhofer, der<br />
den Online-Shop von Atelier Goldener<br />
Schnitt (kurz AGS) verantwortet und dort<br />
Damenoberbekleidung verkauft, sind die<br />
kleinen Flash-Filmchen ein No-Brainer:<br />
machen und nicht darüber nachdenken.<br />
„Wir kommen heute noch nicht ohne einen<br />
Katalog aus“, sagte Sabine Tietz von<br />
Lascana vor einem Jahr. Obwohl der Online-Shop<br />
<strong>des</strong> Dessousanbieters gut auf<br />
Konversion optimiert ist, setzt die Otto-<br />
Tochter nach wie vor auf die analoge<br />
Form der Ansprache mit Papier. Das hat<br />
auch der Pure Player und Branchenriese<br />
Zalando begriffen. Je<strong>des</strong> Quartal druckt<br />
Zalando inzwischen Kataloge in Millionenauflage.<br />
Und Notebooksbilliger – ein<br />
ehemaliger Pure Player – geht sogar noch<br />
einen Schritt weiter und eröffnet demnächst<br />
die zweite echte Filiale.<br />
„Man glaubt fast nicht, wie viele Innovationen<br />
im Online-Lebensmittelhandel<br />
möglich sind“, so Mo Mosavi auf dem<br />
Kongress Online-Handel Ende Januar in<br />
Bonn. Mosavi zeigte in seinem Vortrag,<br />
dass der vermeintlich ausdefinierte Markt<br />
für Lebensmittel noch viel Raum für Erfindungsreichtum<br />
lässt. Eines der Beispiele,<br />
die der Iraner zeigt, arbeitet mit<br />
Lebensmittel-Packages für bestimmte Anlässe<br />
wie das Candle Light Dinner oder<br />
den Fußballabend mit Freunden. Ein anderes<br />
Beispiel erlaubt dem <strong>Kunden</strong> nur<br />
52 0513 internet magazin
Customer Journey Workshop | WEBBUSINESS<br />
Zalando hat die Bedeutung<br />
von Papiermarketing erkannt<br />
und druckt Kataloge.<br />
solche Produkte in den Warenkorb zu<br />
legen, die ein bestimmtes Allergen nicht<br />
beinhalten oder zum Beispiel glutenfrei<br />
sind. Mosavis eigener Shop Saymo.de hat<br />
zum Beispiel den Kauf auf Rechnung als<br />
Mehrwert für die <strong>Kunden</strong> ausgemacht.<br />
Alle drei Beispiele eint eines: Winklhofer,<br />
Tietz und Mosavi schauen sich ihre <strong>Kunden</strong><br />
ganz genau an. Sie lassen sich nicht<br />
blenden von allgemeinen Statistiken und<br />
älterer Literatur, die das <strong>Kunden</strong>verhalten<br />
zu einer Zeit skizziert, als die Telefone<br />
noch Kabel hatten. Sie verschaffen sich<br />
ein Bild von der <strong>Reise</strong> <strong>des</strong> <strong>Kunden</strong>, beginnend<br />
bei der ersten Inspiration bis hin<br />
zum Produktkauf und darüber hinaus.<br />
Sie ordnen jeder Informationsquelle, die<br />
der potenzielle Kunde konsultiert, einen<br />
Messwert zu, und versuchen die Bedürfnisse<br />
zu ermitteln, die der Kunde genau<br />
an dieser Stelle hat. Daraus leiten die<br />
Shopbetreiber dann die Werbemaßnahmen<br />
und -inhalte ab, die die Recherche<br />
beeinflussen sollen. Das Ziel: Alle wollen<br />
die Entscheidung frühzeitig in Richtung<br />
ihres Shops dirigieren, denn sobald der<br />
Kunde ein konkretes Produkt vor Augen<br />
hat, entzündet sich im Web ein gnadenloser<br />
und vielfach ruinöser Preiskampf.<br />
<strong>Die</strong> Idee von der<br />
Customer Journey<br />
<strong>Reise</strong>wege zum Produkt gibt es so viele,<br />
wie es <strong>Kunden</strong> gibt und selbst der einzelne<br />
Kunde geht selten zweimal den gleichen<br />
Weg. <strong>Die</strong> Möglichkeiten, mit einem Thema<br />
in Berührung zu kommen, das später<br />
eine Konsumrelevanz haben könnte, sind<br />
praktisch unendlich. Im Groben lassen<br />
sich jenseits der digitalen Welt folgende<br />
Segmente filtern: Freunde und Bekannte,<br />
analoge Werbung in TV, Zeitschriften, auf<br />
Plakaten, Medienberichterstattung, Konsultation<br />
von Experten, lokale Kontakte<br />
auf Veranstaltungen oder der Bummel<br />
durch die Fußgängerzone. Hinzu kommt<br />
eine Vielzahl digitaler Kontaktpunkte.<br />
Hierzu zählen Bannerwerbung, SEA,<br />
SEO, Affiliate-Programme, Social Media,<br />
Firmen-Websites, Foren, Blogs, redaktionelle<br />
Websites, Portale und Shopping-<br />
Portale, E-Mail-Marketing und natürlich<br />
Preissuchmaschinen.<br />
In der Theorie bekommt jeder so genannte<br />
Touchpoint einen Wert zugeschrieben.<br />
<strong>Die</strong>ser Wert bemisst sich am Beitrag, den<br />
ein Kanal zum Verkauf beiträgt. In der Digitalbranche<br />
ist es vergleichsweise einfach,<br />
ein solches Attributionsmodell zu<br />
entwerfen. Man setzt bei jedem Werbe-<br />
Der Zero Moment<br />
of Truth entsteht<br />
in vielen Fällen<br />
bereits bevor der<br />
Nutzer den Laden<br />
oder den Online-<br />
Shop betritt.<br />
mittelkontakt ein Cookie und zählt nach<br />
dem Kauf, was sich der Nutzer angesehen<br />
hat. Mit einem solchen Verfahren lassen<br />
sich auch Hilfseffekte messen. <strong>Die</strong> treten<br />
ein, wenn zum Beispiel ein Banner auf<br />
einer redaktionellen Website einen User<br />
dazu bringt, bei Google nach einem Thema<br />
zu suchen und letztlich auch zu kaufen.<br />
Würde man nur die Konversion der<br />
Adwords-Kampagne messen, so könnte<br />
man die wichtige Zusatzwirkung <strong>des</strong><br />
Banners nicht in der Analyse sehen.<br />
Wesentlich problematischer ist es, solche<br />
Attributionsmodelle auch auf analoge<br />
Touchpoints auszudehnen. Bei Plakaten,<br />
Anzeigen oder TV-Spots ist die Messung<br />
der Werbewirkung meistens an Panels<br />
www.internet-magazin.de 53
WEBBUSINESS | Customer Journey Workshop<br />
gebunden. Das ist häufig teuer und unscharf<br />
im Ergebnis. Wer die Wirkung seines<br />
analogen Marketing messen will, tut<br />
gut daran, eine offensive Verknüpfung in<br />
die digitalen Kanäle zu installieren. Bei<br />
Print und Plakat kann das zum Beispiel<br />
Das Customer<br />
Journey Mapping<br />
Game macht aus<br />
dem CJ-Workshop<br />
einen vergnüglichen<br />
Vormittag.<br />
ein abzuscannender QR-Code sein. Ein<br />
hinterlegter und entsprechend kommunizierter<br />
Gutschein kann die Motivation<br />
zur Nutzung steigern. Bereits die Lan<strong>des</strong>eite<br />
der Kampagne ist in der Lage, die<br />
ob es im Laden<br />
Käufe gab, die auf<br />
Online-Werbung<br />
zurückzuführen<br />
Effekte der Werbung zu messen. Ist ein sind. Parfümhändler<br />
Gutschein im Spiel, weiß das Shopsystem<br />
Douglas<br />
auch, woher dieser kommt.<br />
testete letzen<br />
Bei den zeitgebundenen Sen<strong>des</strong>chemata<br />
von Fernsehen und Radio verhält es sich<br />
etwas anders. Hier muss sehr präzise<br />
gemessen werden, wie sich der Website-<br />
Traffic verhält, während der Spot gesendet<br />
wird. Der Berliner Trackingspezialist<br />
Webtrekk hat für den <strong>Kunden</strong> „Wirkaufens“<br />
festgestellt, dass deutlich mehr<br />
Reichweite erzielt wurde, während der<br />
Sommer, wie <strong>Kunden</strong> reagieren, wenn<br />
ein Gutschein im Netz und in der Filiale<br />
eingelöst werden kann. Das Ergebnis:<br />
Ein Drittel der Einlösungen fand in den<br />
Läden statt und erzeugte entsprechen<strong>des</strong><br />
Potenzial für Spontankäufe. „Man muss<br />
nicht immer einen Gutschein einsetzen“,<br />
sagt Mo Mosavi, „manchmal kann man<br />
die <strong>Kunden</strong> einfach auch fragen.“ Außerdem<br />
gibt es noch<br />
eine Reihe subtiler<br />
Methoden,<br />
die den <strong>Kunden</strong>,<br />
der ein Produkt<br />
gekauft hat, dazu<br />
verführen, online<br />
mit dem Unternehmen<br />
in Kontakt<br />
zu treten. Ein<br />
Klassiker ist die<br />
Produktregistrierung.<br />
Wie wichtig sind die Bewertungen, die in der Google-Suche<br />
erscheinen, für den Vertrauensaufbau eines Unternehmens? Epson exer-<br />
ziert das, indem<br />
den <strong>Kunden</strong> kurze<br />
Spot auf Pro7 lief. Eine deutlich höhere<br />
Konversion erzielte der Spot aber auf Kabel1.<br />
Webtrekk misst hierbei nicht nur die<br />
primären Effekte, wenn die Nutzer direkt<br />
Workshops zur Benutzung <strong>des</strong> Druckers<br />
angeboten werden. In Maßen lassen sich<br />
bei solchen Registrierungen ebenfalls Befragungen<br />
durchführen.<br />
auf die Site gehen, sondern kann auch<br />
extrahieren, wer von Google kommt und<br />
welcher Begriff häufig gesucht wurde.<br />
Noch schwerer wird es für den Filialbetreiber.<br />
Der muss zusätzlich erfassen,<br />
Der Workshop<br />
<strong>Die</strong> empirische Methode durch Tracking<br />
hat einen wichtigen Nachteil: Sie weiß<br />
nichts über Interessenten, die nie auf der<br />
eigenen Website angekommen sind. Es<br />
kann also sein, dass ein kompletter Kanal<br />
vergessen wurde oder dass die Zielgruppenansprache<br />
nicht stimmte. Einer<br />
solchen Lücke im Marketingmix kommt<br />
man mit einer anderen Methode auf die<br />
Schliche, dem Customer-Journey-Workshop.<br />
Er funktioniert in Form klassischer<br />
Metaplanarbeit. Man nehme eine Gruppe<br />
von Mitarbeitern, <strong>Kunden</strong> oder Freunden<br />
und sperre sie für einen Tag in ein<br />
Zimmer. Der Workshopleiter startet mit<br />
einer offenen, indirekten Befragung und<br />
versucht Inspirationsquellen zu ermitteln.<br />
Eine Frage könnte lauten: „An welche<br />
drei Erlebnisse aus letzter Zeit erinnert<br />
Ihr euch beim Thema Fahrradfahren“.<br />
Ausgehend von einer definierten Inspiration<br />
und einem formulierten Anspruch<br />
(„Neues Fahrrad, vielleicht ein eBike“)<br />
notiert dann jeder Teilnehmer seine primäre<br />
Informations- und Recherchequelle.<br />
Adobe-Manager Hartmut König stellt fest,<br />
dass Freunde längst nicht bei jedem Thema<br />
die richtigen Ansprechpartner sind:<br />
„<strong>Die</strong> fahren nicht so ambitioniert Fahrrad<br />
wie ich, <strong>des</strong>halb habe ich mehr in Foren<br />
gesucht“. Wichtig hierbei ist nicht nur<br />
die Quelle der Recherche, sondern auch<br />
der Suchbegriff, der gewählt wird, beziehungsweise<br />
die Problemstellung, die den<br />
<strong>Kunden</strong> beschäftigt. Hartmut König hatte<br />
zum Beispiel ein Ausschlusskriterium<br />
54 0513 internet magazin
Customer Journey Workshop | WEBBUSINESS<br />
gefunden, nämlich die Belastbarkeit <strong>des</strong><br />
Rennradrahmens. Produkte, die keine<br />
100 Kilo tragen konnten, sollten frühzeitig<br />
aus der Recherche ausscheiden.<br />
<strong>Die</strong> Metaplantechnik sieht vor, dass die<br />
Teilnehmer dann in einer zweiten Runde<br />
die eigenen Vorschläge und die der Kollegen<br />
mit Punkten bewerten. So entsteht<br />
eine Liste der Prioritäten. <strong>Die</strong> wichtigsten<br />
Touchpoints sind die, die mit Budgets<br />
auszustatten sind, die wichtigen Fragestellungen<br />
die, die es in Kampagnen und<br />
im Content-Marketing durchzuspielen<br />
gilt. Nun setzt der Testleiter einen Punkt<br />
und definiert die nächste Stufe. Nach<br />
der grundlegenden Recherche wird zum<br />
Beispiel die Produktauswahl in einem<br />
bestimmten Sortiment aufgebaut. Wie<br />
recherchieren die Teilnehmer das?<br />
Das Spielchen geht weiter bis zum Kauf.<br />
Theoretisch ergeben sich Hunderte möglicher<br />
Kombinationen von Touchpoints.<br />
In der Praxis haben eine Handvoll Punkte<br />
bei besonderen Fragestellungen eine hervorgehobene<br />
Bedeutung. Für Hartmut<br />
König zum Beispiel führte der Weg zum<br />
lokalen Fahrradhändler über das Händlerverzeichnis<br />
eines bestimmten Herstellers.<br />
Händler, die dort nicht gelistet<br />
waren, fielen durch sein Raster.<br />
QR-Co<strong>des</strong> am Point of Sale stellen die<br />
schnelle Verbindung zwischen Online-<br />
Tracking und Filiale her.<br />
Langfristige Strategien<br />
Neben einer Liste der nächsten wichtigen<br />
Marketingaktivitäten erhält der<br />
Coach im Idealfall einen Satz von Archetypen<br />
von <strong>Kunden</strong>, die so genannten<br />
Personas. Im Falle Hartmut Königs ist<br />
das der dynamische Geschäftsmann, der<br />
einen sehr hohen Anspruch an sein Produkt<br />
hat, und die Recherche akribisch<br />
vorbereitet. Eine besondere Bedeutung<br />
haben für ihn Fachforen. Wer König im<br />
Visier hat, sollte die Meinungsführer zu<br />
Markenbotschaftern machen. <strong>Die</strong> Ausdefinition<br />
von Personas ist ein probates<br />
Hilfsmittel für den Marketingalltag.<br />
Nicht selten übersehen Marketingabteilungen<br />
einzelne Zielgruppensegmente,<br />
weil sie persönlich nicht in der Marketingabteilung<br />
vertreten sind. <strong>Die</strong> Macher<br />
<strong>des</strong> Longboard-Shop hatten sich stets<br />
auf die naheliegende Kernzielgruppe<br />
der 16- bis 25-jährigen jungen Männer<br />
konzentriert. Bei einer nach Geschlecht<br />
und Altersgruppen segmentierten Facebook-Anzeigenkampagne<br />
ergab sich,<br />
dass es auch eine sehr aktive weibliche<br />
Zielgruppe zwischen 12 und 20 gab, die<br />
laut Tracking sogar über Kaufkraft verfügt.<br />
Nach seinem Wechsel von Baur<br />
zu AGS beschäftigte sich Philip Winklhofer<br />
einen Monat lang fast nur damit,<br />
seine neue Zielgruppe präziser zu fassen.<br />
„Best Ager sind das einzige Alterssegment,<br />
bei dem es noch Wachstum in<br />
der Online-Nutzung geben wird. <strong>Die</strong>se<br />
Zielgruppe hat ein überdurchschnittliches<br />
Qualitäts- und Preisbewusstsein.<br />
Best Ager nutzen unterdurchschnittlich<br />
oft soziale Netzwerke, <strong>des</strong>wegen muss<br />
man sich gut überlegen, ob und wie<br />
viele Ressourcen man ins Social Marketing<br />
steckt“, so Winklhofer. Während<br />
der Recherche entdeckte der Wahlfranke,<br />
dass in der einschlägigen Literatur<br />
jede Menge überkommene Klischees zu<br />
finden waren. Zum Beispiel gelten Senioren<br />
generell als innovationskritisch.<br />
Links zum Thema<br />
Customer-Journey-Studie von GFK<br />
http://www.gfk.com/group/press_<br />
information/press_releases/<br />
010697/index.de.html<br />
Der Einfluss von Social Media auf den<br />
Shopumsatz steigt<br />
http://www.marketing-boerse.de/<br />
News/details/1249-Umsatzstei<br />
gerung-bei-Online-Shops-mit-<br />
Social-Media/39662<br />
Das Customer Journey Mapping Game<br />
http://prezi.com/1qu6lq4qucsm/<br />
customer-journey-mapping-gametransport/<br />
Weitere Quellen zum Customer Journey<br />
Mapping<br />
http://experiencinginformation.<br />
wordpress.com/2010/05/10/<br />
customer-journey-mappingresources-on-the-web/<br />
AGS kann hingegen bereits eine recht signifikante<br />
Rate an Zugriffen von Tablets<br />
messen. Winklhofer: „Tablets machen<br />
die Nutzung <strong>des</strong> <strong>Internet</strong>s so einfach:<br />
Mit einem Fingerwischen liegt einem<br />
alles offen und dafür muss man weder<br />
eine telefonbuchstarke Bedienungsanleitung<br />
lesen noch ein Betriebssystem<br />
instandhalten“.<br />
Für die langfristige Strategie ist es vielleicht<br />
eine gute Idee, den wichtigsten<br />
Archetypen Namen zu geben, sich in<br />
der Google-Bildersuche ein passen<strong>des</strong><br />
Bild dazu zu suchen, diese Bilder zusammen<br />
mit einigen Kriterien wie einen<br />
Steckbrief auszudrucken und an die<br />
Bürowand zu pinnen. Dem einen oder<br />
anderen Mitarbeiter wird das helfen, sich<br />
in die Bedürfnisse der <strong>Kunden</strong> hineinzu<br />
versetzen. Und denken Sie daran: <strong>Die</strong><br />
Customer Journey ist ein lebender Organismus,<br />
der sich ständig verändert. Man<br />
muss sie immer wieder neu definieren,<br />
denn jede saisonale Schwankung, jede<br />
Aktivität von Wettbewerbern beeinflusst<br />
auch die <strong>Reise</strong> Ihrer <strong>Kunden</strong>.<br />
Frank Puscher<br />
www.internet-magazin.de 55
Testen Sie jetzt 3x <strong>Internet</strong> <strong>Magazin</strong> und erhalten Sie<br />
Sofort zu<br />
Nutzen Sie weiter die Vorteile <strong>des</strong> <strong>Internet</strong> <strong>Magazin</strong>-Premium-Abos!<br />
Ja, ich nehme Ihr Super-Testangebot an. Ich möchte drei Ausgaben <strong>des</strong> <strong>Internet</strong> <strong>Magazin</strong>s<br />
testen. Dazu erhalte ich als Prämie wahlweise den 32 GB USB-Stick, den Amazon.de-Gutschein<br />
im Wert von10Euro oder die Logitech Digital Speakers für nur 14,99 €.<br />
Sollten Sie eine Woche nach Erhalt <strong>des</strong> 3. Heftes nichts von mir hören, freue ich mich auf<br />
die regelmäßige Zustellung per Post frei Haus: 12 Ausgaben proJahr für nur 52,90.<br />
INTERNET MAGAZIN-TESTABO<br />
JA, ich möchte die nächsten drei Ausgaben <strong>des</strong> <strong>Internet</strong> <strong>Magazin</strong>s testen. Außerdem erhalte ich<br />
wahlweise als Prämie gratis<br />
❏ den 32 GB USB-Speicherstick (K970) für 14,99 Euro (Österreich 19,99 Euro*,Schweiz 29,99 sfr*)<br />
❏ den 10 Euro-Amazon.de-Gutschein (K971) für 14,99 Euro (Österreich 19,99 Euro*,Schweiz 29,99 sfr*)<br />
❏ die Logitech Digital Speakers (K153) für 14,99 Euro (Österreich 19,99 Euro*,Schweiz 29,99 sfr*)<br />
Sollten Sie eine Woche nach Erhalt <strong>des</strong> 3. Heftes nichts von mir hören, freue ich mich auf die<br />
regelmäßige Zustellung per Post frei Haus -12Ausgaben /Jahr für nur 52,90 Euro<br />
Name, Vorname<br />
E-Mail (Für Korrespondenzzwecke)<br />
Straße, Nr.<br />
PLZ, Ort<br />
Gewünschte Zahlungsweise: Bequem durch Bankeinzug Gegen Rechnung<br />
Dafür erhalte ich 1Heft gratis (Nur im Inland!)<br />
BLZ<br />
Geldinstitut<br />
Kontonummer<br />
Sofort online bestellen:<br />
www.internet-magazin.de/<br />
angebot<br />
Per Post<br />
<strong>Internet</strong> <strong>Magazin</strong><br />
<strong>Kunden</strong>-Service<br />
Postfach 180<br />
77649 Offenburg<br />
oder faxen/anrufen:<br />
Fax: 0781 -846191<br />
Tel: 0781 -639 45 48<br />
✃<br />
Datum, Unterschrift<br />
Ändert sich meine Adresse, erlaube ich der Deutschen Post AG, dem Verlagmeine neue Anschrift mitzuteilen. <strong>Die</strong> Prämie wird NACH erfolgter<br />
Bezahlung <strong>des</strong> Test-Abo-Preises zugesandt. Sollte der abgebildete Artikel nicht mehr lieferbar sein, erhalten Sie einen qualitativ gleichwertigen<br />
Ersatzartikel. Das Jahres-Abonnement ist nach Ablauf <strong>des</strong> ersten Jahres jederzeit kündbar. WEKA MEDIA PUBLISHING GmbH,<br />
Richard-Reitzner-Allee 2, 85540 Haar,Handelsregister München, HRB 154289. *Folgeabopreise siehe Impressum<br />
Ich bin damit einverstanden –jederzeit widerruflich-, dass mich der VerlagWEKA MEDIA PUBLISHING künftig per E-Mail und<br />
telefonisch über interessante Vorteilsangebote informiert.<br />
WK30i2M05<br />
Gleich Coupon ausfüllen und einsenden
eine tolle Prämie dazu!<br />
Gleich online bestellen unter:<br />
www.internet-magazin.de/angebot<br />
greifen!<br />
Ab jetzt<br />
5€<br />
günstiger!<br />
Jetzt nur 14,99 €<br />
statt 19,99 €<br />
NEU!<br />
3x <strong>Internet</strong> <strong>Magazin</strong><br />
plus 32 GB Speicherstick oder Logitech<br />
Digital Speakers oder 10 Euro-Amazon.de-<br />
Gutschein ab €14,99<br />
32 GB USB-Stick<br />
Der Speichergigant für den Alltag<br />
Der 32 GB USB-Stick ist angenehm klein,<br />
bietet aber genügend Speicherplatz für<br />
IhreDaten, wie etwa32.000 MP3s, 60.000<br />
Fotos, 12 Stunden Film oder eben<br />
32 Gigabyte Daten.<br />
Amazon.de-Gutschein<br />
im Wert von 10,- Euro<br />
Ein Heft GRATIS bei Bankeinzug!<br />
Wählen Sie<br />
eine dieser<br />
attraktiven<br />
Prämien!<br />
SATTE<br />
32 GB<br />
TOP-PRÄMIE<br />
DES MONATS!<br />
Logitech Digital Speakers<br />
Das Lautsprechersystem für Ihren Computer<br />
Das System für USB-2.0 mit 1,2 Watt RMS ermöglicht eindrucksvollen<br />
Klang mit kraftvollen Bässen. Audioübertragung<br />
und Stromversorgung über USB. 3Jahre Garantie.<br />
oder online bestellen unter www.internet-magazin.de/angebot
WEBBUSINESS | E-Commerce-Logistik<br />
Logistik im<br />
E-Commerce<br />
Für den Erfolg eines Online-Shops sind zahlreiche<br />
Faktoren verantwortlich. Neben der ganz offensichtlichen<br />
Produktvielfalt und ansprechender Darstellung<br />
<strong>des</strong> Warensortiments gehören dazu auch die Prozesse<br />
rund um die Logistik.<br />
Gründer und Startups im Versandhandel<br />
werden schnell Opfer <strong>des</strong> eigenen<br />
Erfolges. Der Aufwand, der betrieben<br />
werden muss, um die von den <strong>Kunden</strong><br />
bestellten Waren pünktlich auszuliefern,<br />
und auch die zwangsläufig einsetzenden<br />
Retouren und deren Abwicklung erweisen<br />
sich als zeit- und kostenintensiv. Das<br />
ist eine kritische Phase, denn saubere<br />
Abwicklungsprozesse haben durchaus<br />
Einfluss auf den Erfolg <strong>des</strong> eigenen Geschäftsmodells.<br />
Warum Logistik Einfluss<br />
auf den Umsatz hat<br />
<strong>Die</strong> Liebe zu den eigenen Produkten,<br />
eine ansprechende Präsentation und<br />
eine breite Angebotspalette dürften auf<br />
längere Sicht nicht ausreichen, um im<br />
<strong>Internet</strong>versandhandel erfolgreich zu<br />
sein. Um eine Analogie zum stationären<br />
Handel zu ziehen: Wer kauft auf Dauer<br />
gern in einem Geschäft ein, in dem<br />
er stundenlang an der Kasse schlangestehen<br />
muss oder sich das Personal mit<br />
Händen und Füßen gegen die Rücknahme<br />
von Artikeln wehrt? Wie der Kunde<br />
seinen Einkauf im Online-Shop als<br />
Ganzes bewertet, hängt auch von den<br />
Erfahrungen ab, die er nach dem Klick<br />
auf den Bestell-Button macht.<br />
Branchenriesen wie Amazon, Tchibo<br />
und Otto haben es vorgemacht. Der<br />
Kunde erfährt hier bereits wenige Minuten<br />
nach Absenden seines Warenkorbs,<br />
58 0513 internet magazin
E-Commerce-Logistik | WEBBUSINESS<br />
welchen Status seine Bestellung hat, und<br />
kann auch zuverlässig und zeitnah verfolgen,<br />
wo sich seine Ware befindet. Eine<br />
erfüllte Forderung nach transparentem<br />
Service, der sich damit auch zwangsläufig<br />
kleinere Unternehmen ausgesetzt<br />
sehen. Ausgefeilte Logistikprozesse und<br />
die Wahl <strong>des</strong> richtigen <strong>Die</strong>nstleisters helfen<br />
Shopbetreibern dabei, <strong>Kunden</strong>wünschen<br />
gerecht zu werden.<br />
<strong>Die</strong> Bestandteile von<br />
Logistik und Fulfillment<br />
Um darüber entscheiden zu können,<br />
welche <strong>Die</strong>nste in Anspruch genommen<br />
werden sollen, ist es wichtig, sich die<br />
mit dem so genannten Fulfillment beziehungsweise<br />
der Logistik in Verbindung<br />
stehenden Prozesse genauer anzusehen.<br />
Hat der Kunde seine Bestellung abgesendet,<br />
müssen die Waren aus einem Lager<br />
genommen und zusammengestellt (kommissioniert)<br />
werden. Alles muss sicher<br />
verpackt werden, damit es den anschließenden<br />
Versand unbeschadet übersteht.<br />
Sowohl das Unternehmen als auch der<br />
Kunde müssen wissen, wo sich die Ware<br />
befindet, der Versandweg muss also verfolgbar<br />
sein (Tracking). Schließlich sind<br />
Rechnungen – entweder bereits vor dem<br />
Versand oder unmittelbar danach – zu<br />
schreiben, die Zahlungen abzuwickeln<br />
und eventuelle Mahnungen zu schreiben.<br />
Und schließlich sollte nicht vergessen<br />
werden, dass <strong>Kunden</strong> Waren aus unterschiedlichsten<br />
Gründen auch wieder<br />
zurückgeben und dann Prozesse passend<br />
zum <strong>Kunden</strong>wunsch angestoßen und abgewickelt<br />
werden müssen.<br />
Grob lassen sich die genannten Prozesse<br />
in zwei Arten von <strong>Die</strong>nstleistungen zusammenfassen.<br />
Logistiker bieten den Unternehmen<br />
den reinen Versand an, das<br />
Unternehmen holt also die verpackten<br />
Waren ab oder erwartet deren Einlieferung<br />
in einem Versandzentrum und übernimmt<br />
anschließend den Transport. Das<br />
<strong>Kunden</strong> erwarten heute Transparenz<br />
darüber, wo sich die Waren während<br />
<strong>des</strong> Versan<strong>des</strong> befinden. Spezielle Apps<br />
für iOS- oder Android-Geräte fragen die<br />
Systeme der Logistiker dazu ab.<br />
Angebot von Unternehmen, die das Fulfillment<br />
anbieten, geht dagegen weit über<br />
diesen reinen Transport hinaus. Dort hin<br />
können mehr oder weniger modular alle<br />
bereits genannten Prozesse ausgelagert<br />
werden, die nach dem Bestelleingang in<br />
einem Unternehmen anfallen.<br />
Der optimale Logistiker<br />
Bei der Wahl <strong>des</strong> optimalen Logistikers<br />
steht zu Beginn die Fragestellung, an wen<br />
Sie überwiegend Ihre Pakete senden werden<br />
und welche Liefergebiete zu berücksichtigen<br />
sind. Gehören zu Ihren <strong>Kunden</strong><br />
eher private Haushalte, ist es besser, sich<br />
für einen Versender zu entscheiden, der<br />
sich auf dieses Segment spezialisiert hat,<br />
und etwa auch an stationäre Shops oder<br />
Paketstationen ausliefert.<br />
Viele der Komfortfunktionen für den Absender,<br />
zum Beispiel die elektronische<br />
Übermittlung einer Nummer für die<br />
Verfolgung der Sendung, sind bei den<br />
meisten Unternehmen an den Status <strong>des</strong><br />
Geschäftskunden gekoppelt. Und dieser<br />
Status ist üblicherweise an eine Min<strong>des</strong>tmenge<br />
an Paketen, die pro Jahr versendet<br />
werden müssen, gebunden. <strong>Die</strong>se<br />
Menge liegt etwa zwischen 300 (DHL,<br />
Hermes) und 500 Paketen (GLS) pro Jahr.<br />
Eine Variante dieses Modells ist etwa die<br />
Herausgabe einer Software für die Übermittlung<br />
der Versanddaten, die erst nach<br />
einer Min<strong>des</strong>tanzahl an Paketen erfolgt.<br />
Wer so viele Pakete versendet, erhält<br />
dafür dann aber auch preisliche Sonderkonditionen<br />
und kann Sendungen direkt<br />
abholen lassen.<br />
Bei der Entscheidung für oder gegen einen<br />
Logistiker können auch noch weitere<br />
Gesichtspunkte eine Rolle spielen.<br />
Gibt es Grenzen hinsichtlich der Abmessungen<br />
eines Pakets oder <strong>des</strong> Gewichts<br />
der Sendung? Bis zu welchem<br />
Wert ist die Sendung gegen Verlust versichert?<br />
Wie viele Zustellversuche sind<br />
inkludiert? Kann der Kunde seine Bestellung<br />
danach an einer Niederlassung<br />
selbst abholen? Oder wird die Angabe<br />
eines vom <strong>Kunden</strong> gewünschten Versandzeitpunkts<br />
angeboten?<br />
Unter den Logistikern finden Sie auch<br />
Anbieter, die sich in erster Linie auf das<br />
Business-to-Business-Segment spezialisiert<br />
haben und eher den Kurierdiensten<br />
zuzuordnen sind. Hierzu zählen Fed-<br />
Ex, TNT oder auch General Overnight<br />
(GO!). Sie bringen die Waren zwar extrem<br />
schnell zum <strong>Kunden</strong>, ihre Gebühren<br />
dürften aber regelmäßig gerade im<br />
Mengengeschäft den finanziellen Rahmen<br />
eines Shopbetreibers sprengen.<br />
Logistiker in der Übersicht<br />
Je<strong>des</strong> Kind kennt die gelben Fahrzeuge<br />
von DHL. Der größte Vorteil <strong>des</strong> Unternehmens,<br />
das zum Konzern Deutsche<br />
Post gehört, ist sicherlich das flächendeckende<br />
Netz an Zustellstützpunkten<br />
und die große Fahrzeugflotte. Komfortabel<br />
für den <strong>Kunden</strong> sind die Packstationen,<br />
an die Pakete ausgeliefert werden<br />
www.internet-magazin.de 59
WEBBUSINESS | E-Commerce-Logistik<br />
können. Im Falle der Nichterreichbarkeit<br />
können <strong>Kunden</strong> die Ware in den Filialen<br />
<strong>des</strong> Unternehmens abholen und Sendungen<br />
auch am Sonnabend erhalten.<br />
Der Kunde kann mit der Sendungsverfolgungsnummer<br />
jederzeit nachsehen,<br />
wo sich seine Ware befindet. <strong>Die</strong> Preise<br />
für den Versand sind abhängig von der<br />
Menge. Um in den Status <strong>des</strong> Geschäftskunden<br />
zu gelangen, müssen min<strong>des</strong>tens<br />
300 Pakete im Jahr versendet werden.<br />
Hermes ist ein Tochterunternehmen der<br />
Otto-Gruppe und entsprechend auch primär<br />
im Privatkundengeschäft aufgestellt.<br />
Hermes liefert auch am Samstag aus und<br />
unterhält inzwischen bun<strong>des</strong>weit eine<br />
fünfstellige Zahl an Paketshops, in denen<br />
<strong>Kunden</strong> Waren im Falle der Nichterreichbarkeit<br />
oder auch auf Wunsch abholen<br />
können. Das Preisniveau ist gegenüber<br />
Wettbewerbern eher niedrig, da Hermes<br />
seinen Marktanteil signifikant steigern<br />
möchte. 300 Pakete pro Jahr sind für<br />
den Status „Geschäftskunde“ nötig. Eine<br />
kostenlose Abholung ist ab vier Paketen<br />
möglich. Bei kleineren Mengen wird ein<br />
Zuschlag erhoben.<br />
DPD hat als Versender im B2B-Bereich<br />
begonnen. In der Fläche ist das Unternehmen<br />
derzeit noch mit deutlich weniger<br />
Paketshops als die Mitbewerber<br />
vertreten. Das Privatkundengeschäft<br />
soll aber weiter ausgebaut werden.<br />
500 Sendungen im Jahr erwartet der<br />
<strong>Die</strong>nst von seinen Geschäftskunden.<br />
Das Preisniveau ist letztlich abhängig<br />
von der Empfängerstruktur und der Zahl<br />
der Pakete und wird im Rahmen eines<br />
individuellen Angebots ausgehandelt.<br />
Eine Besonderheit für die Versender von<br />
größeren Elektrogeräten wie zum Beispiel<br />
Kaffeevollautomaten: DPD bietet<br />
spezielle Rückholboxen an, in denen<br />
solche Geräte versendet werden können.<br />
So gelangen empfindliche Waren<br />
gut geschützt in die Werkstatt.<br />
GLS gleicht in vielen Belangen seinem<br />
Konkurrenten DPD. Zur Selbstabholung<br />
stehen einige Tausend<br />
Stützpunkte zur Verfügung, und auch<br />
die Historie ist ähnlich. <strong>Die</strong> Preise für<br />
den Versand sind flexibel gestaltet, die<br />
Hürde für Geschäftskunden mit 500<br />
Paketen identisch.<br />
<strong>Die</strong> braunen Wagen von UPS sind ebenfalls<br />
sehr bekannt. Aufgrund seiner eher<br />
hohen Preise ist der <strong>Die</strong>nst in erster Linie<br />
für zeitkritische Sendungen an Geschäftskunden<br />
und Privathaushalte zu<br />
empfehlen. <strong>Kunden</strong> können sich nach<br />
mehreren erfolglosen Zustellversuchen<br />
die Pakete in einem Depot abholen. <strong>Die</strong><br />
Depots sind allerdings regional recht<br />
grob verteilt.<br />
Fulfillment-Center<br />
erledigen den<br />
kompletten Bestellablauf<br />
von der<br />
Lagerhaltung bis<br />
zum Versand <strong>des</strong><br />
Artikels.<br />
Das komplette Programm:<br />
Fulfillment<br />
Unternehmen, die sich auf das Fulfillment<br />
spezialisiert haben, bieten ein<br />
deutlich breiteres Spektrum an als Logistiker.<br />
Wer seine Waren und Artikel<br />
bei einem solchen Unternehmen lagert,<br />
dort zu Sendungen zusammenstellen<br />
und verpacken lässt, muss dafür natürlich<br />
auch bezahlen. <strong>Die</strong>ser „Aufschlag“<br />
gegenüber dem reinen Versand muss<br />
betriebswirtschaftlich bei der Preisgestaltung<br />
der einzelnen Produkte berücksichtigt<br />
werden. In engen Märkten,<br />
in denen noch dazu Produkte mit einer<br />
überschaubaren Marge angeboten wer-<br />
60 0513 internet magazin
E-Commerce-Logistik | WEBBUSINESS<br />
<strong>Die</strong>nstleister für<br />
das Fulfillment<br />
bieten umfangreiche<br />
Lösungen<br />
für alle Shopbetreiber<br />
an.<br />
Deren Integration<br />
und Nutzung sind<br />
aber in aller Regel<br />
Teil eines größeren<br />
Projekts.<br />
den, muss hier schon mit sehr spitzem<br />
Bleistift gerechnet werden, um die Entscheidung<br />
dafür zu treffen, die Aufgaben<br />
auszulagern. Generell sind die Preise<br />
abhängig von der Anzahl der gebuchten<br />
<strong>Die</strong>nstleistungen, der Zahl der Sendungen<br />
und auch stark<br />
vom Volumen der Waren<br />
oder Sendungen,<br />
da ja die Lagerkapazitäten<br />
<strong>des</strong> Anbieters<br />
refinanziert<br />
werden müssen.<br />
Während die Daten,<br />
die für die<br />
Übermittlung eines<br />
Versandauftrags an einen<br />
<strong>Die</strong>nstleister zu übermitteln sind,<br />
recht einfach strukturiert sind, nimmt<br />
die Komplexität der Informationen zu,<br />
wenn auch Lagermengen zu ermitteln<br />
und mit dem eigenen Shop zu koppeln<br />
sind. Bei der Auswahl eines Fulfillment-<br />
<strong>Die</strong>nstleisters spielt die Kompatibilität<br />
der beteiligten IT-Programme eine wichtige<br />
Rolle. Schon allein <strong>des</strong>halb ist das<br />
Aufsetzen eines solchen Projekts höchst<br />
individuell. Fulfillment by Amazon nennt<br />
sich das Spezialangebot <strong>des</strong> Versandriesen.<br />
Händler lagern ihre Artikel dort ein<br />
und können die komplette Prozesskette<br />
in Anspruch nehmen. <strong>Die</strong> Waren werden<br />
konfektioniert, verpackt und versendet.<br />
Auf Wunsch kümmert sich Amazon auch<br />
um den <strong>Kunden</strong>service für die entsprechenden<br />
Bestellungen.<br />
In<br />
erster Linie ist<br />
das Unternehmen an<br />
Waren interessiert, die<br />
schnell umgeschlagen<br />
werden. Deshalb<br />
fallen besondere Gebühren<br />
für alle eingelagerten<br />
Artikel an,<br />
die länger als 365<br />
Tage im Lager von<br />
Amazon verbleiben.<br />
Besonders<br />
einfach verläuft die<br />
Integration, wenn Sie als Anbieter auch<br />
den Marketplace von Amazon als Shop-<br />
Plattform einsetzen. <strong>Die</strong> Anbindung externer<br />
Systeme ist in<strong>des</strong> möglich.<br />
Auch Powerseller können<br />
Firmendienste nutzen<br />
DHL bietet mit dem Produkt eParcel<br />
ebenfalls ein Fulfillment-Angebot, das<br />
alle Stationen eines Artikel von der<br />
Bestellung bis hin zur eventuellen Retoure<br />
umfasst. <strong>Die</strong> Serviceleistungen sind<br />
www.internet-magazin.de<br />
61
WEBBUSINESS | E-Commerce-Logistik<br />
Logistiker in der Übersicht<br />
DPD DHL GLS Hermes UPS<br />
URL<br />
https://www.dpd. www.dhl.de/de/paket/ https://gls-group.eu/ https://profipaket www.ups.com/<br />
com/de/<br />
geschaeftskunden.html DE/de/gls-versand service.hlg.de<br />
Telefon für<br />
Business-<strong>Kunden</strong><br />
(01805) 373 200 (01805) 345 22 55 (0180) 52 52 700 (01805) 008 008 (01805) 882 663<br />
Min<strong>des</strong>tanzahl Pakete<br />
für Status pro Jahr<br />
500 300 500 300 Einzelversand möglich,<br />
Spezialsoftware ab 10<br />
Paketen pro Tag<br />
Tarife Individuelle Tarife Individuell, abhängig<br />
von Volumen<br />
Besonderheiten<br />
Verpackungen<br />
Zustellmöglichkeiten<br />
Bemerkungen<br />
Spezielle Versandtaschen<br />
für Dokumente<br />
erhältlich. „Backbox“<br />
für die Rückholung<br />
von Geräten<br />
8.000 Paketshops zur<br />
Selbstabholung<br />
Anbieter, der zunächst<br />
im B2B-Umfeld tätig<br />
war<br />
DHL bietet Packsets an<br />
Neben Fahrzeugzustellung<br />
Anlieferung<br />
in Packstationen und<br />
allen Postfilialen.<br />
Bun<strong>des</strong>weites Netz<br />
Individuell, durch<br />
Maut- oder <strong>Die</strong>selgebühren<br />
variabel<br />
Kartonagen sind optional<br />
in den Paketshops<br />
erhältlich.<br />
Rund 6.000 Paketshops<br />
bun<strong>des</strong>weit oder<br />
Abholung im Depot<br />
Entscheidend ist allein<br />
die Größe <strong>des</strong> Pakets.<br />
Recht günstig<br />
In Hermes Shops sind<br />
optional Kartonagen<br />
erhältlich.<br />
Über 14.000 Paketshops<br />
bun<strong>des</strong>weit<br />
– Ähnelt DPD. Tochter der OTTO-<br />
Gruppe<br />
Hochpreisiger <strong>Die</strong>nst<br />
Für Dokumente gibt es<br />
Spezialtaschen, die der<br />
Fahrer mitbringt.<br />
Abholung nach mehrmaligem<br />
Nichtantreffen<br />
nur in regionalen<br />
Depots möglich. Kein<br />
dichtes Netz an Stützpunkten<br />
Eher für den schnellen<br />
Express-Versand<br />
geeignet<br />
modular aufgebaut. Über die Grundstufe<br />
(Lagerung, Konfektionierung,<br />
Versand, Retourenabwicklung) hinaus<br />
besteht auch die Option, eigene Systeme<br />
und Programme mit der Warenwirtschaft<br />
<strong>des</strong> Unternehmens zu koppeln, um so<br />
einen Überblick in Echtzeit über die Produkte<br />
zu behalten.<br />
Weitere Infos und Adressen<br />
Hermes bietet ein Modulkonzept<br />
Hermes Fulfillment ist das B2B-Angebot<br />
der Hermes-Logistik-Gruppe. Das Unternehmen<br />
stellt einzeln buchbare Module<br />
zur Verfügung. Neben der klassischen<br />
Distribution und Retouren können auch<br />
das Zahlungsmanagement ausgelagert<br />
oder die <strong>Die</strong>nste eines Call-Centers genutzt<br />
werden. Hermes kann im Bereich<br />
<strong>des</strong> Fulfillments natürlich auf die in der<br />
Otto-Gruppe gesammelten Erfahrungen<br />
und Leistungen zurückgreifen. Damit<br />
eignet sich das Unternehmen auch für<br />
Anbieter von Möbeln oder sogenannter<br />
„weißer Ware“, die einen Aufstell- be-<br />
» Actindo (www.actindo.de/) ist eine Software für die Warenwirtschaft, die Schnittstellen<br />
zu vielen aktuellen Shopsystemen auf der einen Seite sowie den größten<br />
Logistikern und Fulfillment-Anbietern auf der anderen Seite hat.<br />
» Afterbuy (www.afterbuy.de) heißt eine Anwendung, die aufgrund ihrer Herkunft<br />
eine starke Verzahnung mit Ebay ermöglicht. Optional können aber auch andere<br />
Shops angebunden werden. Bei den Fulfillment-Partnern sind DHL und Hermes<br />
integriert.<br />
» PVS: Unter www.pvs-ff.com/services.php sind die <strong>Die</strong>nstleistungen und Möglichkeiten<br />
<strong>des</strong> Unternehmens einzusehen.<br />
ziehungsweise Aufbauservice benötigen<br />
oder von min<strong>des</strong>tens zwei Personen<br />
ausgeliefert werden müssen. Das Unternehmen<br />
PVS zählt zum Mittelstand und<br />
gehört keinem Konzern an. Es hat seinen<br />
Schwerpunkt im Produktversand. Um diese<br />
Kerndisziplin herum werden weitere<br />
Leistungen angeboten. Textilien etwa, die<br />
aus einer Rücksendung stammen, werden<br />
optional wieder aufbereitet, damit<br />
sie erneut in den Versand gehen können.<br />
Schon ambitionierte Ebay-Powerseller<br />
können schnell das Versandvolumen erreichen,<br />
das zur Nutzung von Firmenkunden-<strong>Die</strong>nsten<br />
bei Logistikern berechtigt.<br />
In Kombination mit einer passenden<br />
Logistiksoftware wie zum Beispiel Afterbuy<br />
von Ebay wird die Übermittlung der<br />
Daten einfacher. Etwas aufwändiger ist<br />
allerdings die Verbindung von eigenen<br />
Programmen oder Shops mit den <strong>Die</strong>nsten<br />
eines Fulfillment-Anbieters.<br />
Stephan Lamprecht<br />
62 0513 internet magazin
Hostingprovider-Portrait: Mittwald | WEBBUSINESS<br />
<strong>Die</strong> Profis für<br />
Business-<strong>Kunden</strong><br />
<strong>Die</strong> Spezialität <strong>des</strong> niedersächsischen Webhosters<br />
Mittwald sind optimierte Hosting-Pakete und Managed<br />
Server für Online-Shops und Content-Management-Systeme.<br />
<strong>Internet</strong> <strong>Magazin</strong> stellt den Business-<br />
Webhoster vor.<br />
Von der einfachen Basis-Website für<br />
monatlich 1,99 Euro über Managed<br />
vServer ab 29,99 Euro und dedizierte<br />
Managed Server von 99 bis 379 Euro bis<br />
hin zu individuell konfigurierten, gemanagten<br />
Serverclustern deckt Mittwald die<br />
ganze Palette <strong>des</strong> Business-Webhosting<br />
ab. <strong>Die</strong> Preise verstehen sich übrigens<br />
zuzüglich Mehrwertsteuer, denn Mittwald<br />
richtet sich ausschließlich an Gewerbetreibende.<br />
Besondere Spezialität<br />
<strong>des</strong> niedersächsischen Hosting-Experten<br />
ist die Optimierung der Hosting-Pakete<br />
und Server auf die Anforderungen der<br />
gängigsten Content-Management- und<br />
Online-Shop-Systeme.Zusätzlich bietet<br />
Mittwald zahlreiche gute Lösungen für<br />
Webagenturen und hat als einer von<br />
ganz wenigen Anbietern die sehr leis<br />
-tungsstarke Open Source Enterprise-<br />
Suchapplikation Solr im Programm. Für<br />
Typo3 ist die Solr-Extension sogar schon<br />
komplett vorkonfiguriert und dadurch<br />
sofort einsetzbar. Ebenfalls ein Highlight<br />
ist Varnish-Hosting zur Performance-<br />
Optimierung. Der Varnish-Proxy, in der<br />
günstigsten Ausführung für 39,99 Euro,<br />
sichert bei großem Besucheransturm die<br />
Erreichbarkeit <strong>des</strong> eigentlichen Webservers,<br />
ohne dass der Server oder die Applikationen<br />
verändert werden müssen.<br />
Optimiertes CMS-Hosting<br />
Bereits beim klassischen Webhosting ist<br />
eine Spezialität von Mittwald die Optimierung<br />
auf gängige Content-Management-<br />
und E-Commerce-Systeme wie<br />
Typo3, Joomla, Wordpress, Drupal, Magento,<br />
Oxid eShop, xtCommerce, web-<br />
Edition, MediaWiki, phpBB und einige<br />
mehr. Auch bei der Grafikunterstützung<br />
wird der Profikunde nichts vermissen:<br />
ImageMagick, GDLib und Free Type sind<br />
Standard. Ein spezieller Versionsmanager<br />
macht die Aktualisierung von CMS-Systemen<br />
sehr unkompliziert.<br />
<strong>Die</strong> Profi-Webhosting-Tarife sind zusätzlich<br />
zu den Features der Businesstarife<br />
auf höhere Performance abgestimmt und<br />
beinhalten garantierte Werte für CPU-<br />
Leistung und RAM. In diesen Tarifen steht<br />
dann auch ein tägliches Vollbackup der<br />
letzten zwei bis vier Wochen zur Verfügung,<br />
in den einfacheren Tarifen werden<br />
die letzten ein bis sieben Tage gesichert.<br />
Funktionen für Webagenturen<br />
Wer Websites für seine <strong>Kunden</strong> erstellt,<br />
findet bei Mittwald speziell für diesen<br />
Zweck optimierte Hosting-Pakete,<br />
die das Verwalten mehrerer <strong>Kunden</strong>-<br />
Websites stark vereinfachen. Mit einem<br />
Design-Manager tut sich die Agentur<br />
leicht, <strong>Kunden</strong>oberflächen optisch anzupassen.<br />
Der Kunde sieht – ganz im Sinne<br />
der <strong>Kunden</strong>bindung – ausschließlich<br />
die Corporate Identity der Agentur statt<br />
eines Mittwald-Logos. Und ein Fakturierungsmodul<br />
ermöglicht das Erstellen und<br />
manuelle oder auch regelmäßig automatische<br />
Versenden von Rechnungen aus<br />
der Admin-Oberfläche heraus.<br />
Service und Support<br />
Der individuelle, schnelle und sachkundige<br />
Support wird von Mittwald-<strong>Kunden</strong><br />
häufig als entscheidender Grund für die<br />
Zufriedenheit mit dem Webhoster genannt.<br />
Der reguläre technische Support<br />
steht während der Woche von 9 bis 18<br />
Uhr bereit, nachts und an Wochenenden<br />
ist die Nothilfe aber rund um die<br />
Uhr erreichbar und löst dringende Probleme<br />
schnellstmöglich.<br />
Franz Neumeier<br />
www.internet-magazin.de 63
WEBBUSINESS | vServer unter Linux<br />
vServer im Wandel<br />
Der klassische vServer hat vielleicht bald ausgedient:<br />
Vollvirtualisierung und dynamische Cloud-Funktionen<br />
übernehmen das Marktsegment und die Grenzen verwischen<br />
immer mehr. <strong>Internet</strong> <strong>Magazin</strong> stellt die<br />
aktuellen vServer-Angebote von 13 Webhostern vor.<br />
Sie waren der Renner, als sie neu<br />
auf den Markt kamen. Sie brachten<br />
zusammen, was zuvor nicht vereinbar<br />
war: Flexibilität fast wie bei einem eigenständigen<br />
Rootserver zu Preisen, die<br />
man bis dahin nur von besseren Shared-<br />
Hosting-Paketen kannte. Perfektionierte<br />
und erschwingliche Technik bei der Vollvirtualisierung<br />
sowie die zunehmende<br />
Begeisterung für Cloud-Services verdrängen<br />
die klassischen vServer nun aber zusehends.<br />
Oft geschieht der Wandel ganz<br />
unauffällig. Manche Hosting-Provider<br />
ersetzen die bisherige vServer-Technik<br />
durch Vollvirtualisierung, ohne groß darüber<br />
zu reden. Oft ist das der Produktbeschreibung<br />
nicht einmal anumerken.<br />
Und am anderen Ende der Skala stehen<br />
Hoster, die Managed Server oder Rootserver<br />
anbieten, die in Wirklichkeit ebenfalls<br />
vollvirtualisiert sind, ohne dass der<br />
Kunde das auf den ersten Blick erkennt.<br />
So kommen die beiden Produktklassen<br />
– klassische vServer und physikalisch eigenständige,<br />
dedizierte Server, einst strikt<br />
getrennt – immer näher zusammen. Das<br />
Gute daran: Für den <strong>Kunden</strong> spielt die<br />
Technologie im Hintergrund in den meis<br />
-ten Fällen kaum noch eine Rolle. vServer<br />
werden von Website-Betreibern nicht nur<br />
für technisch anspruchsvolle Websites<br />
genutzt werden, sondern beispielsweise<br />
auch als günstige Entwicklungsserver und<br />
für viele andere Zwecke mehr.<br />
Dynamischer in der Cloud<br />
In diesem Umfeld wird der zweite, deutliche<br />
Trend immer nützlicher: Dynamische<br />
Cloud-Funktionen halten Einzug.<br />
Je nach Anforderungen kann der Kunde<br />
hier die Leistungswerte seines Hosting-<br />
Pakets flexibel und kurzfristig anpassen<br />
– zum Testen eines neues Designs reicht<br />
vielleicht die Minimalkonfiguration für<br />
64 0513 internet magazin
vServer unter Linux | WEBBUSINESS<br />
wenig Geld. Soll aber ein aufwändiges<br />
Shopsystem getestet werden, zahlt man<br />
eben vorübergehend mehr für ein aufgestocktes<br />
Paket, ohne dabei gleich einen<br />
ganzen Server auf ein neues Paket oder<br />
gar einen anderen Server umziehen zu<br />
müssen. Zwar sind auch herkömmliche<br />
vServer bei den meisten Anbietern in<br />
Hinblick auf die CPU-Leistung schon<br />
dynamisch: Eine gewisse Min<strong>des</strong>tleistung<br />
wird meist garantiert, höhere<br />
Leistung steht bei Bedarf automatisch<br />
und kostenlos zur Verfügung. <strong>Die</strong>s aber<br />
eben nur, wenn der physikalische Server<br />
die- se zusätzliche Beanspruchung<br />
auch gerade hergibt. Bei den Cloud-<br />
Services bezahlt der Kunde dagegen<br />
selektiv für mehr Leistung, die dann<br />
auch garantiert bereitsteht.<br />
Viele kleine Details<br />
Auch wenn sich die vServer-Angebote<br />
auf den ersten Blick ähneln und Cloud-<br />
Features allzu verlockend sind, verstecken<br />
sich ganz wesentliche Unterschiede<br />
in den Details – vorausgesetzt man benötigt<br />
bestimmte, nicht überall inkludierte<br />
Funktionen. Bei der Auswahl <strong>des</strong> richtigen<br />
Webhosters kommt es daher auch<br />
die individuellen Anforderungen an. <strong>Die</strong><br />
Skriptsprache Python wird beispielsweise<br />
nicht immer unterstützt, auch Server<br />
Side Inclu<strong>des</strong> nicht. Cronjobs sind meist<br />
inklusive, gelegentlich aber auch nur<br />
gegen Aufpreis zu haben. Wer auf diese<br />
Dinge angewiesen ist, sollte den Hoster<br />
mit Bedacht auswählen, um später nicht<br />
in der Sackgasse zu enden oder teuer dazubuchen<br />
zu müssen.<br />
vServer mit Cloud-Funktionen<br />
und Cloud-Server<br />
Bei den vServer-Paketen bieten drei<br />
Webhoster Cloud-angereicherte vServer-Varianten<br />
an: 1blu, Server4you und<br />
Webtropia. Weitere Anbieter setzen auf<br />
Produkte, die noch weiter über das klassische<br />
vServer-Modell hinausgehen.<br />
Dazu gehören der Dynamic Cloud<br />
Server von 1&1, Stratos Server Cloud<br />
und auch Domain Factorys Jiffy Box.<br />
Da die Cloud-Features in der Übersichtstabelle<br />
nicht abbildbar sind und<br />
die Cloud-Server mangels direkter Vergleichbarkeit<br />
gar nicht in der Tabelle<br />
vorkommen, stellen wir diese Produkte<br />
hier etwas ausführlicher vor.<br />
1blu: vServer „Cloud-ready“<br />
Bei 1blu wächst das Angebot an vServern<br />
mit Cloud-Funktionen und die Pakete werden<br />
immer leistungsfähiger. <strong>Die</strong> Serverleistung<br />
ist flexibel anpassbar durch Zubuchung<br />
sogenannter Tuneups: zusätzliche<br />
CPU-Kerne, Arbeitsspeicher in 1-GByte-<br />
Schritten sowie Festplatten in 50-GByte-<br />
Schritten. <strong>Die</strong> Abrechnung erfolgt bei<br />
1blu monatlich, dafür aber vergleichsweise<br />
günstig: 1 GByte RAM, ein zusätzlicher<br />
CPU-Kern oder 50 GByte Speicherplatz<br />
kosten jeweils 4,90 Euro pro Monat und<br />
sind beliebig kombinierbar. Maximal sind<br />
pro vServer 8 CPU-Kerne, 24 GByte garantierter<br />
RAM-Speicher (dynamisch bis<br />
48 GByte) und bis zu 800 GByte Festplattenspeicher<br />
zubuchbar. Zusätzliche gebuchte<br />
Leistung steht laut 1blu innerhalb<br />
weniger Stunden zur Verfügung.<br />
Server4you: Server Cloud<br />
Mit einem „Booster” genannten Regler<br />
schrauben Server4you-<strong>Kunden</strong><br />
die Leistung ihres vServers in die<br />
Höhe. Abgerechnet wird die zusätzliche<br />
Leistung tageweise. Erhältlich<br />
sind hier zusätzliche CPU-Leis -tung<br />
und weiterer GByte RAM-Speicher.<br />
<strong>Die</strong> Kosten für zusätzliche Leistung<br />
aus der Cloud betragen bei Server4you<br />
20 Cent pro Mbyte RAM-Speicher<br />
pro Tag und 20 Cent pro 2 MHz-CPU-<br />
Leistung je Tag, an dem der Kunde<br />
die Extrapower in Anspruch nimmt.<br />
Cloud-Features bei Webtropia<br />
Zusätzlichen RAM-Arbeitsspeicher, CPU-<br />
Leistung oder Festplattenspeicher buchen<br />
Webtropia-<strong>Kunden</strong> wahlweise auf Tagesoder<br />
Monatsbasis. Heruntergerechnet ist<br />
der Monatstarif dabei deutlich günstiger<br />
als der Preis für einzelne Tage. Trotzdem:<br />
So bleibt der Kunde flexibel und kann<br />
sich zusätzliche Leistung auch mal nur<br />
für ein oder zwei<br />
Tage einkaufen.<br />
<strong>Die</strong> Kosten für zusätzliche<br />
Leistung<br />
ergeben sich bei<br />
Webtropia aus<br />
einer Tabelle auf<br />
der Website <strong>des</strong><br />
Hosters, da der<br />
Preis im Verhältnis<br />
zur Leistung nicht<br />
linear steigt. <strong>Die</strong><br />
Preise bewegen<br />
Klassisches<br />
vServer-Konzept:<br />
volle Kontrolle zu<br />
günstigen Preisen<br />
bei Euserv.<br />
www.internet-magazin.de 65
WEBBUSINESS | vServer unter Linux<br />
vServer auf Linux-Basis<br />
Anbieter 1&1 1blu Alfahosting.de Euserv <strong>Internet</strong> Evanzo<br />
Website www.1und1.de www.1blu.de www.alfahosting.de www.euserv.de www.evanzo.de<br />
Produkte<br />
KONDITIONEN<br />
Virtual-Server L<br />
Virtual-Server XL<br />
Virtual -Server XXL<br />
1blu-vServer LP<br />
1blu-vServer 2P<br />
1blu-vServer 4P<br />
1blu-vServer 6P<br />
1blu-vServer 8P<br />
Preis pro Monat in Euro 9,99/19,99/29,99 7,90/12,90/16,90/<br />
24,90/49<br />
vServer M<br />
vServer L<br />
vServer XL<br />
vServer XXL<br />
vServer vM<br />
vServer vL<br />
vServer XL<br />
vServer Pro M<br />
vServer Pro L<br />
vServer Pro XL<br />
10,99/15,99/28,99/38,99 7,90/11,90/19,90/17,90/<br />
27,90/37,90<br />
Evanzo-vServer<br />
9,90<br />
Einrichtungsgebühr in Euro / / 0 oder 9,90 19,99 (3 Monate Laufzeit)<br />
oder 9,99<br />
Vertragslaufzeit in Monaten 1 1 oder 12 3, 6 oder 12 3 oder 12 3<br />
aktuelle Rabatte wechselnde Rabatte<br />
Serverstandort Karlsruhe, Baden-Airpark Frankfurt Düsseldorf Jena Frankfurt/M.<br />
Backbone in GBit/s über 280 keine Angabe 75 350 keine Angabe<br />
TECHNISCHE AUSSTATTUNG<br />
garantierter Arbeitsspeicher<br />
in MByte<br />
dynamischer Arbeitsspeicher<br />
in MByte<br />
1024/2048/4096 2048/3072/4096/<br />
8192/24576<br />
2048/4096/8192 4096/6144/8192/<br />
16384/49152<br />
reservierte CPU-Leistung 1/2/4 Cores bis zu 1/2/3/4/8 CPU-<br />
Kerne verfügbar<br />
2048/4096/8192/16384 512/1024/2048/1024/<br />
2048/4096<br />
4096/8192/16384/32768 1024/1536/2560/2048/<br />
4096/8192<br />
/ / / 1 CPU mit bis zu 1 GHz,<br />
Pro: 2x1,5 GHz<br />
Bandbreitengarantie in MBit/s 100/100/100 100/100/100/100/100/100<br />
garantierte Netzverfügbarkeit<br />
in Prozent<br />
garantierte Hardware-<br />
Verfügbarkeit in Prozent<br />
Überwachung der Serverfunktionsfähigkeit<br />
99,99 99 99,8 99 99<br />
99,99 99 99,8 99 99<br />
/ / ***** ▲/▲/▲/▲/▲ (Hostsystem)<br />
▲/▲/▲/▲ ▲/▲/▲/▲/▲/▲ ▲<br />
Speicherplatz in GByte 50/100/200 80/100/200/300/800 60/120/350/600 30/50/100/50/100/200 30<br />
1024<br />
4096<br />
▲ = ja = nein = optional ∞ = unbegrenzt<br />
automatisches Backup / / (redundantes<br />
Storage, Desaster Backup)<br />
separater FTP-Backup-Speicherplatz<br />
für eigene Backups<br />
/ / / / ▲/▲/▲/▲ / / / / /<br />
/ / ▲/▲/▲/▲/▲ ▲/▲/▲/▲ ▲<br />
Serverneustart auf Knopfdruck ▲/▲/▲ ▲/▲/▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲/▲/▲ ▲<br />
automatische Neuinstallation ▲/▲/▲ ▲/▲/▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲/▲/▲ ▲<br />
auf Knopfdruck<br />
FEATURES<br />
Inklusivdomains 1/1/1 1/1/2/3/4 / / / / / / / / 1<br />
DNS-Verwaltung ▲/▲/▲ ▲/▲/▲/▲/▲ ▲/▲/▲/▲ / / / / / ▲<br />
IP-Adressen 1/1/1 2/3/4/5/6 1/1/1/1 1/1/1/4/4/4 1<br />
enthaltenes Transfervolumen in<br />
GByte/Monat<br />
zusätzliches Transfervolumen<br />
in Euro/GByte<br />
∞/∞/∞ ∞/∞/∞/∞/∞ ∞/∞/∞/∞ 2048/4096/6144/10240/<br />
10240/10240 ******<br />
kostenlos kostenlos* kostenlos 6,50 pro TByte kostenlos*<br />
* bei 1blu-vServer A und Evanzo: individuelle Vereinbarung<br />
mit dem <strong>Kunden</strong> bei wiederholter Überschreitung<br />
2500<br />
** Preise bei Vertragslaufzeit 12 Monate<br />
*** Drosselung auf 10 Mbit/s ab 1 TByte; 100 Mbit/s für 9,99 Euro pro TByte<br />
66 0513 internet magazin
vServer unter Linux | WEBBUSINESS<br />
Hetzner Host Europe http.net <strong>Internet</strong> internet24 Server4you Strato<br />
www.hetzner.de www.hosteurope.de www.http.net www.internet24.de www.server4you.de www.strato-pro.de<br />
vServer VQ7<br />
vServer VQ12<br />
vServer VQ19<br />
Virtual Server Linux L 6.0<br />
Virtual Server Linux XL 6.0<br />
Virtual Server Linux XXL 6.0<br />
Virtual Server Linux MAX 6.0<br />
VServer.START<br />
VServer.PLUS<br />
VServer.PROFI<br />
VServer.PREMIUM<br />
BIZ 3.0 VS L<br />
BIZ 3.0 VS XL<br />
vServer PRO X4<br />
vServer PLUS X4<br />
vServer PREMIUM X4<br />
vServer PLATINUM X4<br />
Virtual Server Linux Level 1<br />
Virtual Server Linux Level 2<br />
Virtual Server Linux Level 3<br />
Virtual Server Linux Level 4<br />
7,90/12,90/19,90 12,99/16,99/29,99/39,99 3,00/6,00/12,00/24,00 25/49 8,85/18,85/28,85/38,85 7,90/14,90/19,90/29,90<br />
0/0/0 0 9,99/ / / 59 0<br />
0/0/0 1 1/1/1/1 3 1, 12 oder 24 1<br />
1 Monat kostenlos erste 6 Monate kostenlos,<br />
bei 12 und 24 Monaten<br />
Min<strong>des</strong>tlaufzeit<br />
Falkenstein Köln Berlin Dresden Straßburg (F), St. Louis (USA) Berlin<br />
200 40 2 22 550 50<br />
512/1024/2048 2048/4096/8192/16384 512/768/1024/2048 1024/2048 1024/3072/4096/5120 512/2048/3072/4096<br />
/ / 4096/8192/16384/32768 / / / / 2048/6144/8192/10240 2048/4096/6144/8192<br />
Single-core / /2x1,5 GHz/4x1,5<br />
GHz<br />
1 GHz/1,5 GHz/2 GHz/3<br />
GHz<br />
100/100/100/100 100/100/100/100 100/100<br />
/ 3 GHz/4 GHz/5 GHz/10<br />
GHz<br />
1 CPU/1 CPU/2 CPU/3 CPU<br />
99% 99,999 99,99 99,99 99 99<br />
99,95 99,95 99,5 99 99<br />
▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲ ▲/▲ / / / ▲/▲/▲/▲<br />
20/40/80 50/125/250/500 15/25/40/60 25/50 25/50/75/100 25/100/150/200<br />
/ / ▲/▲/▲/▲ / / / ▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲<br />
/ / / / / / / / ▲/▲ / / / / / /<br />
▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲ ▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲<br />
▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲ / ▲/▲/▲/▲ ▲/▲/▲/▲<br />
/ / / / / über Partnersystem / 1/1/1/1 0/0/0/0<br />
▲/▲/▲ ▲/▲/▲/▲ über Partnersystem / ▲/▲/▲/▲ ▲/▲/▲/▲<br />
1/1/1 1/1/1/1 (weitere ) 1/1/1/1 (weitere gratis) 1/1 1/1/1/1 2/2/2/2<br />
1024/2048/4096 ****** ∞/∞/∞/∞ ∞/∞/∞/∞ 500/1000 5000/6000/7000/8000 ∞/unbegrenzt/∞/∞<br />
6,90 pro TByte kostenlos kostenlos 0,49 0,19 kostenlos<br />
**** InterNetX macht keine Angaben zu den Ressourcen. <strong>Die</strong> Hostsysteme<br />
seien so groß dimensioniert, dass es zu keinen Engpässen komme.<br />
***** Netzwerkmonitoring durch den <strong>Kunden</strong> via Mobile Apps<br />
****** bei Überschreitung Drosselung auf 10 Mbit/s oder Zukauf von Traffic<br />
www.internet-magazin.de 67
WEBBUSINESS | vServer unter Linux<br />
sich aber etwa in folgendem Rahmen: 2<br />
MHz zusätzliche CPU-Power kosten 50<br />
Cent pro Tag oder 5 Euro pro Monat, ein<br />
zusätzliches GByte RAM-Arbeitsspeicher<br />
ist für täglich 25 Cent oder monatlich<br />
2,50 Euro zu haben und 50 GByte zusätzlicher<br />
Festplattenspeicher werden mit 25<br />
Cent pro Tag oder 2,50 Euro pro Monat<br />
abgerechnet. Maximal sind 8 MHz CPU-<br />
Leistung, 8 GByte RAM-Speicher und<br />
300 GByte Festplattenplatz möglich.<br />
Neuestes Proukt<br />
aus der Welt der<br />
Cloud-Angebote:<br />
<strong>Die</strong> Strato Server<br />
Cloud.<br />
Dynamic Cloud Server von 1&1<br />
Mit dem Dynamic Cloud Server<br />
(hosting.1und1.de/cloud-server) setzt<br />
1&1 auf stundengenaue Abrechnung.<br />
Hier lassen sich zusätzliche Leistungseinheiten<br />
bei CPU, Arbeitsspeicher und<br />
Festplattenplatz also auch sehr kurzzeitig<br />
und damit extrem günstig einsetzen.<br />
Zusätzliche Leistungseinheiten kosten<br />
bei 1&1 den minimal möglichen Betrag<br />
von 1 Cent pro Stunde – pro Tag also 24<br />
Cent, pro Monat rund 7 Euro. Für einen<br />
Cent pro Stunde gibt es dementsprechend<br />
einen zusätzlichen CPU-Kern,<br />
ein GByte zusätzlichen Arbeitsspeicher<br />
oder 100 GByte Festplattenspeicher. Abgerechnet<br />
wird je angefangene Stunde<br />
und der Kunde nimmt die Änderungen<br />
über ein Browser-Interface selbst vor.<br />
Insgesamt lässt sich ein Dynamic Cloud<br />
Server auf bis zu 6 CPU-Kerne, 24 GByte<br />
RAM und 800 GByte Festplattenplatz<br />
hochschrauben – was dann allerdings im<br />
Gesamtpaket knapp 300 Euro im Monat<br />
kosten, aber auch satt Leistung bedeuten<br />
würde. Für die genaue Zusammenstellung<br />
der Leistungsfaktoren hat 1&1 außerdem<br />
vier Standardkonfigurationen<br />
vorgegeben, die der Kunde direkt auswählen<br />
kann: Datenbank-, Web-, Application-<br />
oder Game-Server.<br />
Neu hinzugekommen ist die Snapshot-<br />
Funktion, die mit Hilfe von Wiederherstellungspunkten<br />
den Server sichert.<br />
Nettes, mitunter sehr nützliches Feature<br />
am Rande: Der Server lässt sich mit einer<br />
iPhone- oder Android-App per Smartphone<br />
managen und überwachen.<br />
Domain Factory: Jiffy Box<br />
Jiffy Box von Domain Factory (www.<br />
jiffybox.de) geht komplett von der Idee<br />
eines „Hosting-Pakets“ weg und stellt<br />
quasi sämtliche Leistungen on-demand<br />
mit sekundengenauer Abrechnung der<br />
tatsächlich genutzten Ressourcen bereit.<br />
Innerhalt eines Accounts kann der Kunde<br />
daher bis zu 20 einzelne Jiffy-Boxen als<br />
virtuelle Server anlegen, beliebig kopieren,<br />
einfrieren oder reaktivieren.<br />
Mit verschiedenen Leveln werden<br />
Grundkonfigurationen vorgegeben, die<br />
auf Level 1 mit 1 GByte RAM, 50 GByte<br />
Festplatte und 2 CPU-Kernen für 2 Cent<br />
pro Nutzungsstunde (maximal 14,88<br />
Euro monatlich) beginnen und sich bis<br />
16 GByte RAM, 600 GByte Festplatte<br />
und 4 CPU-Kerne in Level 5 steigern<br />
(25 Cent pro Stunde). Interessant ist das<br />
Konzept <strong>des</strong> Einfrierens einer Jiffy-Box:<br />
Der Server kann so komplett mit allen<br />
Daten konfiguriert erhalten und jederzeit<br />
reaktiviert bleiben, kostet aber in<br />
der eingefrorenen Zeit je nach Level nur<br />
zwischen 0,5 und 4 Cent pro Stunde,<br />
pro Monat also nur ein paar Euro.<br />
Strato: Server-Cloud<br />
Das neueste Produkt in dieser Kategorie<br />
ist die Server-Cloud von Strato, die dem<br />
Konzept der Jiffy Box in vielem ähnelt.<br />
<strong>Die</strong> Abrechnung erfolgt hier stundenweise,<br />
dafür aber in einem sehr eingängigen<br />
System nach Leistungseinheiten, die jeweils<br />
immer ein „Credit“ kosten, wobei<br />
ein Credit grundsätzlich einem Cent entspricht<br />
– beispielsweise 1 GByte RAM<br />
oder 100 GByte Festplatte pro Stunde.<br />
<strong>Die</strong> Minimalkonfiguration mit 20 GByte<br />
Festplatte, 0,5 GByte RAM und einer<br />
CPU kostet monatlich 10 Euro. Wer pfiffig<br />
vorausplant, kauft monatliche Credits<br />
im Paket mit deutlichem Rabatt – beim<br />
größten Paket kostet ein Credit dann nur<br />
noch 0,33 Cent. Per Klonen lassen sich<br />
virtuelle Maschinen in der Server-Cloud<br />
per Mausklick vervielfältigen, was vor<br />
allem für Testumgebungen – also selbst<br />
für einen schnellen und unkomplizierten<br />
Test eines potenziell kritischen Plug-in-<br />
Updates von Wordpress – sowie für standardisierte<br />
<strong>Kunden</strong>projekte sehr viel Zeit<br />
spart. Zudem lassen sich vorhandene<br />
virtuelle Maschinen unter Beibehaltung<br />
sämtlicher Daten und Konfigurationen<br />
deaktivieren, sodass während der deaktivierten<br />
Zeit lediglich die Kosten für den<br />
belegten Festplattenplatz anfallen.<br />
<strong>Die</strong> maximal konfigurierbaren<br />
Leistungswerte der Strato-Server-Cloud<br />
liegen bei 32 GByte RAM, 1 TByte Festplatte,<br />
8 CPU-Kernen und bis zu 100<br />
virtuellen Maschinen, jeweils mit eigener<br />
externer IP-Adresse.<br />
Franz Neumeier<br />
68 0513 internet magazin
Testen Sie jetzt:<br />
3 × PC <strong>Magazin</strong> für nur 14,99 € + ein Geschenk!<br />
TOP-GESCHENK<br />
Brennenstuhl Funkschalter-Set<br />
RCS 1000N Comfort<br />
Sichere und komfortable Lösung zum<br />
Schalten elektrischer Geräte. Ein- und<br />
Ausschalten per Funk (einzeln oder gesammelt).<br />
Schaltleistung max. 1.000 Watt/<br />
Empfänger. Inkl. 12 V Batterie (Typ A27) für<br />
den Handsender. Reichweite bis zu 25 m.<br />
32 GB USB-Stick<br />
USB-Schnittstelle 2.0 (abwärtskompatibel).<br />
Kapazität: 32 GB. Für alle Betriebssysteme.<br />
Beliebig oft beschreib- und löschbar.<br />
Blu-ray Skyfall<br />
Der erfolgreichste Bond aller Zeiten.<br />
Großartiger Cast (Daniel Craig, Javier<br />
Bardem, Judi Dench und Ralph Fiennes) &<br />
oscargekrönter Regisseur (Sam Men<strong>des</strong>).<br />
Mehr als7Millionen Kinobesucher in<br />
Deutschland.<br />
<strong>Die</strong>se und weitere tolle Angebote finden Sie unter:<br />
www.pcmagazin.de/angebot<br />
Vorteile im Überblick:<br />
Preisvorteil gegenüber Einzelkauf<br />
Keine Zustellgebühr<br />
1 Heft gratis vorab bei Bankeinzug<br />
Ein Geschenk Ihrer Wahl<br />
als Dankeschön<br />
Gleich bestellen:<br />
Online:<br />
www.pcmagazin.de/angebot<br />
Per Telefon:<br />
07816394548<br />
Per Fax:<br />
07818461 91<br />
Per Post/Coupon:<br />
PC <strong>Magazin</strong> <strong>Kunden</strong>service<br />
Postfach 180, 77649 Offenburg<br />
Impressum: PC <strong>Magazin</strong> erscheint im Verlag<br />
WEKA MEDIA PUBLISHING, Richard-Reitzner-Allee 2, 85540 Haar,<br />
Handelsregister München, HRB 154289<br />
Ja, ich teste PC <strong>Magazin</strong> für zunächst<br />
3 Ausgaben zum Vorteilspreis!<br />
Als Dankeschön wähle ich folgen<strong>des</strong> Geschenk:<br />
(Bitte ankreuzen)<br />
Brennenstuhl Funkschalter-Set RCS 1000N Comfort (K665)<br />
32 GB USB-Stick (K958)<br />
Blu-ray Skyfall (K881)<br />
Ich wähle folgende Variante:<br />
(Bitte ankreuzen)<br />
PC <strong>Magazin</strong> DVD: 3 Ausgaben mit jeweils 1 Heft-Themen-DVD<br />
für z. Zt. 14,99 €, Österreich 19,99 €, Schweiz 29,99 SFR<br />
PC <strong>Magazin</strong> DVD XXL: 3 Ausgaben mit jeweils 1 Heft-Themen-<br />
DVD für z. Zt. 14,99 €, Österreich 19,99 €, Schweiz 29,99 SFR–<br />
bei Verlängerung zum Jahresabo erhalten Sie einmal jährlich<br />
eine zusätzliche DVD mit den gesammelten Inhalten der letzten<br />
2 Jahre.<br />
PC <strong>Magazin</strong> Super Premium: 3 Ausgaben mit jeweils 3 DVDs<br />
inkl. Heft-Themen-DVD, Spielfilm-DVD und Spezial-Themen-<br />
DVD (z.B. zu den Themen Foto, Video oder Office) für z. Zt.<br />
19,99 €, Österreich 24,99 €, Schweiz 39,99 SFR<br />
Wenn ich PC <strong>Magazin</strong> nach 3 Ausgaben weiter beziehen möchte, brauche<br />
ich nichts weiter zu tun. Ich erhalte PC <strong>Magazin</strong> dann zum regulären Abopreis<br />
(12 Ausgaben PC <strong>Magazin</strong> DVD für z. Zt. 61,90 €, Österreich 78,90 €,<br />
Schweiz 123,90 SFR, 12Ausgaben PC <strong>Magazin</strong> DVD XXL für z.Zt.70,90 €,<br />
Österreich 87,90 €, Schweiz 141,90 SFR, 12 Ausgaben PC <strong>Magazin</strong> Super<br />
Premium für z. Zt. 99,90 €, Österreich 119,90 €, Schweiz 199,90 SFR).<br />
Das Jahresabo kann ich nach Ablauf <strong>des</strong> ersten Bezugsjahres jederzeit<br />
wieder kündigen. Wenn ich PC <strong>Magazin</strong> nicht weiter beziehen möchte,<br />
genügt ein kurzes Schreiben bis 3Wochen vorAblauf <strong>des</strong> Miniabos (Datum<br />
Poststempel) an den PC <strong>Magazin</strong> <strong>Kunden</strong>service, Postfach 180, 77649<br />
Offenburg. <strong>Die</strong>ses Angebot gilt nur in Deutschland, Österreich, Schweiz.<br />
Ihr Geschenk erhalten Sie nach Zahlungseingang.<br />
Name<br />
Straße, Nr.<br />
PLZ<br />
E-Mail<br />
Geldinstitut<br />
BLZ<br />
Datum, Unterschrift<br />
Ort<br />
Vorname<br />
Geburtsdatum<br />
Ich bin damit einverstanden – jederzeit widerruflich –, dass mich der<br />
Verlag WEKA MEDIA PUBLISHING künftig per E-Mail und telefonisch<br />
über interessante Vorteilsangebote informiert.<br />
Zahlungsweise:<br />
per Rechnung<br />
ich bezahle bequem und bargeldlos durch Bankeinzug<br />
und erhalte zusätzlich ein kostenloses Heft.<br />
Nur in Deutschland möglich.<br />
Konto-Nr.<br />
1 HEFT GRATIS!<br />
Aktionsnummer: WK30M9M
TIPPS & TRICKS | Online-Recht<br />
Urheberrecht<br />
in der Wolke<br />
Heutzutage werden immer mehr Dateien oder auch<br />
Software in der Datenwolke bereitgestellt und nicht<br />
mehr auf Nutzerrechnern lokal installiert. Rein rechtlich<br />
betrachtet ist das jedoch durchaus problematisch.<br />
Musik, E-Books, Filme, Software –<br />
es gibt eigentlich keinen digitalen<br />
Inhalt, den man nicht auch zentral mittels<br />
Cloud Computing vorhalten könnte.<br />
Zudem lässt sich schnell, einfach und<br />
preiswert fast unbegrenzter Serverspeicherplatz<br />
bei den unterschiedlichsten<br />
Anbietern erwerben. So praktisch und<br />
kosteneffizient Cloud-<strong>Die</strong>nstleistungen<br />
auch sein mögen, sie bringen unweigerlich<br />
diverse juristische Probleme mit<br />
sich, die nicht außer Acht gelassen werden<br />
dürfen.<br />
Grundlagen<br />
Cloud Computing umschreibt grundsätzlich<br />
den Ansatz, abstrahierte IT-Infrastrukturen<br />
wie etwa Rechenkapazität, Datenspeicher,<br />
Netzwerkkapazitäten oder<br />
auch Software dynamisch an den Bedarf<br />
angepasst über ein Netzwerk zur Verfügung<br />
zu stellen. Dem Nutzer erscheint<br />
die zur Verfügung gestellte abstrahierte<br />
IT-Infrastruktur fern und undurchsichtig,<br />
Der Autor<br />
Der Autor Michael<br />
Rohrlich ist Rechtsanwalt<br />
und unter<br />
anderem auf das<br />
Recht der neuen Medien<br />
spezialisiert.<br />
www.ra-rohrlich.de<br />
eben wie in einer „Wolke“ verhüllt.<br />
Bei der Cloud gilt es verschiedene<br />
Liefer- und Servicemodelle zu unterscheiden.<br />
Im Wesentlichen existieren<br />
drei Liefermodelle, die je nach Ausgestaltung<br />
unterschiedliche technische<br />
Grundlagen aufweisen:<br />
» „Plattform as a Service“ (PaaS): Derartige<br />
Cloud-<strong>Die</strong>nste bieten Zugang zu<br />
Programmierungs- oder Laufzeitumgebungen<br />
mit flexiblen, dynamisch<br />
anpassbaren Rechen- und Datenkapazitäten.<br />
Mit Hilfe von PaaS-<strong>Die</strong>nstleistungen<br />
können Nutzer eigene Anwendungen<br />
entwickeln oder innerhalb<br />
einer vom <strong>Die</strong>nstanbieter bereitgestellten<br />
Softwareumgebung ausführen<br />
lassen. Beispiele sind Microsoft Azure<br />
oder Salesforce.<br />
» „Infrastructure as a Service“ (IaaS):<br />
Cloud-<strong>Die</strong>nste mit dieser Struktur<br />
bieten Zugang zu virtualisierten<br />
Hardwareressourcen, also Rechnern,<br />
Netzwerken und Speichern. Hierbei<br />
können die Nutzer frei ihre eigenen<br />
virtuellen Computer-Cluster gestalten<br />
und sind für Auswahl, Installation und<br />
Betrieb ihrer Software selbst verantwortlich.<br />
Beispiele sind Amazon Simple<br />
Storage Service, Dropbox, Wuala,<br />
Teamdrive und andere.<br />
» „Software as a Service“ (SaaS): Solche<br />
Cloud-<strong>Die</strong>nste bieten Zugang zu Soft-<br />
waresammlungen oder Anwendungs-<br />
programmen. Es wird in aller Regel<br />
eine spezielle Auswahle von ware angeboten, daher auch<br />
Softdie<br />
alternative Bezeichnung<br />
als „Software on demand“.<br />
Beispiele sind Apple iWorks,<br />
Google Docs, Microsoft Office<br />
365 oder auch Adobe Photoshop Express<br />
Online-Apps.<br />
Unabhängig von den unterschiedlichen<br />
Cloud-Typen sind unterschiedliche Liefermodelle<br />
zu differenzieren:<br />
» „Public Cloud“: Hierbei handelt es<br />
sich um eine öffentliche Cloud, welche<br />
von beliebigen Nutzern in Anspruch<br />
genommen werden kann. Auf die Form<br />
und den physischen Ort der Datenspeicherung<br />
hat der Cloud-Nutzer in aller<br />
Regel keinen Einfluss.<br />
» „Private Cloud“: Bei den privaten Datenwolken<br />
steht im Vordergrund, dass<br />
sich sowohl Anbieter als auch Nutzer<br />
im selben Unternehmen befinden,<br />
wodurch sämtliche Probleme aus dem<br />
Bereich Datensicherheit mehr oder<br />
minder hinfällig werden.<br />
» „Hybrid Cloud“: <strong>Die</strong>se Art kann<br />
als Mischform angesehen werden.<br />
Hierbei betreibt ein Unternehmen<br />
eine eigene private Cloud und nutzt<br />
zusätzlich, etwa bei Lastspitzen,<br />
eine öffentliche Cloud.<br />
» „Community Cloud“: <strong>Die</strong> gemeinschaftliche<br />
Cloud bietet Cloud-<strong>Die</strong>nstleistungen<br />
wie die öffentliche Cloud<br />
auch. Allerdings ist sie auf einen<br />
kleineren Nutzerkreis ausgerichtet,<br />
der sich die Kosten teilt, etwa mehrere<br />
städtische Behörden, Universitäten,<br />
Unternehmen mit ähnlichen Interessen<br />
oder Forschungsgemeinschaften.<br />
Urheberrecht<br />
Unabhängig davon, welches Lieferoder<br />
Servicemodell genutzt wird, muss<br />
bei den in der Cloud zu speichernden<br />
70 0513 internet magazin
Online-Recht | TIPPS & TRICKS<br />
Checkliste zum Datenschutz beim Cloud Computing<br />
<strong>Die</strong> nachfolgende Checkliste soll als praktische Orientierungshilfe<br />
dienen. Um ein möglichst hohes Datenschutzniveau zu gewährleisten,<br />
wurden hierbei die Min<strong>des</strong>tanforderungen an ein<br />
datenschutzkonformes Cloud Computing nach dem Maßstab <strong>des</strong><br />
deutschen Datenschutzrechts zu Grunde gelegt:<br />
» Serverstandort: Deutschland, EU oder ein Land mit „angemessenem<br />
Datenschutzniveau“ beziehungsweise USA bei<br />
vorhandener Registrierung gemäß Safe-Harbor-Abkommen;<br />
auf keinen Fall Nutzung von Cloud-Anbietern mit Serverstandorten<br />
in unsicheren Drittstaaten (wie China und anderen).<br />
» Verschlüsselung: Falls eine Verschlüsselung der Daten vor<br />
Upload in die Cloud möglich ist, sollte diese Technik genutzt<br />
werden, sofern sie dem aktuellen Stand der Technik entspricht.<br />
» Anonymisierung: Unter Umständen ist es sinnvoll, falls möglich,<br />
die Daten anonymisiert in der Cloud zu speichern.<br />
» Vertragliche Grundlagen: Mit dem Cloud-<strong>Die</strong>nstleister sollte<br />
ein schriftlicher Vertrag zur Auftragsdatenverarbeitung geschlossen<br />
werden, gegebenenfalls ist zusätzlich die Vereinbarung<br />
der EU-Standardvertragsklauseln notwendig.<br />
» Datenarten: <strong>Die</strong> Speicherung von personenbezogenen Daten<br />
besonderer Art, unter anderem Angaben über rassische und<br />
ethnische Herkunft, politische Meinungen und so weiter,<br />
sollte vermieden werden.<br />
» Datensicherheit: Sofern möglich, sollte ein Cloud-Rechenzentrum<br />
gewählt werden, welches nach internationalen Sicherheitsnormen<br />
zertifiziert ist.<br />
» Transparenz: Je transparenter ein Cloud-Anbieter offenlegt,<br />
an welchen Serverstandorten er die <strong>Kunden</strong>daten abspeichert,<br />
<strong>des</strong>to besser.<br />
» Trennungsprinzip: Es sollte darauf geachtet werden, dass die<br />
Daten der einzelnen <strong>Kunden</strong> <strong>des</strong> betreffenden Cloud-<strong>Die</strong>nstleisters<br />
eindeutig voneinander getrennt werden.<br />
» Zugriff: Der Cloud-Anbieter selbst sollte keine Zugriffsmöglichkeit<br />
auf die Daten seiner <strong>Kunden</strong> haben.<br />
» Prüfungsmöglichkeit: Von Seiten <strong>des</strong> Cloud-Anbieters sollten<br />
verschiedene Monitoring- beziehungsweise Reporting-Systeme<br />
bereitgestellt werden.<br />
» Steuerdaten: Bei der Speicherung von Steuerdaten sollte<br />
vorab die Bewilligung der zuständigen Finanzbehörde eingeholt<br />
werden.<br />
Inhalten stets das Urheberrecht beachtet<br />
werden. Handelt es sich um selbst<br />
geschaffene Werke, also eigene Texte,<br />
selbst aufgenommene Fotos, selbst komponierte<br />
Musik, so gibt es mit dem Urheberrecht<br />
jedenfalls keine Probleme.<br />
Denn als Urheber darf man mit seinen<br />
eigenen Werken prinzipiell das<br />
machen, was man für<br />
richtig hält und was<br />
nicht gegen andere<br />
Gesetze verstößt<br />
wie etwa gegen das<br />
Strafrecht oder das Recht am eigenen<br />
Bild einer anderen Person.<br />
Bei fremden Werken sieht die Lage natürlich<br />
anders aus. Als Faustregel ist zu<br />
beachten: Werke fremder Urheber dürfen<br />
nur dann genutzt und in einen Cloud-<br />
Speicher abgelegt werden, wenn entweder<br />
eine entsprechende Einwilligung <strong>des</strong><br />
Urhebers vorliegt oder ein Gesetz dies<br />
gestattet. Urheber haben generell die<br />
Möglichkeit, Dritten die Nutzung ihrer<br />
Werke zu ermöglichen. Sie können dabei<br />
frei entscheiden, welche Rechte und<br />
Pflichten dabei vereinbart werden sollen.<br />
Links zum Thema<br />
Weitergehende Informationen zum Thema<br />
E-Commerce<br />
http://www.rechtssicher.info/<br />
Homepage <strong>des</strong> Autors<br />
http://www.ra-rohrlich.de<br />
Blog <strong>des</strong> Autors zum Thema Onlinerecht<br />
für Webmaster<br />
http://www.webmaster-onlinerecht.de<br />
Blog <strong>des</strong> Autors zum Thema Onlinerechte<br />
von Verbrauchern<br />
http://www.verbraucherrechteonline.de/<br />
Es kann jedoch nicht immer davon ausgegangen<br />
werden, dass die Einräumung<br />
von Nutzungsrechten auch automatisch<br />
das Recht zum Ablegen von Kopien in<br />
Cloud-Speicher umfasst. Vielmehr kommt<br />
es hier auf die individuelle Vereinbarung<br />
im konkreten Einzelfall an. Umgekehrt ist<br />
es oft fraglich, ob etwa die Nutzer von<br />
Musik-Clouds das Recht haben, Kopien<br />
der online verfügbaren Musikwerke herzustellen,<br />
um sie dann offline auf dem<br />
eigenen MP3-Player anzuhören. Auch<br />
hierbei ist ein Blick in die Klauseln der<br />
jeweiligen Nutzungsbestimmungen sinnvoll<br />
und notwendig. Erfolgt beispielsweise<br />
der Upload eines legal erworbenen<br />
Musikalbums in einen Cloud-Speicher,<br />
so kann dies prinzipiell als Privatkopie<br />
und damit als zulässige Vervielfältigung<br />
angesehen werden. Voraussetzung ist<br />
hierbei natürlich, dass die digitale Kopie<br />
tatsächlich nur zu rein privaten Zwecken,<br />
also nicht für die öffentliche Vorführung<br />
genutzt wird. Zwar darf die eigene Musik<br />
im Wolkenspeicher auch mit dem einen<br />
oder anderen Freund geteilt werden,<br />
bei mehr als sieben Teilhabenden wird<br />
jedoch die Grenze der Privatheit überschritten.<br />
Außerdem darf die Kopie nicht<br />
von einer kopiergeschützten Vorlage, einer<br />
offensichtlich rechtswidrig hergestellten<br />
oder öffentlich zugänglich gemachten<br />
Vorlage erstellt werden. Im Hinblick<br />
auf die genannten Voraussetzungen gibt<br />
es zum Teil verschiedene Rechtsauffassungen.<br />
Wichtig für Cloud-Nutzer ist das<br />
eigene Bauchgefühl, denn auch als juristischer<br />
Laie hat man zumeist ein gutes<br />
Gespür dafür, was noch erlaubt und was<br />
dagegen verboten ist.<br />
Rechtsanwalt Michael Rohrlich<br />
www.internet-magazin.de 71
TIPPS & TRICKS | MySQL, Python, PHP, AWS<br />
TIPPS & TRICKS<br />
Auf MariaDB umsatteln: So erfüllen<br />
Sie die Voraussetzungen für eine<br />
problemlose Migration<br />
Der Exodus von MySQL-Entwicklern lässt nicht nach und beginnt, die Zukunft der<br />
beliebten SQL-Datenbank in Frage zu stellen.<br />
<strong>Die</strong> Mitgründer der MySQL-Bewegung, Ulf Michael Widenius,<br />
David Axmark und Allan Larsson, haben MySQL<br />
inzwischen den Rücken gekehrt und befassen sich nun mit<br />
dem Ableger von MySQL,<br />
Maria-DB. Ausschlaggebend<br />
war hierbei nicht nur<br />
für Widenius die schwere<br />
Hand Oracles bei der Fortführung<br />
von MySQL. Sergei<br />
Golubchik, der übrigens<br />
in Deutschland ansässige<br />
Vizepräsident der DBMS-<br />
Architektur bei MariaDB, bemängel wie auch die meisten<br />
anderen MySQL-Entwickler die Tatsache, dass sich MySQL<br />
unter der neuen Leitung von Oracle in ein intransparentes<br />
Closed-Source-Projekt verwandelt, bei dem selbst die Bugs<br />
nun praktisch geheim sind. Oracle nehme die Sicherheit von<br />
MySQL zunehmend auf die leichte Schulter.<br />
„Oracles Ansatz zur Sicherheit von MySQL bereitet mir zunehmend<br />
Sorgen“, so Sergei Golubchik,<br />
Vizepräsident der DBMS-Architektur<br />
bei MariaDB und zuvor verantwortlich<br />
für die Sicherheit von MySQL.<br />
Wer MySQL im Zuge einer sorgsam<br />
vorbereiteten Migration durch Maria-DB<br />
austauschen möchte, sollte<br />
Das offizielle Logo von beginnen, solange es noch geht.<br />
Oracle MySQL.<br />
Oracle könnte der problemlosen Migration<br />
von MySQL zu MariaDB beispielsweise durch interne<br />
Änderungen mehr oder weniger unbeabsichtigt einen Riegel<br />
vorschieben. Innerhalb derselben Basisversion wie etwa 5.1<br />
oder 5.6 können Sie derzeit<br />
MySQL noch ganz einfach<br />
gegen MariaDB austauschen,<br />
indem Sie MySQL<br />
deinstallieren und durch<br />
eine neue Installation ihres<br />
Nachfolgers ersetzen. Praktischerweise<br />
ist es hierbei<br />
zum Glück nicht nötig, erst<br />
einen Dump zu erstellen, um die Datenbanken wiederherzustellen.<br />
Im Normalfall sollte alles problemlos verlaufen.<br />
Dennoch sollten Sie wie bei jedem Upgrade zuvor ein<br />
komplettes Backup erstellen, um für alle Eventualitäten<br />
gewappnet zu sein.<br />
Wer zu seiner MySQL-Version eine passende MariaDB-Version<br />
benötigt, wird unter der folgenden Adresse schnell fündig:<br />
http://blog.mariadb.org/mariadb-5-5-29-5-3-12-5-2-14-5-<br />
1-67-now-available/<br />
Hier gibt es zusätzlich zu den Release Notes und Change Logs<br />
praktischerweise auch die Download-Links zu MariaDB in den<br />
älteren Versionen: 5.1.67, 5.2.14, 5.3.12 und 5.5.29.<br />
Wer zudem auch die passenden Quelltexte, kompilierte Binärversionen<br />
und betriebssystemspezifische Packages benötigt,<br />
wird unter der folgenden Adresse fündig:<br />
https://downloads.mariadb.org/<br />
72 0513 internet magazin
MySQL, Python, PHP, AWS | TIPPS & TRICKS<br />
Python<br />
Leistung einer Python-Applikation<br />
unter die Lupe nehmen<br />
Um die Leistung einer Webapplikation in Python zu verbessern,<br />
hilft es, diese in Echtzeit zu überwachen. Das geschieht zum<br />
Beispiel mit dem <strong>Die</strong>nst New Relic. Unter der Adresse<br />
http://newrelic.com/lp/python-monitoring<br />
können Sie Ihre Python-App nach einer kostenfreien Anmeldung<br />
aufstellen und Messwerte sammeln. Der <strong>Die</strong>nst<br />
erlaubt es Ihnen, dank der aufschlussreichen Daten die<br />
inneren Werte Ihrer App einschließlich SQL/NoSQL-Performance<br />
unter die Lupe zu nehmen, um potenziellen<br />
Schwachstellen auf die Spur zu kommen und das Optimierungspotenzial<br />
besser auszuloten.<br />
Außer Python und den Python-Frameworks Django, Web2PY,<br />
Bottle, CherryPie, Flash und Pylons unterstützt der <strong>Die</strong>nst auch<br />
die Sprachen Java, PHP, Ruby, das .NET-Framework und die<br />
Node.js-Bibliothek.<br />
<strong>Die</strong> Konfiguration erfordert die Einrichtung eines Python-<br />
Agenten mittels<br />
pip install newrelic<br />
Mit dem Befehl<br />
newrelic-admin generate-config LIZENZSCHLUESSEL newrelic.ini<br />
erzeugen Sie anschließend die Konfigurationsdatei newrelic.<br />
ini, wobei die Zeichenkette „LIZENZSCHLUESSEL“ durch den<br />
echten API-Schlüssel aus Ihrem Account ersetzt werden muss.<br />
Außerdem gilt es, die Umgebungsvariable ‚NEW_RELIC_CON-<br />
FIG_FILE‘ wie folgt zu setzen:<br />
NEW_RELIC_CONFIG_FILE=newrelic.ini newrelic-admin<br />
run-program python manage.py run_gunicorn<br />
Damit der Agent geladen wird, muss zudem Ihr selbstverständlich<br />
WSGI-konformer Server mit der Anweisung<br />
newrelic-admin run-program<br />
gestartet werden.<br />
In der Basisausführung („Lite“) ist der <strong>Die</strong>nst für eine unbeschränkte<br />
Zeit kostenfrei. Erst die erweiterte Funktionsbandbreite<br />
schlägt je nach Leistungsumfang <strong>des</strong> <strong>Die</strong>nstes mit bis zu 149<br />
US-Dollar pro Monat zu Buche.<br />
Unabhängig von der Überwachung einzelner Python-Applikationen<br />
können Sie Serverüberwachungsdienste von<br />
New Relic für Ubuntu, Debian, Red Hat, Cent OS und<br />
andere Linux-Distributionen sowie Windows Server kostenlos<br />
in Anspruch nehmen.<br />
PHP<br />
Eckdaten einer Videodatei<br />
serverseitig ermitteln<br />
Wer Metadaten einer Videodatei wie die Wiedergabedauer<br />
oder die Framegröße serverseitig ermitteln möchte, kann dies<br />
mit Hilfe der PHP-Klasse getID3() leicht bewerkstelligen. Zum<br />
Beispiel so:<br />
$getID3 = new getID3;<br />
$file = $getID3->analyze($filename);<br />
echo(„Wiedergabedauer: „.$file[‚playtime_string‘].“ /<br />
Dimensionen: „.$file[‚video‘][‚resolution_x‘].“ Breite und<br />
„.$file[‚video‘][‚resolution_y‘].“ Höhe“. „ / Dateigröße:<br />
„.$file[‚filesize‘].“ Bytes “);<br />
New Relic, ein <strong>Die</strong>nst zur Überwachung der Leistung von<br />
Webapplikationen (newrelic.com)<br />
<strong>Die</strong> PHP-Klassen getID3() finden Sie unter:<br />
http://getid3.sourceforge.net/<br />
Leider ist die Unterstützung von Multimediadateien auf nur wenige<br />
Standards beschränkt. Falls Sie über die Möglichkeit verfügen,<br />
die PHP-Konfiguration auf Ihrem Server zu modifizieren,<br />
können Sie sich mit der Erweiterung ffmpeg-php behelfen:<br />
apt-get install php5-ffmpeg<br />
<strong>Die</strong>se Erweiterung bietet Ihnen eine objektorientierte API zum<br />
Zugriff auf Videodateien. So können Sie beispielsweise die Abspieldauer<br />
in Erfahrung bringen:<br />
$movie = new ffmepg_movie(„Pfad/zum/Video.flv“);<br />
$duration_in_seconds = $movie->getDuration();<br />
Mittels<br />
$cmd = „ffmpeg -i „ . $videoPath . „ 2>&1“;<br />
if (preg_match(‚/Duration: ((\d+):(\d+):(\d+))/s‘,<br />
www.internet-magazin.de 73
TIPPS & TRICKS | MySQL, Python, PHP, AWS<br />
`$cmd`, $time)) {<br />
$total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];<br />
}<br />
exec($cmd);<br />
print_r ($time[0]);<br />
erhalten Sie die Wiedergabelänge im Format 00:00:00. Wenn<br />
Sie nur die Minuten und Sekunden ausgeben möchten, können<br />
Sie sich zum Beispiel mit substr() behelfen.<br />
Im Lieferumfang der ffmpeg-Distribution finden Sie ein<br />
Tool namens ffprobe. Mit diesem können Sie die benötigten<br />
Informationen gleich in der Kommandozeile etwa<br />
wie folgt ermitteln:<br />
ffprobe -show_format -pretty -print_format json -v quiet<br />
Videodatei.mp4<br />
Das Resultat beinhaltet die folgenden Informationen:<br />
{<br />
„format“: {<br />
„filename“: „Videodatei.mp4“,<br />
„nb_streams“: 2,<br />
„format_name“: „mov,mp4,m4a,3gp,3g2,mj2“,<br />
„format_long_name“: „QuickTime/MPEG-4/Motion JPEG 2000<br />
format“,<br />
„start_time“: „0:00:00.000000“,<br />
„duration“: „0:00:52.350000“,<br />
„size“: „9.489486 Mibyte“,<br />
„bit_rate“: „1.438423 Mbit/s“,<br />
„tags“: {<br />
„major_brand“: „M4VH“,<br />
„minor_version“: „1“,<br />
„compatible_brands“: „M4VHM4A mp42isom“,<br />
„creation_time“: „2013-02-12 14:05:54“<br />
}}}<br />
Mittels<br />
ffprobe -show_streams -pretty -print_format json<br />
-v quiet Videodatei.mp4<br />
können Sie außerdem unter anderem die durchschnittliche<br />
Bitrate und die tatsächliche Framerate in Erfahrung<br />
bringen. Seien Sie allerdings gewarnt: <strong>Die</strong>se Informationen<br />
müssen Sie auf Basis der Rohdaten der Ausgabe erst<br />
einmal berechnen.<br />
Ein Beispiel: Im Falle der tatsächlichen Framerate in der JSON-<br />
Ausgabe entspricht der Wert<br />
„r_frame_rate“: „30000/1001“,<br />
genau 29.97 fps.<br />
Cloudfront<br />
Private Videodistribution streamt<br />
nicht: Probleme mit ACL-Berechtigungen<br />
beheben<br />
Sollten sich trotz einer scheinbar fehlerfreien Konfiguration einer<br />
privaten Cloudfront-Distribution die betreffenden Videos nicht<br />
streamen lassen, ist die Ursache unerwarteterweise oft an einer<br />
völlig anderen Stelle zu finden. Fehlt dem Origin-Bucket die<br />
passende ACL-Berechtigung, kann Cloudfront auf die Daten<br />
nicht zugreifen. Im Bereich „Cloudfront“ der AWS-Konsole sieht<br />
es dann aber so aus, als ob alles korrekt funktionieren würde.<br />
Um dem Problem auf die Spur zu kommen, navigieren Sie in<br />
der Konsole zu dem S3-Bucket, in dem sich das problematische<br />
Video befindet, und lassen sich die Eigenschaften der Videodatei<br />
anzeigen. Im Abschnitt „Permissions/Berechtigungen“ der betreffenden<br />
Videodatei muss sich ein Eintrag in der Form<br />
„Grantee: CloudFront Origin Access“<br />
befinden. Fehlt dieser Eintrag, müssen Sie diesen erzeugen.<br />
Öffnen Sie hierzu die Anwendung CloudBerry S3 Explorer, klicken<br />
Sie mit der rechten Maustaste auf den Bucket-Container<br />
und rufen Sie den Befehl „CloudFront / Edit Distribution...“ auf.<br />
Im folgenden Dialog navigieren Sie mit der Schaltfläche „Weiter/<br />
Next“ zum Dialog „Private Content“ und aktivieren hier die Optionen<br />
„Enable Private Content Distribution“ und „Add Myself<br />
as a Trusted Signer“. Dadurch wird die Einstellung „CloudFront<br />
Origin Access Identity“ in der Liste der ACL-Berechtigungen für<br />
die Objekte in dem betreffenden Bucket verzeichnet. Zu guter<br />
Letzt sollten Sie dieser Identität noch die „Read“-Berechtigung<br />
erteilen. Achten Sie auch unbedingt darauf, dass Ihre eigene<br />
Identität als Eigentümer der Streaming-Dateien verzeichnet ist.<br />
Eine öffentliche Cloudfront-Distribution erfordert darüber hinaus<br />
öffentliche Rechte. Eine private Streaming-Distribution mit<br />
Cloudfront erlaubt es Ihnen, Ihr anvisiertes Publikum auf einen<br />
firmeninternen IP-Bereich festzulegen. Signierte URLs funktionieren<br />
aber nur, wenn die Berechtigungen <strong>des</strong> Origin-Servers<br />
korrekt eingestellt sind. Wie Sie diese in den Griff bekommen,<br />
erfahren Sie im folgenden Tipp.<br />
IAM, Cloudfront, S3<br />
Korrekte Zugriffsrechte von Cloudfront<br />
auf S3 trotz mehrerer berechtigter<br />
Benutzer<br />
Fehlerhafte Zugriffsrechte auf S3-Buckets können extrem hartnäckige<br />
Probleme verursachen, denn sie sind leicht zu überse-<br />
74 0513 internet magazin
MySQL, Python, PHP, AWS | TIPPS & TRICKS<br />
hen und können durch scheinbar harmlose Handlungen ausgelöst<br />
werden. Das kann beispielsweise ein Kopiervorgang mit<br />
einer falschen AWS-Identität sein.<br />
Wenn der AWS-Administrator einer Medienagentur das Recht<br />
erteilt, Videodateien in dem betreffenden S3-Bucket abzulegen<br />
um darauf eine Cloudfront-Streaming-Distribution einzurichten,<br />
funktioniert die Distribution plötzlich nicht mehr richtig.<br />
Bei jedem Upload in ein S3-Bucket erhält derjenige Benutzer<br />
die Eigentümerrechte an den Dateien, der den betreffenden<br />
Kopiervorgang oder Upload ausgelöst hat. Sollte das der Fall<br />
sein, müssen Sie als Besitzer der Cloudfront-Distribution den<br />
ursprünglichen Eigentümer in der ACL-Konfiguration durch Ihre<br />
eigene AWS-Benutzeridentität ersetzen. Das System verweigert<br />
nämlich die Zuweisung von Zugriffsrechten an S3-Objekten<br />
durch einen Benutzer, bei dem es sich nicht um den Eigentümer<br />
dieser Daten handelt. Es gibt mehrere Möglichkeiten, um diese<br />
Rechtezuweisung anzupassen. Zum einen könnte man die Eigentümerrechte<br />
an den Besitzer <strong>des</strong> betreffenden Buckets mit<br />
Hilfe einer Anweisung in der POST-Anfrage übertragen, doch<br />
diese Vorgehensweise ist selten praktikabel und schließt sich<br />
mit der Verwendung grafischer Tools aus. Zum anderen könnte<br />
der Besitzer <strong>des</strong> Buckets die Dokumente innerhalb derselben<br />
Region in einen anderen Bucket und wieder zurück kopieren,<br />
doch auch dieser Behelf ist nicht wirklich empfehlenswert.<br />
Zum Glück hat Amazon inzwischen eine elegantere Lösung<br />
für dieses Problem gefunden.<br />
Um Probleme mit Berechtigungen dauerhaft zu lösen, sollten<br />
Sie anstelle von AWS-Identitäten Amazons IAM-<strong>Die</strong>nste nutzen.<br />
Hierzu erstellen Sie in Ihrem AWS-Account einen neuen<br />
IAM-Benutzer und weisen diesem das Recht zu, Dateien in<br />
das betreffende S3-Bucket hochzuladen. Detaillierte Berechtigungen<br />
legt in diesem Fall die zugehörige IAM-Richtlinie<br />
fest. Eine so erstellte Benutzeridentität verfügt über ihr eigenes<br />
Schlüsselpaar. <strong>Die</strong>ses Schlüsselpaar, bestehend aus<br />
einem Zugriffs- und einem Geheimschlüssel, nutzen Sie gemeinsam<br />
mit dem Videoverantwortlichen, welcher für die<br />
Uploads kodierter Videodateien verantwortlich zeichnet.<br />
Optional können Sie auch ein Benutzerkonto zum Zugriff auf<br />
die AWS-Konsole erzeugen. Wenn jetzt dieser IAM-Benutzer<br />
Videodateien in Ihrem S3-Bucket ablegt, sind Sie automatisch<br />
der Eigentümer dieser Dokumente.<br />
Allerdings sollten Sie beachten, dass Änderungen der Konfiguration<br />
eines S3-Buckets, bei dem es sich um den Origin-Server<br />
einer Cloudfront-Distribution handelt, leider nicht sofort in<br />
Kraft treten. <strong>Die</strong> neuen Parameter müssen sich erst durch das<br />
CDN propagieren. Sicherheitshalber sollten Sie bei jeder Änderung<br />
der Konfiguration eine Invalidation-Anfrage erstellen,<br />
um die alte Konfiguration zu verwerfen. Spätestens nach 20<br />
Minuten sollten dann aber die signierten URLs funktionieren<br />
und die Videos streamen.<br />
Python<br />
Probleme mit virtualenv<br />
in Cygwin unter Windows<br />
Benutzer von Cygwin unter Windows 7 und 8 einschließlich<br />
Pro, die in Python entwickeln möchten, erhalten beim<br />
Versuch, eine virtuelle Umgebung zu erstellen, lediglich die<br />
Fehlermeldung<br />
$ mkvirtualenv --distribute --no-site-packages --python=/<br />
usr/bin/python2.7.exe temp<br />
Running virtualenv with interpreter /usr/bin/<br />
python2.7.exe<br />
New python executable in temp/bin/python2.7<br />
(...)<br />
OSError: [Errno 2] No such file or directory<br />
Einrichtung von virtualenv aus dem Entwicklerzweig in Cygwin<br />
unter Windows 8 Pro.<br />
Der Fehler scheint auf die Versionen 1.8.3 und 1.8.4 von virtualenv<br />
im Zusammenhang mit Cygwin beschränkt zu sein. Um<br />
das Problem zu umgehen, können Sie entweder eine ältere stabile<br />
Version von virtualenv oder eine neuere Version aus dem<br />
Entwicklerzweig nutzen. Entwicklerversionen finden Sie im<br />
Git-Archiv unter der Adresse<br />
https://github.com/pypa/virtualenv<br />
<strong>Die</strong> Installation können Sie ganz einfach mittels<br />
pip install https://github.com/pypa/virtualenv/tarball/<br />
develop<br />
oder durch<br />
easy_install https://github.com/pypa/virtualenv/tarball/<br />
develop<br />
auslösen.<br />
www.internet-magazin.de 75
TIPPS & TRICKS | MySQL, Python, PHP, AWS<br />
AWS<br />
EC2-Instanzen geschickt reservieren<br />
Wer kurzfristig einen Server benötigt, um eine Webapplikation<br />
zu debuggen, greift oft zur Kostensenkung auf Cloud-<strong>Die</strong>nste<br />
zurück. So lässt sich ganz einfach auch die Belastbarkeit der<br />
Anwendung austesten. Oft kommt hierbei EC2, kurz für Elastic<br />
Compute Cloud, zum Einsatz. EC2 ist ein Cloud-Angebot virtueller<br />
Server <strong>des</strong> Cloud-Hosting-Discounters Amazon.<br />
eine dauerhaft reservierte Instanz, die rund um die Uhr läuft,<br />
nicht zu viel zahlen, müssen Sie sich für eine Instanz mit der<br />
maximalen Auslastung entscheiden. <strong>Die</strong>ser Parameter hat bei<br />
Amazon nämlich nichts mit der Hardwareausstattung zu tun,<br />
sondern definiert lediglich den Anteil der Laufzeit pro Abrechnungszeitraum,<br />
in der Ihre Instanz arbeitet. Würden Sie eine<br />
EC2-Instanz mit einer geringen Auslastung reservieren und<br />
darauf etwa einen Webserver rund um die Uhr betreiben, um<br />
Ihrem Auftraggeber in der Testphase komfortablen Zugriff zu<br />
gewähren, würde Ihnen Amazon den Überschuss an Leistung<br />
pro Stunde in Rechnung stellen. Doch keine Sorge: Wer die<br />
falsche Art von EC2-Instanzen reserviert hat, kann neuerdings<br />
den Vertrag auflösen, indem er die nicht benötigte Instanz weiterverkauft.<br />
Mehr dazu im folgenden Tipp.<br />
Initialisieren<br />
einer EC2-Instanz.<br />
Reservierte EC2-Instanzen sind bekannterweise deutlich günstiger<br />
als Spot-Instanzen, dies setzt jedoch voraus, dass Sie<br />
Ihre reservierten Instanzen hinreichend auslasten.<br />
<strong>Die</strong> Selbstbedienung bei Amazon hat<br />
nämlich den Nachteil, dass die Kosten für EC2<br />
unter Umständen schnell aus dem Ruder laufen<br />
können, wenn man den Überblick verliert. Wer<br />
EC2 einsetzen möchte, sollte daher gut planen.<br />
Falls Sie einen zusätzlichen Server nur gelegentlich<br />
zur Webentwicklung oder zum Testen<br />
benötigen, sind Sie mit einer Spot-Instanz unter<br />
Umständen ganz gut bedient.<br />
Falls Sie jedoch auf einer EC2-Instanz einen<br />
Web- oder Applikationsserver dauerhaft betreiben<br />
möchten, kommen Sie mit einer reservierten<br />
Instanz deutlich günstiger weg, da<br />
reservierte Instanzen mit einem geringeren<br />
Stundenpreis zu Buche schlagen. Einige AWS-Benutzer versuchen<br />
allerdings, ihre Kosten zu drücken, indem sie reservierte<br />
Instanzen mit der Option für eine geringe oder mittelschwere<br />
Auslastung buchen. Das ist leider völlig verkehrt! Damit Sie für<br />
AWS<br />
Kosten drücken durch den Weiterverkauf<br />
reservierter EC2-Instanzen<br />
Wer seine reservierten EC2-Instanzen nicht mehr benötigt, kann<br />
sie zwar nicht an Amazon zurückgeben, dafür aber an Dritte<br />
verkaufen. Amazon bietet nämlich seit Kurzem einen Marktplatz<br />
für „gebrauchte“ reservierte EC2-Instanzen unter:<br />
http://aws.amazon.com/de/ec2/reserved-instances/<br />
marketplace/<br />
So müssen Sie Ihre reservierten EC2-Instanzen weder im Leerlauf<br />
betreiben, noch brach liegen lassen und können sich ei-<br />
Reservierte EC2-Instanzen von einem Drittanbieter unterscheiden<br />
sich durch die Laufzeit <strong>des</strong> Vertrages und selbstverständlich<br />
auch durch die anfallenden Kosten, sie sind jedoch<br />
inhaltlich identisch mit „originalen“ AWS-Instanzen.<br />
76 0513 internet magazin
MySQL, Python, PHP, AWS | TIPPS & TRICKS<br />
nen Teil der Kosten vom Käufer zurückerstatten lassen. Für den<br />
Käufer sind die so erworbenen Instanzen von „brandneuen“<br />
Instanzen qualitativ nicht zu unterscheiden. Sie unterscheiden<br />
sich lediglich durch die übrig gebliebene Laufzeit, denn beim<br />
Verkauf „gebrauchter“ reservierter EC2-Instanzen handelt es<br />
sich nicht um physikalische Geräte, sondern um das Recht,<br />
eine virtuelle Computing-Umgebung auf Amazons Infrastruktur<br />
in der Wolke auszuführen. Auf einer EC2-Instanz können<br />
Sie beispielsweise einen Webserver oder Mailserver oder eine<br />
nahezu beliebige andere Software ausführen. Reservierte Instanzen<br />
sind günstiger als die so genannten Spot-Instanzen, die<br />
auf Abruf gestartet werden, sie haben jedoch – wie ihr Name<br />
andeutet – eine vorab reservierte Laufzeit. Amazon stellt dem<br />
<strong>Kunden</strong> diese Laufzeit unabhängig davon in Rechnung, ob die<br />
EC2-Instanz ausgeführt wird oder nicht. Der Marktplatz für<br />
„gebrauchte“ EC2-Instanzen erlaubt es, nicht mehr benötigte<br />
virtuelle Server zu verkaufen.<br />
Der Vorteil für den Käufer besteht entweder in einem günstigeren<br />
Preis oder in einer besseren Restlaufzeit, zum Beispiel<br />
zehn Monate statt drei Jahren. Der einzige Nachteil: Derzeit<br />
befindet sich der Marktplatz noch in der Betaphase und so ist<br />
die Bedienoberfläche noch nicht vollständig lokalisiert.<br />
PHP, AWS<br />
Signierte Streaming-URLs<br />
skriptgesteuert erzeugen<br />
Wenn Sie signierte URLs für eine private Streaming-Distribution<br />
über Cloudfront via API einrichten, sollten Sie darauf<br />
achten, diese korrekt zu signieren. Setzt sich der S3-Pfad zu<br />
Ihrer Streaming-Datei innerhalb <strong>des</strong> Buckets zum Beispiel<br />
wie folgt zusammen:<br />
/Verzeichnis/Dateiname.mp4<br />
müssen Sie unbedingt darauf achten, den Pfad inklusive Dateiname,<br />
jedoch ohne die Dateierweiterung zu signieren:<br />
/Verzeichnis/Dateiname<br />
Erst nach dem Signieren der noch unvollständigen URL kommt<br />
dann die Dateierweiterung hinzu. Im Beispiel ist das .mp4.<br />
<strong>Die</strong> Berechnung der Signatur und das Zusammensetzen der<br />
signierten URL zur Streaming-Datei können Sie zum Beispiel<br />
in PHP implementieren.<br />
<strong>Die</strong> folgende Funktion lädt den privaten Schlüssel, berechnet<br />
die Signatur, entlädt den Schlüssel aus dem Speicher, und gibt<br />
die Signatur zurück:<br />
function rsa_sha1_sign($policy, $private_key_filename) {<br />
$signature = „“;<br />
$fp = fopen($private_key_filename, „r“);<br />
$priv_key = fread($fp, 8192);<br />
fclose($fp);<br />
$pkeyid = openssl_get_privatekey($priv_key);<br />
openssl_sign($policy, $signature, $pkeyid);<br />
openssl_free_key($pkeyid);<br />
return $signature;<br />
}<br />
Mit einer Funktion wie dieser lassen sich die problematischen<br />
Zeichen +, =, / durch -, _, ~ ersetzen:<br />
function url_safe_base64_encode($value) {<br />
$encoded = base64_encode($value);<br />
return str_replace(<br />
array(‚+‘, ‚=‘, ‚/‘),<br />
array(‚-‘, ‚_‘, ‚~‘),<br />
$encoded);<br />
}<br />
Der Name <strong>des</strong> Streams entsteht mittels<br />
function create_stream_name($stream, $policy, $signature,<br />
$key_pair_id, $expires) {<br />
$result = $stream;<br />
// falls Parameter bereits angegeben, neue Parameter<br />
anhängen<br />
// sonst Parameter hinzufügen<br />
$separator = strpos($stream, ‚?‘) == FALSE ? ‚?‘ : ‚&‘;<br />
// ein Ablaufdatum deutet auf eine Standardrichtlinie hin<br />
if($expires) {<br />
$result .= $path . $separator . „Expires=“ . $expires .<br />
„&Signature=“ . $signature . „&Key-Pair-Id=“ . $key_pair_id;<br />
}<br />
// falls keine Standardrichtlinie, die Richtlinie anhängen<br />
else {<br />
$result .= $path . $separator . „Policy=“ . $policy .<br />
„&Signature=“ . $signature . „&Key-Pair-Id=“ . $key_pair_id;<br />
}<br />
// entferne Zeilenvorschub<br />
return str_replace(‚\n‘, ‚‘, $result);<br />
}<br />
function encode_query_params($stream_name) {<br />
// Anfrageparameter für Adobe Flash Player mit Hilfe<br />
URL-codierter Zeichen bereinigen<br />
return str_replace(<br />
array(‚?‘, ‚=‘, ‚&‘),<br />
array(‚%3F‘, ‚%3D‘, ‚%26‘),<br />
www.internet-magazin.de 77
TIPPS & TRICKS | MySQL, Python, PHP, AWS<br />
$stream_name);<br />
}<br />
Unter Angabe der Standardsicherheitsrichtlinie nimmt die benötigte<br />
Funktion diese Form an:<br />
function get_canned_policy_stream_name($video_path,<br />
$private_key_filename, $key_pair_id, $expires) {<br />
// codiere die Richtlinie URL-kompatibel mittels base64<br />
$canned_policy = ‚{„Statement“:[{„Resource“:“‘ . $video_<br />
path . ‚“,“Condition“:{„DateLessThan“:{„AWS:EpochTime“:‘.<br />
$expires . ‚}}}]}‘;<br />
// URL-inkompatible Zeichen in der Richtlinie mittels<br />
base64 codieren<br />
$encoded_policy = url_safe_base64_encode($canned_policy);<br />
// signiere die ursprüngliche Version der Richtlinie<br />
(nicht die codierte)<br />
$signature = rsa_sha1_sign($canned_policy, $private_key_<br />
filename);<br />
// codiere die Signatur für die Uebergabe als URL-Parameter<br />
$encoded_signature = url_safe_base64_encode($signature);<br />
// setze die Sicherheitsrichtlinie und die URL der<br />
Streaming-Datei zusammen<br />
$stream_name = create_stream_name($video_path, null,<br />
$encoded_signature, $key_pair_id, $expires);<br />
// ein Workaround für einen Bug in Flash Player<br />
return encode_query_params($stream_name);<br />
}<br />
Unter Angabe der benutzerdefinierten Sicherheitsrichtlinie<br />
sieht die benötigte Funktion nun etwa so aus:<br />
function get_custom_policy_stream_name($video_path,<br />
$private_key_filename, $key_pair_id, $policy) {<br />
// codiere die Richtlinie URL-kompatibel mittels base64<br />
$encoded_policy = url_safe_base64_encode($policy);<br />
// signiere die ursprüngliche Richtlinie (nicht die<br />
base64-codierte)<br />
$signature = rsa_sha1_sign($policy, $private_key_filename);<br />
// codiere die Signatur für die Uebergabe als URL-Parameter<br />
$encoded_signature = url_safe_base64_encode($signature);<br />
// setze die Sicherheitsrichtlinie und die URL der<br />
Streaming-Datei zusammen<br />
$stream_name = create_stream_name($video_path, $encoded_<br />
policy, $encoded_signature, $key_pair_id, null);<br />
// ein Workaround für einen Bug in Flash Player<br />
return encode_query_params($stream_name);<br />
}<br />
Anschließend müssen Sie in Ihrer PHP-Datei noch den Pfad<br />
zu Ihrem Schlüsselpaar angeben:<br />
$private_key_filename = ‚/var/www/keys/pk-<br />
APXXXXXXXXXXXXXXXXXXXX.pem‘;<br />
$key_pair_id = ‚APXXXXXXXXXXXXXXXXXXXX‘;<br />
<strong>Die</strong>se Dateien dürfen natürlich nicht aus dem <strong>Internet</strong> zugänglich<br />
sein. In Ihrer Variablen müssen Sie nur den Dateinamen<br />
erfassen, also müssen Sie die Erweiterung der Videodatei unbedingt<br />
weglassen:<br />
$video_path = ‚‘;<br />
$expires = time() + 30; // in 30 Sekunden<br />
$canned_policy_stream_name = get_canned_policy_stream_<br />
name($video_path, $private_key_filename, $key_pair_id,<br />
$expires);<br />
$client_ip = $_SERVER[‚REMOTE_ADDR‘];<br />
$policy = ‚{‚. ‚“Statement“:[‚.‘{‚.‘“Resource“:“‘.<br />
$video_path . ‚“,‘.‘“Condition“:{‚.‘“IpAddress“:<br />
{„AWS:SourceIp“:“‘ . $client_ip .‘/32“},‘.‘“DateLessThan“<br />
:{„AWS:EpochTime“:‘ . $expires . ‚}‘.‘}‘.‘}‘.‘]‘.‘}‘;<br />
$custom_policy_stream_name = get_custom_policy_stream_<br />
name($video_path, $private_key_filename, $key_pair_id,<br />
$policy);<br />
Im -Abschnitt der Webseite können Sie die<br />
Streaming-Datei jetzt zum Beispiel wie folgt referenzieren:<br />
<br />
var so_canned = new SWFObject(‚http:///jwplayer/player.<br />
swf‘,‘mpl‘,‘640‘,‘360‘,‘9‘);<br />
so_canned.addParam(‚allowfullscreen‘,‘true‘);<br />
so_canned.addParam(‚allowscriptaccess‘,‘always‘);<br />
so_canned.addParam(‚wmode‘,‘opaque‘);<br />
so_canned.addVariable(‚file‘,‘‘);<br />
so_canned.addVariable(‚streamer‘,‘rtmp://.cloudfront.net/cfx/st‘);<br />
so_canned.write(‚canned‘);<br />
var so_custom = new SWFObject(‚http:///jwplayer/player.swf‘,‘mpl‘,‘640‘,‘360‘,‘9‘);<br />
so_custom.addParam(‚allowfullscreen‘,‘true‘);<br />
so_custom.addParam(‚allowscriptaccess‘,‘always‘);<br />
so_custom.addParam(‚wmode‘,‘opaque‘);<br />
so_custom.addVariable(‚file‘,‘‘);<br />
so_custom.addVariable(‚streamer‘,‘rtmp://.cloudfront.net/cfx/st‘);<br />
so_custom.write(‚custom‘);<br />
<br />
Anna Kobylinska und<br />
Filipe Pereira Martins<br />
78 0513 internet magazin
BRANCHENVERZEICHNIS<br />
Alle Einträge finden Sie mit direktem Link zum Anbieter auf der Heft-CD für Abonnenten oder online unter www.internet-magazin.de/branchenverzeichnis<br />
@ APPLICATION SERVICE PROVIDER CLOUD<br />
PLZ<br />
38100<br />
datenbanken24.de<br />
Ein Service der MANETEC GmbH & Co. KG<br />
Lange Straße 61<br />
38100 Braunschweig<br />
Tel.: (0531) 12 08 480, Fax: (0531) 12 08 499<br />
info@datenbanken24.de<br />
www.datenbanken24.de<br />
Cloud Application Builder - ohne Programmierung.<br />
Erstellen Sie sich individuelle und sofort einsatzbereite Web-Applikationen.<br />
Mit Zugriffsregelung, Formulargenerator, Suchfunktionen, Google-Maps, Umkreissuche<br />
u.v.m. Ihre fertige Anwendung mieten sie als Cloud-Komplettlösung<br />
zu einem monatlichen Festpreis, Hosting, Sicherheit, Backup und Verfügbarkeitsgarantie.<br />
- alles inclusive. datenbanken24.de ist zertifiziert für ISO<br />
9001 und Auftragsdatenverarbeitung.<br />
@ CONTENT<br />
PLZ<br />
32051<br />
content.de AG<br />
Nordstr. 14<br />
32051 Herford<br />
Tel.: (05 22 1) 85 49 9 0<br />
Fax: (05 22 1) 85 49 9 - 99<br />
info2012@content.de<br />
http://www.content.de<br />
Suchmaschinenoptimierte Texte für erfolgreiche Webprojekte!<br />
content.de, die technische Plattform mit persönlicher und kompetenter<br />
<strong>Kunden</strong>betreuung, liefert mit seinen mehr als 4.000 Autoren einzigartige,<br />
suchmaschinenoptimierte Texte (unique content). <strong>Die</strong>se Fakten haben<br />
schon viele <strong>Kunden</strong> von uns überzeugt:<br />
- attraktive Preise pro Wort<br />
- einfach zu bedienen<strong>des</strong> System<br />
- viele Lösungen (SEO-Texte, Produktbeschreibungen, Blogbeiträge, etc.)<br />
- übersichtliches Projektmanagement (für viele Textaufträge ausgelegt)<br />
- durchdachte Features mit Mehrwert (Wordpress-API, Keyword-Generator)<br />
- u.v.m.<br />
Wann steigern Sie Ihren Traffic durch neue Texte?<br />
@ E COMMERCE<br />
PLZ<br />
36041<br />
PSW GROUP GmbH & Co. KG<br />
Flemingstraße 20-22<br />
36041 Fulda<br />
Tel.: (0661) 48 02 76-10<br />
Fax: (0661) 48 02 76-19<br />
Hotline: (0800) 50 37 50-1<br />
Fax: (0800) 50 37 50-9<br />
support@psw.net<br />
www.psw.net<br />
<strong>Die</strong> PSW GROUP GmbH & Co. KG ist einer der führenden deutschen Full Service-<br />
Provider für <strong>Internet</strong>lösungen mit einem besonderen Schwerpunkt auf <strong>Internet</strong><br />
Security. Als solcher bietet das Unternehmen – sowohl für das Web als auch für die<br />
E-Mail-Kommunikation – Zertifikats-, Signatur-, Verschlüsselungs- und Authentifizierungslösungen<br />
an.<br />
Das umfassende Produktportfolio reicht von SSL-Zertifikaten über Code-Signing-<br />
Zertifikate bis hin zu qualifizierten elektronischen Signaturen und DE-Mail. Aber<br />
auch Sicherheitslösungen wie das PCI- und Malware-Scanning, Secure CDN, DNS-<br />
SEC und AntiSpam sowie Gütesiegel und <strong>Kunden</strong>bewertungssysteme speziell für<br />
E-Commerce-Anbieter finden sich im Repertoire der PSW GROUP. Darüber hinaus<br />
verfügt das Unternehmen über eine fast 12-jährige Expertise in den Bereichen<br />
<strong>Internet</strong>-Sicherheit, IT-Recht sowie Hosting- und Domaindienstleistungen. Zu den<br />
<strong>Kunden</strong> der PSW GROUP zählen Webhoster, Web<strong>des</strong>ign- und Marketing-Agenturen<br />
sowie Online-Shops.<br />
@ E MAIL MARKETING<br />
SuperMailer<br />
PLZ<br />
04319<br />
Mirko Böer Softwareentwicklungen<br />
Malachitstraße 16<br />
04319 Leipzig<br />
Tel.: (03 41) 8 63 28 42, Fax: (03 41) 8 63 28 43<br />
info@wt-rate.com<br />
www.supermailer.de/<br />
Ansprechpartner: Mirko Böer<br />
Versand von personalisierten Newslettern, Marketing-Newslettern,<br />
Produktinfos, weitere <strong>Internet</strong>software, Entwicklung von Windows-Software<br />
www.internet-magazin.de 79
BRANCHENVERZEICHNIS<br />
Wollen Sie sich auch im <strong>Internet</strong> <strong>Magazin</strong> präsentieren? • Jürgen Auselt • Telefon 0 89/2 55 56-11 72 • Telefax 0 89/2 55 56-11 96 • jauselt@wekanet.de<br />
@ E PAYMENT<br />
PLZ<br />
50679<br />
Deutsche Card Services GmbH<br />
Kaltenbornweg 1–3<br />
50679 Köln<br />
Tel.: (0221) 9 95 77 - 0,<br />
Fax: (0221) 9 95 77 - 720<br />
info.deucs@db.com<br />
www.deutsche-card-service.com<br />
www.deucs.com<br />
Als Teil der Deutschen Bank Gruppe bietet die Deutsche Card Services<br />
internationale Full-Service-Lösungen für den bargeldlosen kartengestützten<br />
Zahlungsverkehr von der Kreditkarte über Maestro, ELV und giropay aus<br />
einer Hand. Sie baut dabei auf das jahrelange Know-how und die bewährte<br />
technische Plattform der Pago eTransaction Services auf. Bewährte Risikominimierungssysteme<br />
sorgen dafür, dass bargeldloses Bezahlen im<br />
E-Commerce, im Versandhandel und am Point of Sale einfach, schnell<br />
und sicher abläuft. Einzigartige Online-Steuerungssysteme bieten <strong>Kunden</strong><br />
weltweit jederzeit den vollen Überblick über ihre Transaktionen.<br />
@ FULL SERVICE PROVIDER<br />
PLZ<br />
12165<br />
http.net <strong>Internet</strong> GmbH<br />
Grunewaldstraße 22,<br />
12165 Berlin<br />
Tel.: (030) 21 00 90-0, Fax: (030) 21 00 90-90<br />
info@http.net<br />
www.http.net<br />
Ansprechpartner: Helga Krüger<br />
Seit 1996 hat sich die http.net auf Lösungen für Wiederverkäufer und<br />
Geschäftskunden spezialisiert. Unser Schwerpunkt liegt im Bereich der<br />
Domainservices. Bei http.net können Sie über 500 Domain-Endungen<br />
registrieren. Darüber hinaus bieten wir SSL-Zertifikate, Webspace, Hosting<br />
und individuelle Virtualisierungs-Lösungen.<br />
PLZ<br />
40599<br />
OpenIT GmbH<br />
In der Steele 33a–41<br />
40599 Düsseldorf<br />
Tel.: (02 11) 23 95 77-0<br />
Fax: (02 11) 239577-10<br />
isp@openit.de<br />
www.openit.de<br />
Full-Service-Provider für Businesskunden, von virtuellen Servern bis zu<br />
dedizierten Clusterumgebungen im BSI zertifizierten Rechenzentrum inkl.<br />
24/7 Support. Weiter im Portfolio: Typo3 Hosting, SMS Versand und<br />
Anwendungsentwicklung für den B2B Bereich.<br />
@ INTERNET FOREN<br />
PLZ<br />
10827<br />
TwoCom<br />
Hauptstraße 26 / 2. Hof - 2. OG<br />
10827 Berlin<br />
Tel.: (0 30) 78 00 09 4 - 0,<br />
Fax: (0 30) 78 00 09 4 - 9<br />
sales@2-com.de<br />
www.2-com.de<br />
Ansprechpartner: Sascha Petruschke<br />
Draytek Online Forum – Hilfe von Usern für User rund um Produkte der<br />
Draytek Familie & Online Shop<br />
@ ONLINEMARKETING & SUCHMASCHINENMARKETING<br />
PLZ<br />
44139<br />
SUMAX®<br />
Rheinlanddamm 199<br />
44139 Dortmund<br />
Tel.: 49 - (0) 231 / 53 46 1 00<br />
Fax: 49 - (0) 231 / 53 46 1 100<br />
www.sumax.de<br />
info@sumax.de<br />
(Google AdWords Qualified Company)<br />
Google AdWords- & Suchmaschinenoptimierung, Suchmaschinenmarketing,<br />
Webshops, Usability<br />
80 0513 internet magazin
BRANCHENVERZEICHNIS<br />
Alle Einträge finden Sie mit direktem Link zum Anbieter auf der Heft-CD für Abonnenten oder online unter www.internet-magazin.de/branchenverzeichnis<br />
@ SHOP-SYSTEME<br />
PLZ<br />
45964<br />
Webagentur Niewerth – <strong>Internet</strong>lösungen<br />
Humboldtstr. 2, 45964 Gladbeck<br />
Tel.: (0 20 43) 20 97 - 0<br />
FreeCall: (0 800) 34 56 90 0<br />
info@weban.de<br />
www.webagentur-online.de<br />
Ihr Shop-System das sich an Ihre Bedürfnisse anpasst. Mit Schnittstellen zu<br />
Ihrem ERP-System und zur Logistik. Alle gängigen Zahlungsarten, Schnittstellen<br />
zu Preisagenturen. Bestellverwaltung, Rechnungsmodul und Marketingtools.<br />
Mit Amazon- und Ebay-Anbindung und vieles mehr.<br />
<strong>Die</strong> Webagentur Niewerth betreut Sie von der Strategieberatung bis zum<br />
optimalen Marketingmix. Wir sind Trusted-Shops Partner, Google Adwords<br />
Professional und Facebook-Experten.<br />
Jetzt anrufen und unverbindlich beraten lassen!<br />
@ SMS DIENSTLEISTER<br />
PLZ<br />
73262<br />
mes.mo GmbH<br />
Stuttgarter Str. 4<br />
73262 Reichenbach<br />
Tel.: (0 71 53) 55 88 35<br />
Tel.: (0 71 53) 55 88 36<br />
office@mesmo.net<br />
www.any-sms.info<br />
Ansprechpartner: Christian Rapp<br />
Ihr Partner für mobile Messaging: High Quality SMS/MMS-Versand,<br />
individuelle inbound Lösungen für SMS/MMS-Empfang, SMS-Marketing,<br />
HTTP/UCP/SMTP-Schnittstelle, 24/7 Premium Support.<br />
@ WEB AGENTUREN<br />
PLZ<br />
81927<br />
MAXXmarketing GmbH<br />
Englschalkinger Straße 224<br />
81927 München<br />
Tel.: (0 89) 92 92 86 - 0<br />
Fax: (0 89) 92 92 86 - 75<br />
marketing@maxx-marketing.net<br />
www.web<strong>des</strong>igner-profi.de<br />
Ansprechpartner: Klaus Huber<br />
Web<strong>des</strong>ign und Webprogrammierung für nur 19,- Euro per Arbeitsstunde<br />
Spürbar mehr Erfolg durch Ihren professionellen Webauftritt! Bereits ab<br />
19.-Euro/pro Stunde entwickelt MAXXmarketing für Sie Webseiten in PHP,<br />
HTML, Flash, Javascript & Java. Besonders das hochwertige Design, Beispiele<br />
dazu auf www.maxx-marketing.net unter Punkt Beispiele/Web<strong>des</strong>ign,<br />
erzeugt den bekanntlich sehr wichtigen ersten positiven Eindruck für Ihren<br />
Webbesucher. Sprechen Sie uns jetzt an und testen Sie uns! Durch unsere<br />
günstigen Preise haben auch andere Werbeagenturen die Möglichkeit, uns<br />
als SUB-Unternehmen für die Erstellung Ihrer Projekte einzusetzen.<br />
Faszination iPhone!<br />
Geheime Funktionen nutzen<br />
Freiheit für IhriPhone: SIM-Lock legal entfernen, versteckteFeatures freischalten.<br />
iOS, iTunes,iCloud verständlich erklärtund die besten iPhone-Apps für Heimnetz-<br />
Steuerung, <strong>Reise</strong>,Musik &mehr.Alles steht in diesem Buch.<br />
FRANZIS<br />
ISBN 978-3-645-60146-7<br />
10,– EUR<br />
Praxiswissen vonFranzis<br />
www.franzis.de<br />
www.internet-magazin.de 81
SERVICE | <strong>Vorschau</strong><br />
Ausgabe 6/2013 erscheint am 10. Mai 2013<br />
Entwicklung mobiler Apps<br />
in der Praxis<br />
Mobile Webentwicklung muss weder teuer noch besonders<br />
mühsam sein. Anstatt mit Hilfe der entsprechenden<br />
SDKs native Apps für nur eine Plattform zu<br />
schreiben, kann man vorhandenes HTML5, CSS3<br />
oder Javascript-Know-how nutzen, um mobile Apps<br />
wie normale Websites zu entwickeln. Wir zeigen in<br />
unserer nächsten Ausgabe, wie Sie mobile Apps im<br />
Handumdrehen realisieren.<br />
So bekämpfen Sie negative SEO<br />
Was tun, wenn die eigene Site aus dem Google- oder Bing-Index verschwindet, weil<br />
Neider oder Konkurrenten ein Projekt als Spam denunziert haben? Unser Artikel beschreibt<br />
Schritt für Schritt, wie Sie solche Probleme lösen und in Zukunft verhindern.<br />
QR-Co<strong>des</strong> nutzen<br />
QR-Co<strong>des</strong> werden nur selten kreativ und<br />
mit maximaler Wirkung genutzt. Wir zeigen<br />
anhand erstaunlicher Beispiele, was<br />
mit QR-Co<strong>des</strong> alles möglich ist.<br />
WEIT ERE TH E M EN<br />
HTML5<br />
<strong>Die</strong> neuen Elemente<br />
Design im Browser<br />
Sites direkt im Browser entwickeln<br />
Alternativer Inhalt<br />
Teasern mit optimierter <strong>Vorschau</strong><br />
IMPRESSUM<br />
Redaktion<br />
Bereichsleiter: Jörg Hermann (v.i.S.d.P.)<br />
Projektleiter: Stefan Schasche (sschasche@wekanet.de)<br />
Producer: Rene Wirth<br />
Mitarbeiter dieser Ausgabe: Susanne Nötscher (Korrektorat),<br />
Daniel Engler, Tobias Hauser, Carola Heine, Andreas Hitzig, Anna<br />
Kobylinska, Thomas Kraehe, Stephan Lamprecht, Filipe Pereira<br />
Martins, Andreas Maslo, Dr. Florence Maurice, Sven Neumann, Franz<br />
Neumeier, Frank Puscher, Dr. Holger Reibold, Michael Rohrlich<br />
Redaktionsassistenz: Gerlinde Drobe, Sabine Steinbach<br />
Produkt-Manager Software/Lizenzen: Arnd Wängler<br />
Business Development Manager: Anja Deininger<br />
Leitung Layout: Sandra Bauer, Silvia Schmidberger<br />
Layout: Marcus Geppert, Andreas Geyh, Michael Grebenstein,<br />
Dorothea Voss, Rene Wirth<br />
Fotografie: Josef Bleier, Stefan Rudnick<br />
So erreichen Sie die Redaktion:<br />
Redaktion <strong>Internet</strong> <strong>Magazin</strong><br />
Telefon: (089) 2 55 56-11 11, Fax: (089) 2 55 56-16 27<br />
E-Mail: redaktion@internet-magazin.de<br />
Web: www.internet-magazin.de<br />
Manuskripteinsendungen:<br />
Manuskripte, Programme, Tipps & Tricks, Leserbriefe bitte an die<br />
Redaktionsanschrift. Für unverlangt eingesandte Manuskripte,<br />
Datenträger sowie Fotos übernimmt der Verlag keine Haftung. <strong>Die</strong><br />
Zustimmung zum Abdruck wird vorausgesetzt. Das Verwertungsrecht<br />
für veröffentlichte Manuskripte, Fotos und Programme liegt<br />
ausschließlich beim Verlag. Mit der Honorierung von Manuskripten<br />
und Programmen erwirbt der Verlag die Rechte daran. Insbesondere<br />
ist der Verlag ohne weitere Honorierung berechtigt zur weltweiten<br />
und uneingeschränkten Veröffentlichung auf Papier und elektronischen<br />
Trägermedien. Der Autor erklärt mit der Einsendung,<br />
dass eingereichte Materialien frei sind von Rechten Dritter.<br />
Eine Haftung für die Richtigkeit der Veröffentlichung kann trotz<br />
sorgfältiger Prüfung durch die Redaktion vom Herausgeber nicht<br />
übernommen werden. Für veröffentlichte Manuskripte übernimmt<br />
der Verlag weder Gewähr noch Haftung. Schaltungen und verwendete<br />
Bezeichnungen müssen nicht frei sein von gewerblichen<br />
Schutzrechten. <strong>Die</strong> geltenden Bestimmungen sind zu beachten.<br />
Nachdruck, Übersetzung sowie Vervielfältigung oder sonstige<br />
Verwertung von Texten sind nur mit schriftlicher Genehmigung <strong>des</strong><br />
Herausgebers erlaubt. Namentlich gekennzeichnete Beiträge geben<br />
nicht in jedem Fall die Meinung der Redaktion wieder.<br />
Anzeigenabteilung<br />
Ihr Kontakt zum Anzeigenteam<br />
Gerlinde Drobe und Sabine Steinbach<br />
Telefon: (089) 2 55 56-11 71, Fax: (089) 2 55 56-11 96<br />
Anzeigenleitung (verantwortlich für Anzeigen):<br />
Gisela Nerke (-12 11) gnerke@wekanet.de<br />
Mediaberatung:<br />
Markus Matejka (05655) 92 48 94, mmatejka@wekanet.de<br />
Direktmarkt/Stellenmarkt:<br />
Jürgen Auselt (-11 72) jauselt@wekanet.de<br />
Leitung Sales Corporate Publishing & Media Services:<br />
Richard Spitz (-11 08) rspitz@wekanet.de<br />
Head of Digital Sales:<br />
Christian Heger (-11 62)cheger@wekanet.de<br />
International Representatives<br />
UK/Ireland/France: Huson International Media, Ms Rachel Di<br />
Santo, Cambridge House, Gogmore Lane, Chertsey, GB - Surrey<br />
KT16 9AP, phone: 0044-1932-564999, fax: 0044-1932-564998,<br />
rachel.disanto@husonmedia.com<br />
USA/Canada - West Coast: Huson International Media<br />
(Corporate Office), Huson International Media (Corporate Office)<br />
Ms Allison Padilla, Pruneyard Towers, 1999 South Bascom<br />
Avenue, Suite #450, USA – Campbell, CA 95008, phone: +1 408<br />
8796666, fax: +1 408 8796669, allison.padilla@husonmedia.com<br />
USA/Canada - East Coast: Huson International Media,<br />
Mr Jorge Arango, The Empire State Building,<br />
350 5th Avenue, Suite #4610, USA - New York, NY 10118,<br />
phone: 001-212-2683344, fax: 001-212-2683355,<br />
Jorge.arango@husonmedia.com<br />
Korea: Young Media Inc., Mr Young J. Baek, 408 Jinyang Sangga,<br />
120-3 Chungmuro 4 ga, Chung-ku, Seoul, Korea 100-863,<br />
phone: 0082-2-2273-4818, fax: 0082-2-2273-4866,<br />
ymedia@ymedia.co.kr<br />
Anzeigendisposition: Astrid Brück (-1471) abrueck@wekanet.de<br />
Sonderdrucke: Marion Werber, Tel: (089) 2 55 56-1101,<br />
mwerber@wekanet.de<br />
Anzeigengrundpreise:<br />
Es gilt die Preisliste Nr. 17 vom 01.01.2013<br />
Verlag<br />
Anschrift <strong>des</strong> Verlags:<br />
WEKA MEDIA PUBLISHING GmbH<br />
Richard-Reitzner-Allee 2, 85540 Haar bei München,<br />
Telefon: (089) 2 55 56–10 00, Fax: (089) 2 55 56-11 99<br />
Geschäftsführung: Wolfgang Materna, Werner Mützel, Kai Riecke<br />
Herstellungsleitung: Marion Stephan<br />
Vertriebs-/Marketingleitung: Robert Riesinger<br />
Vertrieb Handel: MZV Moderner Zeitschriften Vertrieb GmbH &<br />
Co. KG, Postfach 1232, 85702 Unterschleißheim,<br />
Telefon: (0 89) 3 19 06 – 0, Fax: (0 89) 3 19 06 – 113,<br />
E-Mail: mzv@mzv.de<br />
Aboservice<br />
Abonnementverwaltung:<br />
Burda Direct GmbH, Postfach 180, 77649 Offenburg,<br />
Telefon 0781/639 4548, Fax 0781/639 4549,<br />
E-Mail: weka@burdadirect.de<br />
Einzelheftbestellung:<br />
Burda Direct GmbH, Postfach 180, 77649 Offenburg,<br />
Telefon 0781/639 4548, Fax 0781/639 4549,<br />
E-Mail: weka@burdadirect.de<br />
Erscheinungsweise: monatlich<br />
Abonnementverwaltung Schweiz:<br />
Thali AG, Industriestrasse 14, CH-6285 Hitzkirch,<br />
Tel: 041 919 66 11, Fax: 041 919 66 77,<br />
E-Mail: abo@thali.ch, <strong>Internet</strong>: www.thali.ch<br />
Premium-Abonnement mit Jahres-CD:<br />
Abo mit 12 Ausgaben 60,90 Euro<br />
Studenten-Abo<br />
53,90 Euro<br />
Europäisches EU-Ausland 77,90 Euro<br />
Schweiz<br />
121,90 sfr<br />
Classic-Abonnement ohne Jahres-CD:<br />
Abo mit 12 Ausgaben 52,90 Euro<br />
Studenten-Abo<br />
47,90 Euro<br />
Europäisches EU-Ausland 69,90 Euro<br />
Schweiz<br />
105,90 sfr<br />
Außereuropäisches Ausland auf Anfrage<br />
Das Jahresabonnement ist nach Ablauf <strong>des</strong> ersten Jahres<br />
jederzeit kündbar. Alle Abonnementpreise incl. MWST und<br />
Versandkosten.<br />
© 2013 WEKA MEDIA PUBLISHING GmbH<br />
Druck: Vogel Druck und Medienservice, Leibnitzstr. 5,<br />
97204 Höchberg<br />
ISSN: 1433-3511<br />
82 0513 internet magazin
GRATIS ZUM JAHRESABO!<br />
JETZT BESTELLEN<br />
UND VORZUGSANGEBOT SICHERN!<br />
12 Ausgaben <strong>Internet</strong> <strong>Magazin</strong> im Abo<br />
+ HTML5-Handbuch<br />
HTML5-Handbuch<br />
€ 52,90<br />
für nur € 52,90<br />
HTML5-Handbuch<br />
Das Kompendium für Entwickler, Blogger,<br />
Webautoren und Programmierer!<br />
HTML5 ist die Sprache <strong>des</strong> Web. Und das Buch von<br />
Stefan Münz und Clemens Gull ist die Grammatik<br />
dazu. Wie einst die von Stefan Münz mitbegründete<br />
Onlinereferenz SELFHTML beantwortet dieses<br />
Buch alle Fragen zum neuen <strong>Internet</strong>standard. Immer<br />
wichtiger wird dabei die Ausgabe auf Smartphones<br />
und Tablets, <strong>des</strong>halb ist diesem Thema hier<br />
ein eigenes Kapitel gewidmet. Das unverzichtbare<br />
Standardwerk für jeden Webprofi!<br />
Jetzt bestellen unter<br />
www.internet-magazin.de/angebot<br />
Nur im Inland gültig. Angebot solange Vorrat reicht. Sollte der abgebildete Artikel nicht<br />
mehr lieferbar sein, erhalten Sie einen qualitativ gleichwertigen Ersatzartikel.
„Kein Hosting-Paket ist<br />
günstiger als bei STRATO.<br />
Außer bei STRATO!“<br />
PowerWeb Basic<br />
6 Monate<br />
für<br />
0,–€/Mon.*<br />
Aktion bis 30.4.2013<br />
Vergleichen lohnt sich!<br />
HOSTING 1&1<br />
Dual Basic<br />
STRATO<br />
PowerWeb Basic<br />
Standardpreis 6,99 €/Mon. 4,99 €/Mon.<br />
Einrichtungsgebühr 9,60 € 8,60 €<br />
Inklusivdomains 4 4<br />
Postfachspeicher 2GB 5GB<br />
Webspace 10 GB 10 GB<br />
Stand 6. März 2013. Min<strong>des</strong>tvertragslaufzeit STRATO 12 Monate, 1&1: 6 Monate. Preise inkl. MwSt.<br />
Sie sparen bis zu 25€ im Jahr!<br />
Marcus Welt<br />
chrom.tv<br />
HOSTED<br />
IN GERMANY<br />
* Aktion bis 30.04.2013: PowerWeb Basic 6 Monate für 0 €/Mon., anschließend 4,99 €/Mon.<br />
Einmalige Einrichtungsgebühr 8,60 €. Min<strong>des</strong>tvertragslaufzeit 12 Monate. Preise inkl. MwSt.<br />
Servicetelefon: 030 - 300 146 - 21