Tutorial: Entwicklung eines Prototypen für Google Android mit Eclipse

Nun ist es schon etwas mehr als eineinhalb Jahre her, dass ich mich zum ersten mal mit Google Android beschäftigt habe. Damals war das Google Android SDK noch in der Beta-Phase und mobile Hardware (mobile Endgeräte) für Android gab es noch nicht zu kaufen. Stattdessen konnte man für einen Device Emulator entwickeln, auf dem man seine Anwendung testen kann.

Aber Google hatte schon in dieser frühen Phase einen Wettbewerb (Android Developer Challenge) ausgerufen. Ich hatte mich entschlossen, an diesem Wettbewerb teilzunehmen (natürlich auch in der Hoffnung, wenigstens einen Teil des Preisgeldes zu gewinnen …. ; ) Leider hat mein Engagement nicht zum gewünschten Ergebnis geführt…

Damit meine Erfahrungen, die ich mit Google Android gemacht habe, nicht ganz in Vergessenheit geraten, habe ich mich entschlossen, einen Screencast in Form eines Tutorials aufzuzeichnen. Alle Interessierten können sich den Screencast hier kostenlos ansehen oder herunterladen. Vielleicht hilft es ja Einsteigern, die sich mit dem Thema „Entwicklung für mobile Endgeräte“ oder „Google Android“ befassen wollen.

Wichtiger Hinweis: Ich habe mich entschlossen, kleinere Stolpersteine und aufgetrene Fehler, auf die ich während der Aufzeichnung gestossen bin, nicht herauszuschneiden. Denn so etwas gehört zum Entwickleralltag einfach dazu und kann ebenfalls sehr lehrreich sein…oder?

Viel Spass beim Zuschauen!


Bookmark

Beschleunigung und Tuning der Webseite mit YSlow! von Yahoo!

Wer kennt das nicht: die eigene Webseite funktioniert zwar prima, ist aber teilweise unerträglich langsam. Für „lahmende“ Webseiten gibt es viele Gründe und das Thema Webseiten-Tuning ist wirklich komplex. Die Komplexität liegt in der Vielzahl verschiedener Ursachen für Geschwindigkeitsprobleme. Einige Beispiele für Ursachen sind:

  • Zu große HTML-, JavaScript- oder Grafikdateien,
  • zu viele externe Dateien,
  • langsame Internetanbindung des Servers oder des Client(Benutzer)-PCs,
  • zu viele Besucher auf meine Seite und daraus folgend zu viele Hits auf meinem Webserver,
  • Datenbank als Flaschenhals (bei dynamischen Seiten)…usw.

Das HTTP-Protokoll bietet einige sehr interessante und leistungsfähige Caching-Funktionen, die meiner Erfahrung nach jedoch von sehr vielen Webadministratoren nicht beachtet und daraus folgend nicht genutzt werden. Eine gute Einführung in die verschiedenen HTTP-Caching Funktionen gibt es im Caching-Tutorial, bei Kaizou und bei Thomas Wan.

Vorteile des HTTP-Cache sind vor allem folgende drei Eigenschaften:

  1. Es ist vollkommen kostenlos, da keine Investitionen notwendig,
  2. ein intelligenter Cache steigert die gefühlte Performance Eurer Besucher deutlich,
  3. der Webserver wird entlastet und kann somit mehr Besucher bedienen, ohne dass neue Hardware angeschafft werden muss.


Ich selbst benutze verschiedene HTTP-Cache Techniken seit längerer Zeit. Früher war es eine mühselige Sache, sicherzustellen, dass alle Mechanismen funktionieren. Bis mir vor einigen Monaten das YSlow! Plugin von Yahoo! für den Firefox (mit Firebug) über den Weg gelaufen ist. Mit diesem kostenlosen Tool kann man extrem schnell ermitteln, wo HTTP-Caches auf der eigenen Webseite nicht richtig eingesetzt werden. Überzeugt Euch selbst in meinem Video 😉

Erfahrungsbericht: Test iRobot Scooba 385 (Europäische Version)

Nach den positiven Erfahrungen mit dem iRobot Roomba 580 entschloss ich mich, ebenfalls einen Scooba 385 zu kaufen. Im Gegensatz zum Staubsauger Roomba übernimmt der Scooba die Aufgabe des Feuchtwischens. Hierzu ist im Prinzip ein kleine Waschsauger und ein Wassertank für Frischwasser und Reinigungsflüssigkeit eingebaut.
Ein kurzes Video demonstriert die Funktionsweise:

Grundsätzlich:

  • Im Gegensatz zum Roomba 580 verfügt der Scooba 385 weder über eine Fernbedienung noch über einen Timer zur Zeitsteuerung.
  • Die Virtual Walls / Lighthouses des Roomba sind (sehr zu meinem Bedauern) nicht kompatibel zum Scooba 385. Daher erkennt der Scooba diese auch nicht, umfährt diese nicht sondern schiebt sie „rücksichtslos“ durch die ganze Wohnung.
  • Der Scooba führt sein Programm so lange durch, bis der Tank geleert ist oder der Akku alle ist.
  • Der Akku hält länger als der Reinigungsmitteltank, d.h. der Scooba muss zwischendurch wieder entleert und befüllt werden.
  • Es wird keine komfortable Andockstation mitgeliefert, an die der Scooba wieder zurückkehrt und sich auflädt. Statt dessen kann der Scooba irgendwo im Raum „liegenbleiben“ und muss dann per Hand an ein Ladekabel angeschlossen werden (falls der Akku alle ist) oder wieder befüllt werden (falls der Tank alle ist).
  • Nach jeder Benutzung soll lt. Anleitung gereinigt werden: Reinigungsbürste, Pumpenschlauch und Wasserfilter.
  • Der Scooba bewegt sich deutlich langsamer als der Roomba – auch die Bewegungslogik unterscheidet sich.
Positiv:
  • Das Reinigungsergebnis kann auf den von mir getesteten Flächen (Parkett und Granitboden) als durchaus gut bezeichnet werden.
  • Im Gegensatz zum einem Wisch(mop) wird der Schmutz nicht einfach hin- und hergerieben. Stattdessen arbeitet der Scooba wie ein kompakter Waschsauger und saugt das dreckige Wasser in einen separaten Abwassertank.
  • Teppiche bzw. Läufer werden tatsächlich zuverlässig umfahren.
  • Der Scooba ist deutlich kompakter zu verstauen als ein Eimer mit Wischmop.

Negativ:
  • Im Gegensatz zum Roomba ist der Komfort-Mehrwehrt deutlich geringer, da viel mehr manuelle Eingriffe erforderlich sind (Laden am Kabel, Tank befüllen/leeren, häufige Reinigung, kein automatischer Timer).
  • Ecken können nicht gereinigt werden.
  • Stößt der Scooba auf ungewöhnliche Hindernisse (Kabel, kleinere Stufen oder Unebenheiten) so befreit er sich viel seltener als der Roomba selbst und bricht stattdessen das Programm mit einer Fehlermeldung ab.
  • Es ist unpraktisch, dass der Tank nur ca. halb so lange reicht wie eine Akkuladung.
  • Ich finde es unverständlich, dass der Scooba nicht die Virtual Walls / Lighthouses des Roomba benutzt, obwohl beide vom gleichen Hersteller kommen. Daher fährt der Scooba viel „dümmer“ durch die Wohnung, anstatt sich wieder der Roomba von Raum zu Raum arbeiten.
Fazit:
  • Auch wenn der Scooba durchaus gut funktioniert bietet er meiner Meinung nach einen deutlich geringeren Mehrwert gegenüber dem manuellen Wischen als bspw. der Roomba gegenüber herkömmlichen Staubsaugen. Während der Roomba ein sehr nütliches Haushaltsgerät darstellt benötigt der Scooba m.E. noch etwas Entwicklungsarbeit, um aus dem „Spielzeugstatus“ zu entwachsen.

Erfahrungsbericht: Test Robotersauger iRobot Roomba 580 [Teil II]

Nun ist mein iRobot Roomba 580 seit mehr als zwei Monaten im Einsatz. Wie versprochen nun der zweite Teil meines Erfahrungsberichtes, inkl. kurzes Video.


Generelles Fazit:

  • Das Gerät ist kein Spielzeug – es ist wirklich nützlich und bietet einen deutlichen Komfort-Mehrwert!
  • Mein herkömmlicher Staubsauger ist seit der Anschaffung im Schrank verschwunden und wurde nie wieder benutzt.
  • Neben dem erhöhten Komfort besteht der Hauptvorteil darin, dass auch Stellen gereinigt werden, die mit einem herkömmlichen Staubsauger selten oder gar nicht gereinigt wurden: Bspw. unter dem Bett, unter der Couch, in schwer zugänglichen Stellen.
  • Die Akkuleistung ist immer noch sehr gut, auf Parkett läuft der Akku mehr als 2 Stunden (auf Teppichböden allerdings ca. 20 Minuten kürzer!).

Positiv:

  • Auf Hartboden (Parkett) ist die Reinigungsleistung wirklich gut, auch in Ecken bleibt kein Schmutz liegen. Auch auf Teppichböden ist die Reinigungsleistung gut, jedoch habe ich nicht getestet, wie tief der Schmutz aus dem Teppich entfernt wird.
  • Nur sehr selten bleibt der Roomba irgendwo hängen (in diesem Fall schaltet er sich dann aus Sicherheitsgründen ab). Meistens hat man irgendwas auf dem Fussboden liegen lassen, dass sich in der rotierenden Bürste verfangen hat (bspw. Kabel, Plastiktüte etc.).
  • Mit der Zeitsteuerung lässt sich das Gerät betreiben, wenn man nicht zuhause ist.



Negativ:

  • Die Reinigung des Staubbehälters ist nicht sehr komfortabel – man muss aufpassen, dass bei Ausleeren nicht wieder Dreck auf den Fussboden fällt. Hier hätten Staubsaugerbeutel einen klaren Vorteil.
  • Die Bürsten selbst aber auch deren Lager verschmutzen relativ schnell, insbesondere auch lange Haare setzen sich gern in den Lagern ab. Die Folge ist, dass zunächst die Laufleistung sinkt (der Akku geht schneller leer) und dann der Roomba dazu neigt, sich abzuschalten und mit einen Sprachhinweis zur Reinigung der Bürste auffordert.
  • Der Staubbehälter ist relativ klein und muss tatsächlich alle 2-4 Durchläufe geleert werden.
  • Ich habe den Eindruck, dass W-LAN Accesspoints manchmal die Funkkommunikation mit den Virtual Lighthouses stören. Die Folge ist dann, dass der Roomba zu früh in den nächsten Raum wechselt, weil der Lighthouse noch nicht aktiv ist. Auf dem Rückweg verwirrt in dann ein zu spät aktivierter Lighthouse und er findet nicht mehr zur Basisstation zurück.
  • Die Fernbedienung brauch manchmal relativ lange, bis diese den Roomba „findet“. Erst nachdem Sie ihn gefunden hat, ist eine Steuerung möglich.
  • Die Basisstation ist sehr leicht und sollte auf dem Fussboden befestigt werden (z.B. kleben). Ansonsten kann es passieren, dass der Roomba diese beim Andocken „wegschiebt“.