Kindle Apps Blog

Ein inoffizieller Blick auf den Active Content für Amazons Kindle

Erster Blick auf die Komponenten des KDK

Samstag 6. Februar 2010 von Wolfgang

Die veröffentlichte Beta des KDK besteht aus neun Packages. Dazu kommt natürlich noch der Umfang des PBP von Sun. Aus den veröffentlichten Dokumenten geht hervor, dass eine Kindle Anwendung technisch als Kindlet bezeichnet wird und auf den ersten Blick viel mit einem Java Applet zu tun hat. Dies wird neben dem ähnlichen Namen vor allem durch den sehr ähnlichen Lifecycle klar:

Ähnlich wie bei iPhone Apps hat ein Kindlet beim beenden (wird z.B. durch betätigen der Home Taste ausgelöst) fünf Sekunden Zeit, um Ressourcen freizugeben und beispielsweise den aktuellen Zustand zu speichern.

Zusätzliche APIs – aber mit Einschränkungen

Die veröffentlichte Dokumentation erwähnt auch, dass neben dem bereits in der FAQ erwähnten Java PBP noch drei weitere API von Amazon zur Verfügung gestellt werden. Es handelt sich hierbei um den Xerces XML Parser JSON.simple sowie log4j. Amazon weist allerdings daraufhin, dass alle Kindlets in der Sandbox laufen und es daher Funktionen in den APIs gibt, die nicht bei Kindlets verwendet werden dürfen, bzw. können. Um was es sich dabei genau handelt ist bisher nicht bekannt. Ähnliche Einschränkungen wird es aber sicherlich auch bei anderen 3rd-Party Bibliotheken sowie eigenem Code geben. Ich denke, dass Amazon demnächst noch entsprechende Guidelines veröffentlichen wird.

Die Packages des KDK im Überblick

  • com.amazon.kindle.kindlet beinhaltet das Kindlet Interface, von das jede Anwendung implementieren muss sowie den KindletContext, der die Laufzeitumgebung eines Kindlets repräsentiert und selbigem Zugriff darauf ermöglicht.
  • com.amazon.kindle.kindlet.event enthält verschiedene Konstanten für die Sondertasten des Kindle
  • com.amazon.kindle.kindlet.net stellt verschiedene Interfaces für den Netzwerkzugriff bereit. Es werden allerdings nur das HTTP und das HTTPS Protokoll unterstützt. Daher ist es z.B. nicht möglich, einen Email Client zu entwickeln. Wobei das mit den 100 kB Traffic im Monat sowieso problematisch geworden wäre.
  • com.amazon.kindle.kindlet.security enthält ein Interface für den Zugriff auf den SecureStorage. Dabei handelt es sich um einen sicheren Speicherplatz, den ein Kindlet nutzten kann, um sensitive Daten wie z.B. Logindaten zu speichern. Amazon weist darauf hin, dass der SecureStorage nur für kleine Datenmengen gedacht ist und seine Performance bei größeren Datenmengen nicht wirklich gut ist.
  • com.amazon.kindle.kindlet.ui.* In diesem Package sowie seinen drei Subpackages border, image und pages befinden sich die Interfaces für die Erzeugung grafischer Oberflächen auf dem Kindle. Die Kindle GUI Komponenten basieren alle auf AWT und laut Amazon sollte es kein großes Problem darstellen, vorhanden AWT oder Swing Komponenten zu portieren. Es wird auch noch einmal auf die besonderen Eigenschaften des EInk Displays hingewiesen und in dem Zusammenhang daran erinnert, dass man im Gegensatz zu einer AWT oder Swing Anwendung beim Repaint einer Komponente nur den kleinst möglichen Teil neu zeichnen lassen soll.
  • com.amazon.kindle.kindlet.util enthält einen Kindle-spezifischen Ersatz für java.util.Timer sowie java.util.TimerTask

  • Share/Bookmark

Kategorie: Entwicklung | Kommentare deaktiviert

KDK Beta geht los & Amazon veröffentlich FAQ und JavaDoc

Samstag 6. Februar 2010 von Wolfgang

Ab sofort ist es möglich, sich für das Kindle Developer Beta Programm zu registrieren. Bisher konnte man sich ja nur benachrichtigen lassen, wenn es soweit ist. Außerdem hat Amazon eine FAQ veröffentlicht, die neben einigen generellen Themen auch die verfügbaren APIs beschreibt.

  • Kindle Anwendungen dürfen zwei APIs verwenden. Zum einen die aus der mobilen Javaentwicklung bekannte Java version 1.4 Personal Basis Profile (PBP) APIs for mobile devices und zum anderen Amazons Kindle API, die unter anderem Zugriff auf das Kindle UI, JSON und XML Parser, HTTP und HTTPS Networking, Secure Storage sowie andere Kindle-spezifische Features mitbringt. Weitere Features wie Audiosupport und Zugriff auf das Dateisystem sind für zukünftige Versionen der Kindle API versprochen.
  • Es soll möglich sein, vorhandene J2ME Anwendungen auf den Kindle zu portieren.
  • Das KDK ist kann mit beliebigen Java Entwicklungstools wie Eclipse, IntelliJ oder Netbeans verwendet werden.
  • Es ist möglich, fremde Bibliotheken zu verwenden. Die Verantwortung, auf die Kompatibilität der entsprechenden Lizenzen zu achten liegt beim Entwickler.
  • Entwickelte Anwendungen können entweder in einem bereitgestellten Kindle Simulator oder auf dem Kindle selbst getestet werden. Dazu können bis zu drei Kindle bei Amazon als Testgeräte registriert werden.
  • Kindle Anwendungen sind nur auf dem Kindle selbst lauffähig. Eine Unterstützung für Kindle for PC oder der Kindle iPhone App gibt es derzeit nicht. Vor allem bei der iPhone App glaube ich nicht, dass dies von Apple erlaubt werden würde.
  • Die Anwendungen werden via DRM geschützt.

Ich werde nun einmal einen Blick auf die veröffentliche Dokumentation der Amazon API werfen und darauf warten, dass mein Beta Account freigeschalten wird.

  • Share/Bookmark

Kategorie: Entwicklung | Kommentare deaktiviert

Get Adobe Flash playerPlugin by wpburn.com wordpress themes