Getting started with Faye Pub/Sub Messaging on NodeJS

Faye ist ein Publish-Subscribe Messaging System, das auf dem Bayeux-Protokoll basiert und von James Coglan für NodeJS und Ruby implementiert wurde. Um ein Minimalsystem aufzusetzen sind nicht viele Schritte nötig und von dort sind jegliche Weiterentwicklungen denkbar, aber das hängt natürlich von eurem Gebrauch ab.

Falls ihr NodeJS noch nicht installiert habt, holt es jetzt nach.

Publish/Subscribe

Wer mit den Keywords nicht anfangen kann, sollte sich fix den passenden Wiki-Artikel durchlesen. Kurz gesagt: Pub/Sub arbeitet mit Channels auf die man Subscribed. Die auf einem vorhandenen Kanal gePublishten Nachrichten, werden an alle subscribten Clients weitergeleitet.

Faye Server

Zur Koordination der Clients, die sich auf die verschiedenen Kanäle subscriben, wird ein Faye Server benötigt. Dieser übernimmt die vollständige Organisation, welcher Client die jeweiligen publishten Nachrichten bekommen. Der Server kann auf zwei Arten erstellt werden und ist für die Clients unter dem angegebenen Mountpoint zu finden (siehe Faye Client). In diesem Beispiel ist der Mountpoint jeweils /faye.

Standalone

var faye = require('faye');

// Faye Server
var chat = new faye.NodeAdapter({mount: '/faye', timeout: 45});
chat.listen(8000);

Parallel zu einem vorhanden Webserver

var faye = require('faye');
var http = require('http');

// Faye Server
var chat = new faye.NodeAdapter({mount: '/faye', timeout: 45});

// Handle non-Bayeux requests
var server = http.createServer(function(request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.write('Hello, non-Bayeux request');
  response.end();
});

chat.attach(server);
server.listen(8000);

Server starten

Soll der Server auf einem Port kleiner als 1024 laufen, muss dieser mit sudo gestartet werden … ganz klassisch.

[sudo] node nameMeinesFayeServers.js

Faye Client

Ich beschreibe kurz was nötig ist, um einen rudimentären Browserclient zu starten. Erstellt eine neue HTML-Datei. Im ersten script-Tag wird die Faye-Library vom Server geladen, um die Funktionen für den Client bereitzustellen. Per JavaScript wird ein Client auf den Mountpoint des Server erstellt. Der Client kann nun auf die gewünschten Channels subscriben und publishen. In meinem Beispiel published er in den messages-Channel und startet ein Alert-Dialog, sobald er eine Nachricht von diesem empfängt.

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Faye Client</title>
    <script type="text/javascript" src="http://localhost:8000/faye.js">
    </script>
    <script type="text/javascript">
      var client = new Faye.Client('http://localhost:8000/faye');
      client.subscribe('/messages', function(message) {
        alert('Got a message: ' + message.text);
      });
      client.publish('/messages', {text: 'Hello world'});
    </script>
  </head>
  <body>
  </body>
</html>

Faye Client testen

Einfach die HTML-Datei im Browser öffnen um einen Client zu starten. Damit der Alert-Dialog hochkommt, einfach einen zweiten Client (die Datei ein zweites Mal öffnen) starten.

Eine ausführlichere Dokumentation zu Faye bekommt ihr auf dessen Projektseite. Mein Beispielcode ist komplett an den Code aus den Docs angelehnt. Daher solltet ihr bei Problemen keine Orientierungsschwierigkeiten haben.



Terminal in Ubuntu per Rechtsklickmenü öffnen

Nach meinem viermonatigen Rundflug mit der Xfce-Debianedition von Linux Mint bin ich wieder bei Ubuntu angekommen. Jedoch vermisste ich die Option, ein Terminalfenster direkt aus dem Kontextmenü (Rechtsklick) eines Ordners zu starten, das dann direkt in diesem Pfad landet.

Mit

STRG + ALT + T

kann standardmäßig ein Terminal für den persönlichen Ordner gestartet werden, jedoch musste ich mich immer mit cd ... durch die Hierarchien winden.

Terminalfenster im Kontextmenü

Um den Eintrag einzurichten, sind nur zwei Schritte nötig:

apt-get install nautilus-open-terminal
nautilus -q

Fortan ist der Eintrag on Board, really easy.



onHover auf einen Smartphone mit Touchscreen? Sony Xperia sola!

Nachdem es im Blog in letzter Zeit etwas ruhiger geworden ist, meldet sich Marcus Korrespondent von der aktuellen droidcon2012 aus Berlin. Um 16 Uhr war am heutigen Tag ein “Special Event” angekündigt. Meine winzige Hoffnung auf kostenlose Geräte für die Entwickler erfüllte sich leider nicht, es folgte eine interessante Produktvorstellung von Sony.

Hover auf einem Touchscreen

Wer zum Einschlafen gerne die Androiddokumentation liest, ist vielleicht schon auf die Klasse onHoverListener gestoßen und sich gewundert wann diese als Anwendungsfall finden soll. Während die allgemeinen Spezifikationen des Xperia Sola eher Mittelklasse sind, ist die “floating touch” genannte Funktion zum Auslösen genau dieser Klasse durchaus bemerkbar.  Die Ingenieure haben einen Touchscreen entwickelt, der auch schon vor dem eigentlichen Berühren den Finger erkennt und so die Position an das Gerät übermitteln können. Angeblich bei guten Bedingungen bis zu einem Zentimeter entfernt. Leider erkennt man nur einen “Berührungspunkt”, Multitouch gibt es erst bei einer echten Berührung mit dem Bildschirm.

Anwendungsfall

Nach der anfänglichen Freude über diese Innovation stellt sich die Frage welchen Nutzen diese Funktion habe. Ich persönlich kann mir noch keinen rechten Anwendungsfall vorstellen. Als kleine Nebenbemerkung: die Klasse gibt es erst seit Ice Cream Sandwich (Android 4.0), das Xperia sola wird aber noch mit Gingerbread (2.3) ausgeliefert. Das heißt, bis auf den eigens angepassten Browser hat es bis zum versprochenen Update keinerlei Funktionalität.

Einen echten Nutzen hat der Sony Ingenieur dann aber doch aufgedeckt. Mit der floating-touch-Technologie sei es möglich, auch in kalten Wintermonaten und normalen Handschuhen das Smartphone zu benutzen. Auch wenn es jetzt dem Frühling entgegengeht, für mich ist es ein sehr wünschenswertes Feature!



Coloured Gnome Terminal

Im Terminal von Ubuntu werden standardmäßig keine Farben für den Text verwendet. Die Schrift ist komplett weiß und der Hintergrund hat das typische Ubuntu-Lila. Unter LinuxMint ist mir aufgefallen, dass es die Übersicht bei einigen Aktionen in der Konsole verbessert, wenn wenigstens der Teil vor dem Eingabebereich in Farbe steht.

Um die Farben für das Gnome Terminal zu aktivieren müsst ihr nur die folgenden drei Schritte im Terminal und Textprogramm durchführen:

  1. gedit .bashrc
  2. “#force_color_prompt=yes” in “force_color_prompt=yes” umbenennen (nur die Raute löschen)
  3. speichern, schließen, Terminal neu starten


#16 Auf nach Eden

Heute etwas weniger webentwicklerlastig, dafür mit Produktivitätstipps. Schließlich muss man auch mal an seinen Workflow denken und daran schrauben.

Keine Kapazität in Mobilfunknetzen

Thorsten Robrecht, Manager bei Nokia Siemens Networks, hat in einem Interview mit Golem über die Zukunft der Mobilfunknetze gesprochen und wie es mit den Netzen nach 4G weitergeht. Die Mobilfunker haben Probleme die aktuellen und zukünftigen Kapazitäten bereitzustellen und wir Nutzer fordern das beste Netz. Angebot und Nachfrage …

dochub

Wer als Webentwickler weiß welche Funktionen er bspw. in PHP oder JavaScript einsetzen möchte, aber die genaue Syntax nicht sofort weiß, kann sich auf dochub.io alle Infos zentral und schnell zusammensuchen. Eine Seite zum Nachschlagen von HTML, CSS, JavaScript, DOM, jQuery und PHP. Die Infos werden dabei für JS aus dem MDN geladen, PHP von php.net.

Free Fonts

Im Smashing Magazine tauchte diese Woche ein neuer Artikel über Free Fonts auf. Ich bin immer skeptisch bei solchen Titeln, aber das Editorial Team von SM hat sich Mühe gegeben und wirklich schöne Schriften herausgesucht.

Clearing your life for a new year

Leo Babauta hat wieder einen super Post geschrieben, in dem er seine 10 Gewohnheiten beschreibt, um frisch und frei ins neue Jahr zu starten. All seine Punkte mache ich mehrmals im Jahr und fühle mich hinterher immer erleichtert die unnötigen Sachen abgeworfen zu haben. Also ran an den Speck und mistet auch endlich mal aus!

Sublime Text per Konsole starten

Ich habe es mir angewöhnt unter Linux und OS X ein Terminalfenster zu starten und von dort per App-Shortcut die Programme oder direkt Dateien in Programmen zu starten. Es ist schnell und erfordert kein Klicken/Suchen mit der Maus, einfache schnelle Tastaturnavigation geboostet per Tab. Doch ich konnte bisher nie Dateien in Sublime Text starten, doch das Problem sollte mit diesem Forum-Thread behoben sein.



#15 Auf nach Eden

Nach der Weihnachtspause bin ich wieder da und heute gibt es den neuen Auf-nach-Eden-Post frisch in 2012 :) Und wer sich gerne Hacker schimpft, der sollte sich den Link zum Hacker Cup von Facebook angucken.

Facebook Hacker Cup 2012

Jeder kann sich anmelden und am 20. Januar geht die erste Runde beim Hacker Cup los. Wer die ersten drei Onlinerunden übersteht, bekommt den Flug nach Menlo Park bezahlt und wer dort zuletzt sogar ganz oben auf dem Podest thront, der kann sich mit Ruhm und Ehre als Hacker-Weltmeister schmücken. Etwas Geld gibt es natürlich auch.

Minimal Patterns

Eine schnuckelig gestaltete Seite ist minimalpatterns, gerade schon Standard mit dem MacBook Pro, aber trotzdem sind die Pattern cool und für Designer einen Blick wert. Die Auswahl ist nicht gerade groß, aber das wird sich mit der Zeit bestimmt ändern. Ansonsten auf Subtle Patterns vorbeigucken, die Auswahl ist deutlich umfangreicher.

Cubano

Pay what you want bei Lost Type und gerade frisch draußen: Cubano. Sans-serif, rounded und ziemlich sexy.

Cultured Code is hiring

Die Webseiten von Cultured Code sind immer mit schönen Grafiken geschmückt, detailliert und super in Szene gesetzt. Jetzt haben sie sogar für ihre Jobseite eine richtig schnieke Optik aufgesetzt.

App-Launch: Sonntags

Laut einer Studie, die tuaw.com beschrieben ist, sollte man seine neue App sonntags launchen. Denn dann scheint man einen Glaubensbonus zu bekommen und die App ist eher in den Tops vertreten gegenüber dem Launch an anderen Tagen ;)

MetroTwit Loop

MetroTwit ist mein Twitterclient unter Windows. Bin schon seit einiger Zeit fast super zufrieden, mir fehlt leider noch das Multiaccount-Feature (oder ist das schon längst drin? Wenn ja, mir sagen!). Vor kurzem haben die Jungs eine separate Version namens Loop bereitgestellt, die als Dev- oder Betavariante fungiert. Man kann neue Features testen, allerdings nicht unter dem stable label (Reim eigentlich unbeabsichtigt).

Be Great

Wenn ihr 5 Minuten Zeit habt, lest euch den Post durch und seid great!



Ruby und Redis: Zufallszahlen generieren und Textfile parsen

Wer eine neue Programmiersprache lernen möchte, sollte einfach irgendwo anfangen, sich ein konkretes Problem suchen oder bekannte Datenstrukturen in der neuen Sprache runterhacken. Genau so habe ich es mir mit Ruby auch gedacht. Ständig die “Getting started with Ruby” lesen bringt doch nichts und aus diesem Grund habe ich mir ein konkretes Problem vorgenommen, dass mir bei einem Bewerbungsgespräch gestellt wurde.

Das Problem

Du bekommst ein Logfile (einfache Textdatei) in der jede Zeile die folgende feste Struktur besitzt:

URL-PART1/userid/USER-PART2

Das File enthält nun 200 Millionen Einträge wobei insgesamt 2 Millionen userid‘s (siehe Eintrag) verschieden sind. Finde so schnell wie möglich, egal auf welche Weise die Anzahl der unterschiedlichen User-IDs heraus.

Meine Lösung

Als Redis-Fan sind mir dessen Datenstrukturen sofort eingefallen und auch dessen Sets. Darin werden keine doppelten Einträge aufgenommen, sodass ich jede Zeile des Files parse, die userid auslese und sie in das Redis-Set speichere. Nach dem Durchlauf muss ich nur die Anzahl der Einträge für das Set abrufen und ich habe die gesuchte Anzahl an unterschiedlichen userid’s.

Meine Lösung ist allerdings nicht die Schnellste!! Mir ging es um den Fakt das Problem zu lösen, nicht die effektivste und effizienteste Variante zu finden.

Der Code zu meiner Lösung

Ich habe meine Lösung in zwei Teile splitten müssen: Das File mit den Einträgen generieren und anschließend für die Auswertung parsen. Außerdem gehe ich davon aus, dass ein Grundwissen bezüglich Ruby und Redis vorhanden ist. Ansonsten schau’ erst in meine Posts über Redis: Getting Started und Installation und Verbindung.

Zufallszahlen generieren und in Datei schreiben

# Code for generating an Array with specific size of random numbers
userIDs = Array.new(2000000) { rand(12345678901234567890) }

File.open("UserLog.txt", 'w+') do |f|
  userIDs.each { |id| f.puts("URL/" + id.to_s + "/destination") }
end

In Zeile 2 wird ein Array mit 2 Millionen Zufallszahlen erstellt, wobei die Zahlen kleiner als “12345678901234567890″ sind. Ich habe die Arraygröße auf 2 Mio. begrenzt, weil mein Logfile bereits eine Größe von 72Mb hatte. Für Anschauungszwecke sollte das locker ausreichen. Dann wird jede Zahl des Arrays in die Textdatei namens “UserLog.txt” geschrieben.

Datei parsen und IDs in Redis Set schreiben

require "redis"
redis = Redis.new

file = File.open("UserArrays.txt", 'r')

file.each_line("\n") do |row|
  userid = /[0-9]{1,20}/.match(row)
  if userid then
    redis.sadd "userIDs", userid
  end
end

puts "File processing complete"
puts "Number of different users: " + (redis.scard "userIDs").to_s

Für die Verbindung aus Ruby zu Redis habe ich das Redis-Gem benutzt. Einfache Installation und Benutzung. Da Redis in der Standardkonfiguration läuft, brauchte ich nichtmal eine Adresse oder den Port des Redisserver bei der Initialisierung des Redis-Objekts angeben. Dann durchlaufe ich jede Zeile und greife mittels regulärem Ausdruck die userid heraus. Der RegEx in Zeile 7 ist so zu lesen, dass auf mindestens eine gefundene Ziffer noch 19 weitere kommen können. Die generierten IDs sind maximal 20 Zeichen lang. Wenn eine ID gefunden wird, dann ab mit ihr ins “userIDs”-Redis-Set.



Neuen Font für Edenora

Bisher haben Lucida Grande/Sans Unicode oder die sans-serife Standardschrift den Dienst für den Fließtext getan, jedoch werden sie nun durch Dejarip ersetzt. Ich bin eher zufällig über die Schrift auf Typekit gestoßen und war sofort begeistert. Deshalb schmückt fortan Dejarip das Dasein von Edenora.



#14 Auf nach Eden

Da ich in der letzten Woche nicht genügend Links gesammelt hatte, gibt es in dieser Woche die normale Dosis an Tipps aus dem Netz. Viel Spaß beim Erkunden und vergesst nicht die letzten Geschenke zu kaufen, in acht Tagen ist Weihnachten :)

Das neue Twitter

Das sich an Twitters Design etwas tun wird, wurde schon länger rumort und war auch nötig. Doch nun ging es ganz schnell. In den letzten Tagen haben die Jungs das Redesign veröffentlicht und gleichzeitig die neuen Android- und iPhone-Apps rausgehauen. Auch Tweetdeck ist jetzt nativ, ohne Adobe Air benutzbar. Wer auf Shortcuts steht, kann sich auf twitter.com per Kürzel durch die Tweets navigieren und mit “?” könnt ihr sie euch anzeigen lassen.

Nützliche Shortcuts für das OS-X-Terminal

Der Titel spricht für sich … Ich habe mir viele der OS-X-Befehle angeguckt und für sehr nützlich befunden. Für einige ist der Konfigurationsaufwand etwas größer, aber um ich den Alltag zu vereinfachen kann man den Aufwand in Kauf nehmen.

Aufpolierte UI für Firefox on Android

Wenn Mozilla so weitermacht werde ich mir den Browser auf jeden Fall nochmal angucken. Die Screens sind bisher nur Entwürfe um die Richtung der Entwicklung zu zeigen und natürlich auch um Feedback abzugreifen, aber sehen sehr vielversprechend aus.

Android SDK r16

Eigentlich keine große Erwähnung wert, aber trotzdem ist ein Feature dabei in der 16. SDK-Version, dass einer Erwähnung bedarf: die Lint Tools. Mit ihnen werden Bugs oder Probleme in der App angezeigt. Dort sollte man nochmal Hand anlegen und nachbessern, denn Qualität zahlt sich aus.

FuelPHP 1.1 ist final

Über Fuel habe ich bereits einen Post geschrieben und vor einigen Tagen wurde das Open Source Framework in Version 1.1 released. Die Neuerungen könnt ihr euch im Projekt-Blog durchlesen.

Ubernauten werden Eltern

Ich finde das Hosting von Uberspace richtig gut. Allein der SSH-Zugang für normalen Webspace ist ungewöhnlich und super positiv anzurechnen. Und jetzt hat ein Kunde die passenden Worte für eine einfache Sache gefunden. Im UberBlog wurde der, lustig geschriebene, Text veröffentlicht.

Windows Azure mit NodeJS-Support

Die Zeiten ändern sich bei Microsoft und seitdem NodeJS einen Port für Windows besitzt, können sich eine Menge Entwickler auf Microsofts Plattform austoben. Die NodeJS-Library für Azure ist auf Github gehostet.

iPad-Magie

Verstehen Sie Spaß kennt wohl jeder, meist nur bedingt witzig. Aber wenn “Kunststücke” mit coolen Gadgets, wie dem iPad, durchgeführt werden, dann ist es zumindest sehenswert, wie die Leute darauf reagieren :-D

What powers Instagram

Der Engineering-Blog von Instagram ist für alle Cloud-Fans eine coole Quelle um Informationen zu bekommen, wie die Jungs ihre Anwendung bauen und laufen lassen. In einem aktuellen Beitrag haben sie ihren Technologie-Stack vorgestellt und für Interessierte eine Pflichtlektüre.



Erfahrungsbericht – Amazon Kindle Fire

Nach einigen Wochen Ruhe wird es mal wieder Zeit, dass sich Marcus’ Auslandskorrespondent meldet. Ein Vorteil des Lebens in den USA ist der unvermittelte Zugang zu den neuesten Gadgets – wie dem Kindle Fire von amazon. Für einen Preis von $199 (rund 144€) sofort vorbestellt, hielt ich es zwei Tage nach Auslieferungsstart in den Händen. Heute, rund drei Wochen später, kann ich meine ersten Erfahrungen schildern.

Erster Eindruck & Hardware

Amazons größte Innovation ist meiner Meinung nach immer noch die Verpackung. Das Paket kann ohne Schere oder Messer problemlos aufgerissen werden, das Fire selbst liegt schlicht in der Verpackung. Sofort in die Hand genommen sind die ersten beiden Gedanken: unerwartet schwer, aber sehr angenehmes Format. Der 7″ Bildschirm ist ausreichend groß, wenn man ihn nur für sich benutzt (um Filme zu zweit zu gucken muss man eng kuscheln). Das kleine Format hat den Vorteil, dass der Fire problemlos in einer Hand gehalten werden kann. Die Akkuleistung ist akzeptabel, wenn auch nicht überragend. Bei meiner bisherigen Benutzung musste er wie mein Galaxy über Nacht immer an den Strom. Nach geschätzten fünf bis sechs Stunden normaler Benutzung (E-Mail, Surfen, Filme über Stream) gehen die Reserven aus.

Fotos kann sich ja jeder auf der oben verlinkten Produktseite ansehen, der Bildschirm spiegelt leider selbst bei voller Helligkeit merkbar. Die Materialien sind insgesamt erstaunlich hochwertig. Ein wenig überraschend ist, dass Amazon weder Kopfhörer noch ein USB-Kabel beilegt.

Sofort beim ersten Anschalten begrüßt einem das Fire persönlich mit Namen. Da ich bereits glücklicher Kindle-Besitzer der dritten Generation bin, bieten sich mir sofort alle bisherigen Inhalte auf dem Fire an. Ich persönlich kann aber absolut nicht auf spiegelnden Bildschirmen lesen, daher bleiben die Bücher auf dem Fire geschlossen.

Software

Das Amazon die Oberfläche sehr stark anpasst, war erwartet worden. Mittlerweile kenne ich mich mit Android ja ziemlich gut aus, habe es trotzdem kaum wieder erkannt. Einige Anpassungen sind meiner Meinung nach unsinnig (die Statusbar öffnet sich nicht durch intuitives “nach unten ziehen”, sondern durch anklicken). Die Basis bildet eine Android 2.3-Version, also Gingerbread. Aufgrund der fehlenden Hardwarebutton macht ein Update auf Ice Cream Sandwich eigentlich viel Sinn. Ich hoffe, dass Amazon das auch so sieht.

Im ersten Monat kamen bereits zwei Updates. Sehr löblich. Beide wurden ohne jede Benachrichtigung automatisch eingespielt. Ob man das nun gut findet, soll jeder für sich selber entscheiden …

Browser – Amazon Silk

Amazon Silk is a revolutionary, cloud-accelerated browser that uses a “split browser” architecture to leverage the computing speed and power of the Amazon Web Services cloud.

So beschreibt Amazon ihren Browser (Marcus hat ihn in #4 Auf nach Eden bereits erwähnt). In der Praxisanwendung habe ich keine erstaunliche Performance gespürt. Amazon sagt allerdings selber, dass sich ihr Backend erst einspielen muss. Außerdem halte ich mich überwiegend auf deutschen Seiten auf. Davon profitiert die Beschleunigung durch das Backend natürlich weniger, da durch die Beschränkung auf den US-Markt sich die Cloudvorteile auf amerikanische Internetseiten fokussieren.

Amazon Appstore

Der Zugriff auf den Google Market ist leider nicht problemlos möglich. Daher bleiben nur alternative Quellen (Amazon erlaubt das Installieren von .apks) oder der eigene Appstore von Amazon. Leider ist das Angebot sehr beschränkt, so gibt es bisher nur einen echten Twitterclient. Auch die angepriesene Facebook-App ist nur eine Verlinkung auf die mobile Seite von Facebook. Hier besteht auf alle Fälle ein Mangel.

Sehr gut gefallen tut mir jedoch die tägliche, kostenlose App. Amazon übernimmt dabei die Kosten für den Kauf, d.h. der Softwareentwickler verliert kein Geld. Die kostenlose App habe ich mir bisher sehr oft “gekauft” und diese waren qualitativ sehr ordentlich.

Amazon Services

Jeder Amazonkunde erhält 5GB kostenlosen Speicher in ihrer Cloud. Die kann jeder Kunde mit eigener Musik oder eigenen Dokumente füllen. Stream oder Download zum Fire (oder zum Browser des PCs oder auf das Android-Smartphone) ist problemlos möglich.

Mit der Bestellung des Fire kommt ein Monat kostenlos Amazon Prime. Den kostenlosen Zugriff auf viele Filme und Serien habe ich bisher ausgiebig genutzt und macht sehr viel Spaß. Wenn ich mir sicher wäre, dass der Stream auch nach Deutschland problemlos funktioniert, würde ich sofort (kostenpflichtig) verlängern. Die Einfachheit bietet ungeahnten Komfort und Spaß.

iPad-Killer?

Im Gegensatz zu fast allen anderen Beiträgen und Erfahrungsberichten habe ich Vergleiche zum iPad vermieden. Die Geräte haben sowohl unterschiedliche Zielgruppen als auch unterschiedliche Funktionen. Nichtsdestotrotz wird das Fire Auswirkungen auf dem gesamten Tabletmarkt haben. Personen wie mir reicht das Fire völlig aus und verzichten auf das dreimal teurere iPad.

Verfügbarkeit in Deutschland

Das Fire ist (und bleibt vermutlich auch in naher Zukunft) nicht in Deutschland verfügbar. Im Gegensatz zum Kindle E-Book-Reader der ersten drei Generationen auch nicht per Versand aus den USA nach Deutschland. Amazon bietet nach und nach seine Geräte auch in den üblichen Verkaufsläden wie BestBuy an. Zukünftige USA-Reisende sollten intensiv über einen direkten Kauf nachdenken.

Fazit

Nach ersten Enttäuschungen über Beschränkungen und fehlende Hardwaretasten habe ich mich sehr mit dem Fire angefreundet und möchte es nicht mehr missen. Es hat jedoch noch viele kleinere Unzulänglichkeiten, man kann es auch Kinderkrankheiten nennen. Ich bin gespannt auf zeitnahe Updates sowie die zweite Generation des Fire.

PS: Fragen nehme ich natürlich gerne auf Twitter oder hier in den Kommentaren entgegen.

PSS: Nein, diesen Beitrag habe ich entgegen aller Regeln nicht auf dem Fire geschrieben, da die deutsche Tastatur leider (noch?) nicht verfügbar ist.