Warum hypt Apple die Videotelefonie mit FaceTime so sehr?

Schon in der Keynote war deutlich zu spüren, dass FaceTime das Zugpferd für das iPhone 4 sein wird. Als ich die Vergleiche mit Star Trek und anderen Ski-Fi Streifen hörte und dabei die pure Begeisterung in Steve Jobs‘ Augen sah, konnte ich dies nicht so wirklich nachvollziehen und tat es mit einem Schmunzeln ab: „Merkwürdiges Marketing für ein Feature, dass es schon einige Jahre gibt.“ Insbesondere die Beschränkung auf WLAN stieß mir übel auf. Über WLAN ist Videotelefonie kein Kunstwerk und hat nur einen einschränkten Nutzen. Wo hat man denn schon WLAN zur Verfügung, wenn nicht gerade zu Hause oder bei Mc Donald’s sitzt? Der eigentlich Clou wäre doch die Möglichkeit, FaceTime immer und überall nutzen zu können, egal über welchen Funkstandard man gerade verbunden ist. EDGE fällt da wegen dem geringen Datendurchsatz schon aus technischen Gründen weg. Über 3G/UMTS/HSDPA ist rein technisch die Videotelefonie möglich und auch interessant. Doch leider machen hier die Mobilfunkbetreiber derzeit noch einen gewaltigen Strich durch die Rechnung, da man, je nach Vertrag, nur ein gewisses Kontingent an Transfervolumen inklusive hat, bis Down- und Upstream gedrosselt werden und FaceTime auch über 3G keinen Spaß mehr machen dürfte.

Mit dem ersten Werbespot für das iPhone 4 drückt Apple mit den rührenden FaceTime-Szenarien mächtig auf die Tränendrüse. Heute machten 4 weitere Spots im Internet die Runde, die ebenfalls ausschließlich auf FaceTime-Momente setzen. Alle Welt stürzt sich auf das grandiose Display und erwähnt FaceTime mehr nachrangig in den Testberichten. Und das ist in meinen Augen auch nachvollziehbar. Denn immerhin kann mein altes Sony Ericsson K850i schon Videotelefonie über UMTS.

Ist das eiskalt berechnetes Marketing?

Da Apple sich ja offenkundig von Sex distanziert, müssen sie andere Themen für die Vermarktung heranziehen. Und da scheint das junge Liebesglück mit dem Ungeborenen, die traute Familie mit dem Kleinkind, die harmonische Familie mit den Großeltern oder einfach augenscheinliche Alltagssituationen noch am besten bei der breiten Masse anzukommen. Emotionen sprechen die Massen an. Was ist denn eigentlich mit dem unvergessliche Urlaub und den süßen Haustieren?

Wie hätte Apple das tolle neue Display großartig vermarkten sollen? Diese kleinen technischen Details sprechen nur die Geeks und Nerds an. Und die kaufen sich das Gerät doch so wie so.

Ein weiterer gravierender Kritikpunkt an FaceTime ist die Einschränkung, dass es ausschließlich von iPhone 4 zu iPhone 4 funktioniert. Ich werde in der näheren Zukunft vermutlich in meinem Freundes- und Bekanntenkreis nur ganz wenige Personen haben, mit denen ich FaceTime verwenden könnte und noch weniger, mit denen ich es auch halbwegs regelmäßig nutzen möchte. Natürlich werden sich dank des offenen Standards bald einige weitere Geräte dazugesellen, die FaceTime sprechen und auch die neuen iPods werden für FaceTime aufgerüstet werden. Doch bezweifle ich, dass es sich wirklich so durchsetzen wird, wie Apple es momentan präsentiert.

Ich bin sehr gespannt, wie es mit diesem „neuen“ Gimmick weitergeht. Gegen eine weite Verbreitung hätte ich jedenfalls nichts einzuwenden, sofern ich in naher Zukunft FaceTime so benutzen kann, wie derzeit die einfache Telefonie.

Das Weblog PHP Gangsta feiert ersten Geburtstag

Nach dem 500. Artikel auf PhpHatesMe.com gibt es nun in einem weiteren deutschsprachigen PHP-Weblog etwas zu feiern: Der Blog feiert 1. Geburtstag! Mit großer Verlosung!

Auf das Weblog von Michael Kliewe bin ich erst durch das Lesen des Weblogs von Nils Langner gekommen.
Während es beim Nils mehr um generelle Themen und Prinzipien geht, ist Michael in der Regel etwas mehr praxisorientiert und biete gerne konkretere Lösungsansätze bei der Entwicklung mit PHP.

Glückwunsch, Michael! Ich hoffe, es geht noch lange so weiter. Danke für die deine Artikel.

Weiterführende Links zum Thema

Meine eigene kleine ‘Telekom und das iPhone 4′ Story

Auch ich bin als bekennender Apple Fanboy mehr oder weniger dem iPhone 4-Wahn verfallen. Mein iPhone 3G kommt langsam aber sicher an seine Grenzen was Speicherkapazität angeht und viele Apps laufen einfach nicht mehr rund, weil die Hardware nicht genügend Power hat. Da kommt das neue iPhone für mich wie gerufen.

Zwar läuft mein aktueller Vertrag (Complete-M der ersten Generation) lange genug, um ohne Strafgebühr eine Vertragsverlängerung auf zwei Jahre machen zu können, jedoch möchte ich mich nicht weitere zwei Jahre an die Telekom binden. Gründe gibt es dafür sicherlich viele. Für mich persönlich ist die Zweijahresbindung an sich ein absolutes No-Go. In zwei Jahren kann sich einfach zu viel an den Tarifstrukturen ändern. Insbesondere in Hinblick auf die eventuell im November endende Exklusivbindung zwischen Telekom und Apple dürfte sich bei den Tarifen dann einiges ändern und ich möchte dann nicht noch 1 1/2 Jahre an einen ungünstigen Tarif gebunden sein. Zu guter letzt käme dann im kommenden Jahre ein Upgrade auf das neue iPhone dann nicht mehr in Frage.

Aber wenn nicht via Telekom, wo sollte ich mir das iPhone 4 sonst beschaffen?
Ich habe keine Bekannten oder Verwandten in Großbritannien und auch keine in Frankreich, wo das iPhone 4 ohne Vertragsbindung verkauft wird. Kurzzeitig kam mir der Freight Forwarder Borderlinx in den Sinn. Jedoch verwarf ich diese Beschaffungsmöglichkeit sofort wieder, da Borderlinx von Apple USA für die Bestellung eines iPads ausgeschlossen wurde. Warum sollte das in UK oder Frankreich für das iPhone anders sein?

Aber dann fand ich in meinem RSS-Reader zwei interessante Artikel. Und zwar einmal beim fscklog und einmal im Blog hombertho.de. In beiden Fällen wurde ein iPhone 4 in UK via Borderlinx bestellt und eins wurde bereits zugestellt. Also habe ich mir kurzerhand eine Borderlinx Adresse generieren lassen, die Kreditkarte meiner Eltern ausleihen lassen und ein schwarzes iPhone 4 32GB im Apple Store UK bestellt. Der Liefertermin ist auf den 20. Juli datiert.

So weit, so gut…

Damit ich beim Eintreffen meines iPhone 4 auch gleich loslegen kann, habe ich einige Tage nach der Bestellung mit meinem iPhone 3G bei der 2202 angerufen, um mir eine MultiSIM in Form einer MicroSIM zu bestellen. Die werte Dame von der Telekom Hotline erklärte mir dann, dass doch beim neuen iPhone bereits eine MicroSIM dabei ist. Nach ein wenig Herumgerede hat sie dann aber verstanden, dass ich es im Ausland bestellt habe und meinte, dass es kein Problem sei, eine MicroSIM zu ordern. Ich hätte eigentlich damit gerechnet, dass sie mir sagt, dass es nicht möglich ist, ohne eine Verlängerung eine passende SIM für das iPhone zu bekommen. Da war ich dann positiv überrascht, wie unkompliziert dass dann doch geht.

Die Telekom Mitarbeiterin teilte mir noch mit, dass meine aktuelle SIM durch die neue MicroSIM als Hauptkarte ersetzt wird und die zusätzliche „große“ SIM die MultiSIM sein wird.

An dieser Stelle hätte ich eine kurze Denkpause einlegen sollen. Das habe ich aber leider nicht getan… Denn während mir die werte Frau noch die Vorteile einer Vertragsverlängerung auf weitere zwei Jahre erklärte und ich ihr sagte, dass ich den Vertrag lieber über die automatische Verlängerung um ein Jahr verlängern möchte, brach plötzlich die Verbindung ab.

Ich schaute auf mein iPhone und sah in der linken oberen Ecke des Displays: „KEIN NETZ“. Als auch nach einem zweiten Reboot des Gerätes immer noch kein Netz zur Verfügung stand, wurde mir ganz langsam klar, dass die SIM schon gesperrt wurde.

Nun warte ich also auf die neuen Karten und hoffe, dass ich die beiden Karten getrennt von einander aktivieren kann und dies nicht ausschließlich über die Hauptkarte passieren muss. Denn mein iPhone wird erst am 20. Juli an Borderlinx geliefert und braucht dann noch den ein oder anderen Tag, um endlich bei mir anzukommen.

Ein wenig verstört beschwerte ich mich dann bei @Telekom_hilft. Nach einiger Zeit bekam ich dann eine Antwort, die mich nicht so ganz zufrieden stellte. Aber wie soll man sein Problem auch treffend in 140 Zeichen packen?

Telekom_hilft_conversation.png

Einige Stunden darauf bekam ich dann eine Direct Message von @Telekom_hilft mit der Bitte, meine Kundendaten per E-Mail zu schicken, damit sie sich den Fall noch einmal genauer anschauen können.

Telekom_hilft_dm.png

Die E-Mail mit meinen Kundendaten und einer kurzen Zusammenfassung habe ich dann an die genannte Adresse geschickt. Ein Feedback dazu steht leider noch aus. Im Moment sieht es jedenfalls danach aus, als hätte ich von Freitag bis Montag (vermutlich sogar bis Dienstag) keine nutzbare SIM. Sobald ich neue Infos habe, werde ich diesen Artikel updaten.

UPDATE
Am heutigen Montag hat sich @Telekom_hilft per E-Mail und auch per Twitter bei mir gemeldet. In der E-Mail stand nichts neues:

„Ihre Karte ist unterwegs und wird heute, allerspätestens morgen bei Ihnen eintreffen.“

Über Twitter bekam ich dann nach einer Rückfrage meinerseits die Information, dass die Tage, an denen mir keine funktionsfähige SIM zur Verfügung stand, als Gutschrift in der nächsten Rechnung angerechnet werden.

Telekom_hilft_reply.png

Als ich heute nach Hause kam, lagen dann auch tatsächlich zwei Umschläge im Briefkasten: in dem einen meine neue MicroSIM und in dem anderen meine MultiSIM. Nach vorsichtigem Herausbrechen der SIM aus der Plastikkarte konnte ich die MultiSIM problemlos mit der zugehörigen PIN aktivieren. Somit kann ich endlich wieder unterwegs twittern und Carcassone spielen!

UPDATE 2: Order Shipped
Mein iPhone sollte eigentlich am 16.07. in den Versand gehen und spätestens am 20.07. bei Borderlinx ankommen. Heute habe ich eine Versandbestätigung mit der Info bekommen, dass meine Bestellung spätestens am 16.07. bei Borderlinx eintreffen soll.

UPDATE 3: Endlich angekommen
Nach 10 Tagen im Lager von Borderlinx und weiteren 1,5 Tagen Transportzeit, ist am 28.07. mein iPhone endlich bei mir angekommen.

Der 500ste Artikel auf phphatesme.com

Seit einigen Monaten bin ich regelmäßiger Leser der Webseite phphatesme.com, einem Blog, das sich weniger mit Howtos oder Tutorials beschäftigt, sondern mehr mit dem Software-Engineering Aspekt in der PHP-Welt. Die Artikel sind immer sehr freundlich geschrieben und in der Regel so provokant formuliert, dass man sich gerne in den Kommentaren beteiligt. Dieses Blog lebt bei den meisten Artikeln von den sehr guten und unüblich langen Kommentaren.

Gerade wurde der 500ste Artikel veröffentlicht, was der Betreiber zum Anlass genommen hat, ein Gewinnspiel mit tollen Preisen zu starten. Wer daran interessiert ist, der kann die Details im zugehörigen Blogartikel nachlesen.

Glückwunsch zum 500sten Artikel und macht weiter so!

Weiterführende Links zum Thema

A possible fix for a bottleneck in piwik used on high traffic sites

The last weeks I have been confronted with a big performance problem on a mid- to high-traffic website using Piwik to track the user behaviour. The MySQL server permanently had a load of over 90 and the mysqld process consumed permanently 99% CPU time.

The system runs as a single virtual VMware machine on quite good hardware. Only the Apache webserver with PHP 5.2 and MySQL 5.0 are running on this machine.

Most of you may now say something like: „Ok, you are wondering why your MySQL server runs out of performance on a virtual machine? Get a new job…“ But there are some reasons for that. And no, the solution was not moving the system from the virtual machine to a physical one.

Looking at the output of mytop showed me that mostly one kind of queries ran very slowly. The first thing I did was tweeking the configuration files of the MySQL server an the Apache webserver. After that, „show status“ looked much better but mysqld still comsumed 99% CPU time and the load was still over 90.

Even google couldn’t give me any solutions or hints. The only thing that I found out was, that many other people have the same problem with much better hardware. So it seemed that the performance problem comes from the Piwik application.

Knowing that tuning the application instead of tuning the server’s configuration files in the backend shows up the best results in most cases I took a closer look at the database structure (exploring the PHP code of piwik didn’t make sense to me).

As I mentioned before mytop showed me that the slow queries came all from the same source:

SELECT idaction FROM piwik_log_action WHERE name = 'my/site/has/a/long/uri/?s=af3729febc827382424' AND type = 3

The Piwik javascript block has been added to a site with a long URI where the unique part of the URI (the user session ID) started after character 15 of the URI string. Most entries in piwik_log_action.name look like the following:

‚my/site/has/a/long/uri/?s=af3729febc827382424‘
‚my/site/has/a/long/uri/?s=0ca629febb623893883‘
‚my/site/has/a/long/uri/?s=9ceff388edb34093490‘
‚my/site/has/a/long/uri/?s=5bbefef672beaa82839‘
‚my/site/has/a/long/uri/?s=55392fea00bccde0392‘

The index on the coresponding table field was set to 15. Adding a new index with a size of 50 and dropping the old one solved the problem. The server now idles with a load of 0.25 and the mysqld process now comsumes about 8% of the CPU time instead of 99%.

Here is the solution:

The original create table statement looks like this:

CREATE TABLE `piwik_log_action` (
  `idaction` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `type` tinyint(3) unsigned default NULL,
  PRIMARY KEY  (`idaction`),
  KEY `index_type_name` (`type`,`name`(15))
) ENGINE=MyISAM DEFAULT CHARSET=utf8

To add the new index you just type the following command in the MySQL shell:

CREATE INDEX index_type_name2 ON piwik_log_action (type, name(50));

The new table structure should then look like:

CREATE TABLE `piwik_log_action` (
  `idaction` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `type` tinyint(3) unsigned default NULL,
  PRIMARY KEY  (`idaction`),
  KEY `index_type_name` (`type`,`name`(15)),
  KEY `index_type_name2` (`type`,`name`(50))
) ENGINE=MyISAM DEFAULT CHARSET=utf8

To remove the old index just type the following in your MySQL shell:

DROP INDEX index_type_name ON piwik_log_action;

The final table structure should then look like:

CREATE TABLE `piwik_log_action` (
  `idaction` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `type` tinyint(3) unsigned default NULL,
  PRIMARY KEY  (`idaction`),
  KEY `index_type_name2` (`type`,`name`(50))
) ENGINE=MyISAM DEFAULT CHARSET=utf8

Piwik can so be used for mid- and high-traffic sites on a virtual machine without any problem. But be aware: adding a new index on a table with many entries takes some time. While the index is set up by MySQL the table will be locked! So don’t do that while your site has much traffic.

Kudos to Manuel Kiessling from MyHammer AG for providing the crucial hint!

redbrick (12.11.2009 23:00:51)

@Anthon: Thanks for your feedback. I know that this problem will be solved in the upcoming version. But many people have this problem and I could not find any (short term) solutions. And I think this „hack“ is OK as long as the new version is not released. I hope the changes will not raise problems during the upgrade process.

I am glad to read that problem is already fixed in the SVN and I am looking forward to the upcoming release!

Anthon Pang (12.11.2009 19:02:19)

This is a known problem (see forum or trac).

It’s already fixed in svn, Watch for the upcoming 0,5 release.

Manuel Kiessling (12.11.2009 14:55:12)

Offenbar haben sie es schon auf der Uhr:
http://dev.piwik.org/trac/ticket/708

Eine kurze Apple-Support-Story

Vergangenen Samstag habe ich mir spontan im Media Markt eine MobileMe Lizenz zugelegt. Die Erstellung des MobileMe-Accounts war unkompliziert und ging sehr leicht von der Hand. Gerade als ich mit der Einrichtung fertig war und die Synchronisation auf meinem iPhone und MacBook Pro einrichten wollte, kam es aber zu Problemen. Weder iPhone noch Laptop wollten sich am MobileMe-Dienst anmelden. Dann fiel mir auf, dass ich mich beim Eintippen des Accountnamens vertippt hatte – und zwar bei der Registrierung. Also habe ich die Supportdokumente bei Apple mal durchsucht, ob es eine Möglichkeit gibt, den Accountnamen zu ändern (die Hoffnung stirbt ja zuletzt). Wie befürchtet, kann man den Login nicht so einfach ändern – was ja auch durchaus nachvollziehbar ist.

Wenn man eine kostenlose Probemitgliedschaft hat, dann kann man einfach seine Daten sichern, den alten Account löschen und einen neuen Account anlegen. Ähnlich funktioniert es auch, wenn man eine Kreditkarte hat und darüber bezahlt hat. Dann hat man sogar zwei Möglichkeiten. Zum einen kann man einen zweiten vollwertigen Account anlegen, den man dann erstmal bezahlen muss und hofft darauf, dass der Apple-Support nach der Löschung des alten Accounts das Geld gutschreibt, oder man legt ebenfalls einen Probeaccount an und lässt den alten Accounts löschen und den neuen durch den Support aufwerten.

Aber wenn man einen Code zur Aktivierung der Vollmitgliedschaft verwendet hat und keine Kreditkarte besitzt, dann ist das ein wenig problematischer, da man keinen neuen Account anlegen kann, ohne seine Kreditkartendaten zu hinterlassen. Ich habe dann einfach mal den Web-Supportchat gestartet und dem Supporter mein Problem erklärt. Ganz anders als erwartet, oder besser gesagt, ganz anders als ich es von Supportern gewohnt war, hat der Mensch am anderen Ende der Leitung wirklich versucht mir zu helfen, ohne mir irgendwelche Textbausteine an den Kopf zu geworfen. Nach einigen simplen Anweisung und der Beantwortung einiger Sicherheitsfragen um meine Identität zu bestätigen, hat der Supportmitarbeiter den von mir zuvor verwendeten Aktivierungscode reaktiviert. Somit konnte ich mit dem bei Media Markt gekauften Key einen neuen Account mit dem richtigen Loginnamen anlegen.