Jenkins OSX Slave für das automatisierte Bauen von iOS Apps

Die Aufgabe ist simpel: ich möchte in meine Jenkins Build Umgebung einen Rechner mit Mac OSX einbinden, der für mich automatisiert iOS Apps bauen soll. Für die Vereinfachung verwende ich dazu das xctool von Facebook, welches das Handling von XCode und co. übernimmt.

Mein Vorgehen war folgendes: Jenkins User auf dem Zielsystem eingerichtet und anschließend den Jenkins Slave per ssh vom Master aus gestartet. Das funktioniert auch alles wunderbar, aber sobald man im Build versucht auf eine Gui Applikation zuzugreifen – das macht z.B. der Aufruf der Unit Tests, weil diese den iPhone Simulator benötigen – knallt xctool ohne eine Fehlermeldung mit einem Exit Code 1 weg. Das Problem an der Stelle ist einfach, dass es in OSX einen Unterschied macht, ob man ein Programm per ssh oder direkt in einer Shell auf dem System startet. Die Variante über ssh darf eben nicht auf GUI Applikationen zugreifen. Und somit laufen die Tests nicht.

Korrekterweise muss man den Jenkins Slave als per JNLP starten. Dazu stellt man im Master in den Slave Einstellungen die „Startmethode“ auf „Starte Slave Agenten über JNLP“. Nach dem Speichern wir einem in der Übersicht des Knotens ein Shell Command angezeigt, den man auf dem Slave ausführen soll:

java -jar slave.jar -jnlpUrl http://[PFAD_ZUM_JENKINS_MASTER]/computer/[SLAVE_NAME]/slave-agent.jnlp -secret [SECRET_HASH]

In diesem Command ist die Datei „slave.jar“ verlinkt und kann heruntergeladen werden. Genau das sollte man auf dem OSX Slave machen und die Datei irgendwo auf der Platte ablegen. Anschließen startet man das Programm „Automator“. Dort wählt man „Applikation“ aus und sucht anschließend in der Bibliothek nach „Shell Script ausführen“. Diesen Eintrag zieht man rechts in die graue Fläche.

In das nun vorhandene Textfeld trägt man folgendes Shellscript ein:

cd [PFAD_ZUR_JAR_DATEI]
java -jar slave.jar -jnlpUrl http://[PFAD_ZUM_JENKINS_MASTER]/computer/[SLAVE_NAME]/slave-agent.jnlp -secret [SECRET_HASH]

Das ganze speichert ihr im Ordner Programme als „run_jenkins_slave“ ab. Nun geht ihr in die „Systemeinstellungen” -> “Benutzer und Gruppen“ und wählt bei Jenkins die „Startobjekte“ aus. Dort fügt ihr nun das eben erstellte Programm „run_jenkins_slave“ hinzu. Anschließend geht ihr noch auf „Anmeldeoptionen“ und stellt da den User „Jenkins“ für den automatischen Login ein.

Wenn ihr nun den OSX Rechner neu startet, dann sollte er automatisch einen Jenkins Slave starten und diesen beim Master registrieren. Nun sind wir genauso weit wie mit dem ssh Weg – aber: wenn man nun Jobs startet, dann dürfen diese auch auf GUI Applikationen zugreifen. Sprich, die Unit Tests mit dem iPhone Simulator laufen nun ohne Probleme durch. Der Jenkins Slave verhält sich in etwa so, als ob man direkt auf dem Desktop eine Shell startet und dann Befehle ausführt.

[Quicktip] Wie kann ich mit meinem iPhone unter iOS 8 Widgets nutzen?

Neben vielen netten Neuerungen hat Apple mit iOS 8 nun auch eine Möglichkeit integriert, Widgets, ähnlich wie man sie auch vom Android Betriebssystem kennt, zu nutzen.

Leider sind diese nicht ganz so offensichtlich auffindbar – daher zeige ich euch kurz, wie es geht:

Zieht einfach mit dem Finger von oben die Mitteilungszentrale auf:
IMG_3272.PNG

Dann scrollt ihr ganz nach unten, dort findet ihr den “Bearbeiten” Button. Über diesen gelangt ihr in folgendes Menü:
IMG_3273.PNG

Hier könnt ihr nun Widgets hinzufügen oder entfernen und natürlich auch sortieren.

Die Anzahl der Apps, die eigene Widgets mitbringen, ist derzeit noch gering. Ich denke aber, dass sich das zeitnah ändern wird.

Was kann ich mit meiner Pebble Smartwatch alles anstellen?

IMG_3116.JPG

Mein persönliches Mitbringsel aus New York war die Smartwatch Pebble. Lange hatte ich schon ein Auge darauf geworfen, aber die Lieferung nach Deutschland war riskant – der Zoll mochte das Teil nicht. Vor wenigen Wochen änderte sich dies nun, und man kann auch über die offizielle Seite die Pebble nach Deutschland liefern lassen. Aber warum mehr zahlen, wenn man den Dollar-Kurs noch mitnehmen kann? So hat mich die Pebble nur ca. 120€ statt den derzeit 160€ bei Amazon bezahlt.

Anders als andere Smartwatches hat die Pebble kein hochwertiges Farbdisplay, sondern eine Art e-Ink Display – so, wie man es auch vom Kindle her kennt. Aber dieses Display hat eine relativ gute Bildwiederholungsrate von ca 10 Bildern die Sekunde, womit man schon ein paar nette Animationen darstellen kann. Das komplette System kann mit eigenen Apps und alternativen Uhren, den sog. Watchfaces, erweitert werden. Dazu benötigt man nur die entsprechende Pebble App auf seinem Smartphone. Dort integriert ist dann eine Art AppStore, der die komplett kostenlosen Apps und Watchfaces anbietet. Mittels dieser IOS/Android App werden auch gleich die Daten mit der Uhr ausgetauscht, neue Apps und Watchfaces auf die 8 Slots der Uhr verteilt oder auch gelöscht. Außerdem kann man für Apps und Watchfaces, die noch zusätzliche Einstellungen benötigen, diese hier ganz einfach setzen.

Ihr hört richtig – die Pebble hat keinen wirklichen internen Speicher, sondern einfach nur Slots. Zunächst erscheint das ein bisschen wenig, aber mit der Zeit findet man die persönlichen Favoriten. Viele Apps laufen eigenständig (also nur auf der Uhr), einige benötigen aber auch Partner Apps auf dem Smartphone. In der Regel kosten diese dann Geld und es scheint mir so, als ob das teilweise auch überhaupt der Existenzgrund dieser zusätzlichen Apps ist.

Die Pebble hat übrigens bereits drei Watchfaces vorinstalliert, die von den 8 Slots ausgenommen sind. Ihr könnt also bis zu 11 Uhren gleichzeitig drauf haben. Mit dabei sind eine klassische Zeiger-Uhr, eine normale Digitalanzeige und die Anzeige in Worten (“quarter past eleven”) – letztere ist leider nur englisch. Per Custom-Firmware kann man die Standard Watchfaces übrigens entfernen. Dazu später mehr. Die Watchfaces sind prinzipiell auch nur Apps, sie können neben der Anzeige der Uhrzeit auch andere Funktionen erfüllen. Eine meiner Uhren zeigt z.B. die gelaufenen Schritte und die Zeiten, in denen ich sitze, gehe, renne oder Auto fahre, an.

Die Pebble Apps umfassen nützliche Helfer wie z.B. Währungsrechner (hat mir mit dem Dollar sehr geholfen), Navigationshilfen, Kompass, Stoppuhren, Schrittzähler, Spiele (ja, auch Flappy Bird gibt es hier 😉 ) usw.
Es gibt auch nette Helfer, die einfach nur eine URL anfragen und das zurückgeleitete JSON ausgeben. Damit habe ich mir z.b. einen persönlichen Abfahrtsmonitor für die für mich relevanten Busse und Bahnen erstellt.

IMG_3115.JPG

Das Ökosystem von Pebble ist großartig. Selbst die Entwicklung ist idiotensicher – man kann sie nämlich komplett über die Cloud erledigen. Über cloudpebble.net kann man direkt im Browser coden und muss sich nicht – wie in der Headline schön beschrieben – um Dinge wie Linux, Compiler, Python usw. kümmern. Man drückt einfach auf Play, die App/Watchface wird auf den Servern von Pebble kompiliert und anschließend automatisch auf deine eigene Pebble übertragen. Natürlich inkl. Debugging-Rückkanal im Browser. Ich habe bisher noch nichts vergleichbares und derart integriertes gesehen. Hier können sich viele Hersteller ne ordentliche Scheibe abschneiden!

Und als wäre das noch nicht genug gibt es auch die Möglichkeit, Custom-Firmwares auf dem Teil zu installieren. Unter pebblebits.com/firmware/ kann man sich seine Wunschfirmware zusammenklicken, bekommt die fertige Firmware als Download und kann diese dann direkt per Pebble App auf die Uhr spielen. Ich konnte das komplett auf dem Handy und ohne Rechner machen. Auch hier: das ist der Hammer!

Übrigens ist die Pebble eines der Produkte, für die man Plattformen wie Kickstarter und co. lieben sollte. Sie wurde durch Crowdfunding überhaupt erst möglich gemacht und zeigt nun, dass sie auch erfolgreich verkauft werden kann.

Mein Fazit: mit Smartwatches tut sich gerade ein sehr geiles neues Feld auf – und die Pebble macht da schon mal einen sehr guten Wurf. Ich weiß, dass es bereits deutlich bessere Smartwatches gibt – aber das Preis-Leistung Verhältnis IST hier das beste, was ich finden konnte. Und man darf nicht vergessen: die Pebble ist die derzeit einzige Smartwatch, bei der der Akku mehrere Tage durchhält. Nachdem Apple gestern nun seine neue “Apple Watch” vorgestellt hat, kann man annehmen, dass dieser Markt nun ordentlichen Zulauf bekommen wird. Damit werden auch die Preise im Allgemeinen fallen. Ich denke, dass die Pebble hier durch ihren deutlich anderen Ansatz und der damit verbundenen Sparsamkeit gut punkten wird. Von mir gibt es jedenfalls eine klare Kaufempfehlung!

[Test] Kingston MobileLite Wireless G2 (Akku, Router und Karten/USB Lesegerät)

20140725-192145-69705396.jpg

Für meine kommende Reise nach New York war ich mal wieder auf der Suche nach einem Gerät, mit dem ich von meinen Kameras bzw. Speicherkarten Sicherungen auf eine USB Festplatte machen kann. Ich möchte meinen Rechner nicht mit auf die Reise nehmen, aber eben auch nicht auf mein Backup verzichten. Nun gibt es ja Festplatten mit integriertem Kartenleser für genau solche Zwecke, die aber auch ihren Preis haben.

Der Kingston MobileLite Wireless G2 ist mir über viele Umwege förmlich entgegen gesprungen und nachdem ich mich etwas belesen hatte, bestellte ich das Teil. Doch was kann dieses multifunktionale Genie nun alles: es handelt sich zunächst einmal um einen mobilen SD Kartenleser, der auch über einen USB Port verfügt. Über beide Ports können alle auf den jeweiligen Datenträgern verfügbaren Daten über spezielle Apps von Kingston freigegeben werden – sprich, man kann per Handy oder Tablet direkt die Daten einlesen. Dazu muss man nur mit dem vom G2 eröffneten WLAN beitreten – wo wir auch schon bei der nächsten Funktion sind: das Teil ist auch ein mobiler Access Point und verfügt über einen RJ45 LAN Port. Damit kann man an Orten, an denen nur Internet per Kabel verfügbar ist, ganz einfach ein eigenes WLAN aufspannen. Alternativ kann sich der MobileLite G2 auch auf ein vorhandenes WLAN aufschalten und dieses repeaten.

Aber das ist noch nicht alles: ein kompatibler UMTS Stick vorausgesetzt, kann man damit auch unterwegs ein mobiles Internet-Signal weiter verteilen. Und zuguter letzt: das Teil ist auch noch ein simpler mobiler Akku, mit dem man alle möglichen Geräte per USB Kabel laden kann.

Der G2 selbst wird per Micro USB Kabel geladen. Mit einer vollen Akkuladung soll der kleine Freund gute 13 Stunden seinen Tätigkeiten nachgehen – was ich erst noch ausgiebig testen muss. Richtig gut finde ich aber, dass auch normale 2,5″ Magnetfestplatten im Akkubetrieb laufen. Leider scheint der g2 aber Probleme mit USB 3.0 Platten zu haben – zumindest konnte ich keine davon bei mir in Betrieb nehmen.

Der Hauptgrund, warum ich mir den MobileLite gekauft habe, ist wie gesagt meine kommende Reise nach New York. Da ich so wenig wie möglich an Equipment mitschleppen möchte, aber keinesfalls auf mein Backup verzichten kann, soll er mein kleiner Image Tank werden. Dazu hängt eine normale USB 2,5″ Festplatte dran, auf die ich dann per App meine SD Speicherkarten aus der Spiegelreflex kopieren kann. Vergleichbare andere Geräte kosten schnell mehrere hundert Euro, was ich nicht als gerechtfertigt ansehe. Mit ca. 50€ ist der G2 dann doch eine deutlich günstigere und zudem noch funktionsreichere Variante.

Neben der Kopierfunktion kann man natürlich auch sämtliche anderen Daten auf den angeschlossenen Datenträgern lesen. Hier scheinen besonders Android User im Vorteil zu sein, da sie Daten einfach in das lokale Dateisystem kopieren können. Bei iOS geht das eingeschränkt – die entsprechende App muss das “öffnen mit” Feature unterstützen. Pdfs z.b. lassen sich problemlos direkt in iBooks öffnen, Bilder wandern in die Bildgalerie des iPhones/ipads. Alle diese Aktionen führt man man der schlichten, aber doch funktionalen App von Kingston durch. Außerdem kann die App auch alle Bilder und Videos eures Handys / Tablets auf einen angeschlossenen Datenträger kopieren. Außerdem kann die kingston App einfache Aktionen wie Bilder anzeigen oder Videos abspielen auch gleich selbst erledigen. Bei Videos ist es aber z.b. Notwendig, dass diese in h264 vorliegen. Dieses Streaming direkt auf das Gerät wird mit bis zu 3 gleichzeitigen Teilnehmern erlaubt. Es können also gleichzeitig 3 Geräte verbunden sein und Videos ansehen.

Ein kleiner Hinweis: das WLAN das g2 ist im Werkszustand unverschlüsselt. Im Setup wird man gleich darauf hingewiesen und kann ein entsprechendes wpa2 Kennwort vergeben und auch gleich die Verbindung zu einem anderen WLAN für den Repeater Modus einrichten.

Apples neue Programmiersprache Swift

Es ist mir kaum möglich, die Begeisterung über Apples neue Programmiersprache Swift in Worte zu fassen – natürlich neben den vielen anderen großartigen Neuerungen, die am Montag auf der WWDC angekündigt wurden.

Objective C war für mich schon immer ein Problem – als php, Java und c# Entwickler wirkte es einfach nur furchtbar kryptisch und umständlich. Alleine so Dinge wie C-Headerfiles waren für mich einfach nur 80er. Mit Swift wurde nun so viel richtig gemacht – allem voran die ziemlich einfache und sofort verständliche Syntax. Und natürlich die massive Einsparung von Code.

Bereits kleine Testapps sind schnell zusammengebaut und gehen deutlich einfacher von der Hand als mit Objective C. Ich bin sehr gespannt, wie sich das ganze bei umfangreicheren Programmen verhält. Apple hat hier auf jeden Fall den richtigen Weg eingeschlagen.

[Quicktip] Mit iPhone / iPad / iOS Emails oder SMS an Gruppen versenden

Eigentlich sollte eine derartige Anforderung kein Problem für ein modernes Betriebssystem bzw. eine Email App sein, aber scheinbar kam bei Apple niemand auf die Idee, dass man evtl. gern Emails an Gruppen bzw. an mehrere Leute versenden möchte.

Die Lösung ist leider nicht ohne extra App möglich, aber das Ergebnis zählt: mit der App “Groups” kann man sich Gruppen erstellen und an diese dann gebündelt SMS oder Emails versenden. Das funktioniert auch wunderbar und die App ist obendrein kostenlos.

Groups (AppStore Link) Groups
Hersteller: Qbix, Inc.
Freigabe: 4+
Preis: Gratis Download

iOS Facebook Apps saugen Akku leer

Vor ein paar Tagen geisterten ein paar Artikel die die Netzwelt, die darüber Auskunft erteilten, dass die Facebook Apps unter iOS (dazu zählen auch Messenger und der Seitenmanager) ziemlichen Strombedarf verursachen. Nachdem mich dieses Thema schon länger nervt – nämlich ein sehr schwankender Verbrauch, aber nie ein hinauskommen über 18 Stunden Betrieb, teilweise sogar nur 10-12 Stunden – war ich natürlich gleich heiß und hab es ausprobiert. Und siehe da, es stimmt. Bereits am nächsten Tag hielt mein Akku locker durch, sodass ich erst einen Tag später laden musste. Sprich, im Gegensatz zu nicht mal 18 Stunden komme ich nun auf bis zu 30 Stunden.

Zu meinem Nutzungsschema: ca. 2 Stunden am Tag Musik oder Podcasts hören plus ca. 2-4 Stunden Surfen oder lesen. Alles in allem sicher kein Heavy User. Trotzdem freue ich mich, dass ich nun endlich unbesorgt über den Tag komme.

Warum tritt dieses Problem eigentlich auf? Die Facebook Apps sind so gebaut, dass sie alle 10 Sekunden “aufwachen”, irgendwas tun und sich dann wieder schlafen legen. Damit umgehen sie Apples eigentlich sehr gute Stromsparmechanismen massiv, was dann im stark erhöhten Verbrauch mündet. Whatsapp ist übrigens auch so ein Kandidat, auch wenn sie nicht ganz so aggressiv wie Facebook vorgehen. Ich verstehe hier ehrlich gesagt nicht, warum Apple derartige Apps überhaupt im Store zulässt. Bis dato habe ich tatsächlich angenommen, dass der Akku vom iPhone so schlecht ist.

Da Facebooks Webapp zumindest für mich deutlich stabiler als die native App ist, komme ich soweit auch ganz gut ohne zurecht. Einzig die nun fehlenden Push Benachrichtigungen trüben das Gesamtbild etwas.

Ehrlicherweise muss man aber sagen, dass selbst 30 Stunden ein lächerlicher Wert sind. Ich hätte kein Problem damit, wenn mein iPhone etwas dicker wäre, dafür aber auch mal mehr als 2 Tage durchhalten würde. Mittlerweile habe ich das Gefühl, dass selbst wenn die Technik besser wird, die Hersteller die Geräte lieber dünner machen und damit wieder gleich bleibende Akku Laufzeit in Kauf nehmen. Eine sehr ungünstige Entwicklung…

Ps: die Akku Problematik soll übrigens auch bei den Androiden Freunden auftreten. Falls ihr da also auch Schwächen beim Akku habt, probiert es mal aus….

Das neue Ad-Tracking unter iOS 6 und wie man es deaktiviert

Oh Apple, warum lässt du dich auf sowas ein? Du ermöglichst Werbetreibenden zu sehen, welche Dinge ich mir so im Netz anschaue (zumindest anonymisiert), damit diese geziehlt Werbung für mich schalten können. All dies wäre nicht schlimm, wenn du dies wenigstens standardmäßig deaktivieren bzw. nachfragen würdest – als absolutes Minimum aber den entsprechenden Menüpunkt an der korrekten Stelle ablegen würdest (nämlich unter dem Menüpunkt “Datenschutz” und nicht etwa in den Systeminformationen!). All dies tust du nicht, daher informiere ich nun alle iOS 6 User darüber 😉

Also, folgende Schritte sind notwendig, solltet ihr das neue Ad Tracking auf eurem Gerät deaktivieren wollen:

Wer noch ein bisschen mehr darüber erfahren möchte, der kann sich folgenden Artikel zu Gemüte führen:
http://www.businessinsider.com/ifa-apples-iphone-tracking-in-ios-6-2012-10?op=1

iPad Stift

20120423-200601.jpg

Krass, wie süchtig DrawSomething macht. Um besser zeigen zu können, welches Wort gemeint ist, habe ich mir den iPad Stift von Kensington gekauft. Für ca. 10-15 € bekommt man einen Stift, der an seiner Spitze eine flexible Gumminoppe hat. Und diese wird vom iPad und allen anderen Geräten mit kapazitivem Touchscreen als Fingerersatz angenommen. Man kann das Gerät damit komplett bedienen, aber eben auch wesentlich besser zeichnen und Handschriften erstellen. Für Intensivnutzer wie mich ein muss!

Was Facebook falsch macht

Seit einiger Zeit fallen mir einige Dinge an Facebook auf, die mir gar nicht so recht gefallen wollen – und die ich vor allem nicht nachvollziehen kann. Die Firma lebt davon, dass sich seine Nutzer wohl fühlen und so viel Zeit wie möglich im Portal verbringen. Drei Dinge zeigen mir aber, dass sie nicht alles dafür tun.

Punkt 1 – Automatische Filterung
Der erste und zugleich für mich schlimmste Punkt ist die kürzlich eingeführte Auto-Filterung. Dieser Mechanismus soll dafür sorgen, dass ich nur noch die für mich interessanten Beiträge in meiner Timeline sehe – alles, was nicht so wichtig ist (z.B. weil ich bei dem Nutzer keine Kommentare hinterlassen habe oder die Beiträge haben kaum Likes oder Kommentare…), wandert weit nach unten bzw. wird gar nicht erst angezeigt. Bei der normalen Benutzung fällt dies gar nicht weiter auf – ruft man allerdings mal gezielt die Profile seiner Freunde auf, tauchen auf einmal mehr Beiträge auf, die man vorher nie gesehen hat. Das Feature kann man zwar über die “Sortieren” Funktion deaktivieren, allerdings habe ich das Gefühl, dass sich kaum etwas in der Reihenfolge der Beiträge ändert und außerdem muss ich diese Einstellung nach jedem Login erneut durchführen…

Dies ist in meinen Augen ein völlig unnötiger und zugleich noch viel zu radikaler Einschnitt in mein Nutzererlebnis. Ich habe keine 1000 Freunde, die im Minutentakt Statusmeldungen hinterlassen. Ich kann also sehr gut selbst filtern, was ich sehen will und was nicht. Facebook gibt mir auch wunderbar die nötigen Tools dafür an die Hand. Meinetwegen können die Jungs dieses Feature ja einbauen und evtl. würde ich sogar Verständnis aufbringen, wenn es standard-mäßig aktiviert ist – ich möchte aber in jedem Fall eine dauerhafte Möglichkeit haben, diese Funktion komplett abschalten zu können.

Aus dem Gesichtspunkt von Facebook ist mir auch nicht ganz klar, welchen Vorteil die Firma dadurch hat. Je mehr Statusmeldungen ich sehe, desto länger verweile ich und desto größer wird die Wahrscheinlichkeit, dass ich Werbung anklicke. So sehe ich das zumindest…

Punkt 2 – die fehlende “teilen” Funktion
Immer öfter bemerke ich, dass bestimmte Statusmeldungen nicht mehr “teilbar” sind. Vor allem passiert dies bei Meldungen, die von anderen Apps gepostet werden. Was soll das? Die Teilen-Funktion ist ein essentielles Feature von Facebook, welches auch stark dazu geführt hat, dass sich so viele Nutzer eingefunden haben. Wäre diese Möglichkeit nicht da, würden sich viele interessante Meldungen gar nicht bis wenig stark verteilen und so viele Nutzer erreichen. Es ist mir schleierhaft, warum das Teilen-Feature kaum Priorität mehr zu haben scheint.

Punkt 3 – die mobilen (iOS) Apps
Intensiv nutze ich die mobilen Apps nur in der iOS Version auf dem iPhone und auf dem iPad – die Android Variante habe ich nur mal kurz angetestet, da es auch nicht mein primäres System ist. WAS BITTE HABEN DIE SICH DABEI GEDACHT? Diese App ist eine der schlechtesten, die sich auf meinen Geräten befinden. Ständige Abstürze, überhaupt keine Teilen-Funktion (egal, bei welcher Art von Post), extrem schlechte Performance und jede Menge Bugs. Ich bin selbst in der Mobile-App Entwicklung tätig und würde mich schämen, so eine App SO lange ohne ein behebendes Update auf dem Markt zu haben. Man sollte bedenken, dass ein Großteil der Facebook Nutzung mobil abläuft – zumindest bei mir ist das so. Ausschließlich am Rechner würde Facebook für mich auch nicht so viel Sinn ergeben.

Wie im letzten Jahr bekannt wurde, war auch nur ein einziger Entwickler mit der App betraut – und der hatte sich dann klammheimlich verabschiedet. Nach einiger Zeit kamen dann ein paar langersehnte Updates und die App wurde halbwegs benutzbar. Aber sie ist noch immer um Längen vom angenommenen Standard entfernt.

Was sich der liebe Herr Zuckerberg dabei denkt weiß wohl nur er selbst – ich habe dafür jedenfalls überhaupt kein Verständnis.

Das erstmal zu meinen drei hauptsächlichen Kritikpunkten.

Facebook ist trotzdem eine meiner Lieblingsseiten – denn die Integration über verschiedene Apps und die vielfältigen Möglichkeiten der Interaktion (Jabber-Chat FTW!) mit meinen Freunden ist ungemein praktisch. Allerdings muss ich zugeben, dass Google+ mittlerweile alle Features bietet, die ich von einem Social Network erwarte – bis auf meine Freunde, die hauptsächlich an Facebook hängen. Sollte sich dies zeitnah ändern, würde ich wohl schnurstracks zu Google wechseln.

Wie seht ihr das? Was stört euch an Facebook, was gefällt euch?