Sonntag, 21. März 2010

Flash (Gordon) am iPhone

Nicht erst seit der Vorstellung des iPad ist Flash eines der am meisten diskutieren Features die Apple am iPhone-OS *nicht* anbietet. Das mag wohl einerseits an Adobe liegen, die sich möglicherweise zu wenig um (die Qualität) ihres Produktes kümmert. Andererseits ist dies natürlich auch eine Machtdemonstration Apples die aufgrund der immensen Anzahl an nativen Apps auf Flash einfach nicht angewiesen ist. In diesem Artikel geht es allerdings nicht um die Streitigkeiten zwischen Apple und Adobe, sondern es wird eine Möglichkeit gezeigt, wie man auch ohne Unterstützung von Apple Flash am iPhone ausprobieren kann.











Stein auf Stein
Zentrales Element ist das von Tobias Schneider entwickelten Javascript-lib "Gordon". Damit können moderne Browser mit einer schnellen Javascript Engine zumindest einfache Flash-Animationen darstellen. Die Einbindung in eine HTML-Seite ist dabei supereinfach. Der zweite Baustein ist jQTouch, ein jQuery-Plugin das die native Benutzeroberfläche des iPhone-OS nachbaut. Damit lassen sich - wie auch die Demos  zeigen - mit einem WebKit-basierten Browser wie Safari recht nette Effekte erziehlen. Wird statt Safari Chrome verwendet, so fehlen nur die nativen Web-Kit Animationen. Firefox funktioniert auch, sieht aber nicht mehr ganz so toll aus. Weitere Browser hab ich nicht getestet, interessan wär sicher der neue Opera, der ja zur Zeit die schnellste Javascript Engine haben soll.

Serviert

Um das Ganze im Internet bereitstellen zu können, ist natürlich ein entsprechender Webserver notwendig. Normalerweise würde bei einer so einfachen Aufgabe zu Ruby und Sinatra greifen, aber hierzu müßte ich einen entsprechenden Server anmieten. Google bietet mit der App Engine eine Lösung an, mit der man eigene Webapplikationen umsetzen kann. Hierzu stehen als Sprachen Java und Python zur Auswahl. In der kleinsten Variante sind damit keine Kosten verbunden und man braucht sich nicht um den Betrieb kümmern. Damit kann man zwar nicht alles machen, aber für den anvisierten Zweck ist die Lösung vollkommen ausreichend. Obwohl das Ganze in der Cloud läuft erfolgt die Entwicklung lokal und eine Internetverbindung ist nur zum Hochladen der App notwendig. Die kleine WebApp zum Abspielen der Gordon-Demo hab ich nach dem künstichen Mond "Arkaylia" des Planeten Mongo aus dem Comic "Flash Gordon" getauft. Die Einstiegseite ist arkaylia.appspot.com und der direkte Aufruf der Demos erfolgt über arkaylia.appspot.com/gordondemo/.


Im Unterschied zu den anderen Seiten (hier und hier ), welche ebenfalls Gordon-Demos zeigen, sind die Flash-Demos (SWF-Files) nicht direkt am Server gespeichert, sondern werden am Backend von der jeweiligen Quelle geladen. Mit diesem Ansatz ist es möglich durch Angabe der URL eine beliebige Flashdatei zu laden. Damit das wirklich funktioniert, braucht man allerdings eine Flashdatei, welche von Gordon unterstützt wird. Im Internet wird man sowas nicht ohne weiteres finden.

Fazit

Mit ein paar Zeilen Code ist ein möglich bestehende Lösungen ohne großen Aufwand zu kombinieren. Die Einstieghürde ist dabei erfreulich gering und die hier vorgestellte Kombination von jQTouch als Frondend und Googles App Engine als Webserver ist aktuell eine wirklich gute Möglichkeit Applikationen fürs iPhone zu entwickeln. Und Thobias Schneider hat mit Gordon gezeigt, welches Potential in Javascript steckt. Er wird übrigens einen Vortrag auf der von 17. und 18. April 2010 stattfindenden Javascript Konferenz http://jsconf.us/2010/speakers.html halten.

mfg. 3<



Read More !

Dienstag, 9. März 2010

Lotus Notes Kalender mit iPhone abgleichen - Teil 1.2

Version 0.1.5 von ncal2gcal steht ab sofort (2010-03-09) zum Download bereit. Wie immer gibt es neben dem gem-Paket eine Standalone Version. Das neue Zip-File mit der Standalone-Version ist ncal2gcal_portable_0.1.5.zip - die restlichen Links (siehe verhergehenden Post) sind weiterhin gültig.

Was ist neu?
Neu hinzugekommen ist die Option --sync-alarm. Damit besteht die Möglichkeit zu einem Termin auch einen gegenfalls definierten Alarm (als Popup) in den Google-Kalender zu übernehmen. So wie die Option --sync-desc welche zur Übernahme der Terminbeschreibung dient, wirkt auch die neue Option nur auf jene Termine, welche in Lotus Notes entweder neu angelegt oder geändert wurden. Nachdem der Google Kalender nur Reminder akzeptiert, welche maximal 4 Wochen und minimal 5 Minuten vor dem Termin liegen, erfolgt eine Anpassung falls der Alarm in Lotus Notes außerhalb dieses Bereichs liegen sollte.

mfg. 3<
Read More !

Donnerstag, 4. Februar 2010

Lotus Notes Kalender mit iPhone abgleichen - Teil 1.1

Das in Teil 1 angekündigte Lib/Tool kann bereits seit einigen Tagen von http://gemcutter.org/gems/ncal2gcal oder http://rubyforge.org/projects/ncal2gcal/ geladen werden. Auf rubyforge ist zudem im File ncal2gcal_portable_0.1.3.zip eine Standalone-Version verfügbar. Damit kann das Tool ohne Ruby und ohne sonstige Installation direkt nach dem Auspacken verwendet werden. Möglich ist dies durch den OneClick Ruby Application Builder(OCRA) von Lars Christensen.

An dieser Stelle auch ein Dankeschön an Mike Reich, welcher mit gcal4ruby die Basis für den Zugriff auf den Google-Kalender geschaffen hat!

Viel Spaß beim Ausprobieren!

3<
Read More !

Montag, 25. Januar 2010

Lotus Notes Kalender mit iPhone abgleichen - Teil 1

Motivation
Als ich im November 2009 anfing, mit dem Thema zu beschäftigen, gabt es keine einfache und frei verfügbare Möglichkeit einen Lotus Notes Kalender direkt mit dem iPhone zu synchronisieren. In der neuen Version von Lotus Notus (8.5.1) ist dies zwar angekündigt, allerdings ist zu erwarten, dass viele Unternehmen nicht so schnell umsteigen werden. Apple selbst unterstützt als direkte Möglichkeit ua. Outlook, sodass auch darüber eine Synchronisation möglich ist. Allerdings muss man auch in diesem Fall die Daten erst von Lotus Notes nach Outlook transferieren.

Recherchiert
Normalerweise gibt es für jedes Problem bereits mehrere Lösungen und die Schwierigkeit besteht darin, für den jeweiligen Zwecke die am besten geeignete zu finden. Obwohl ich einige Recherchen durchgeführt habe, konnte ich nichts Passendes finden. Wichtigste Anforderung war, dass keine Änderung an der bestehenden Lotus Notes-Installation erforderlich sein durften. Da das iPhone mit einem oder mehreren Google-Kalendern synchronisieren kann, war die Lösungsfindung sehr bald auch diesen Weg beschränkt. Vorteil davon ist zudem, dass damit auch beispielsweise Android-Geräte abgedeckt sind.


Einfachstlösung
Ausgangspunkt für den von mir gewählten Lösungsansatz ist die Möglichkeit über OLE auf eine Lotus Notes Datenbank zugreifen zu können. Der Zugriff erfolgt mittels ruby unter Verwendung des Modules "win32ole". Dabei werden die Kalendereinträge gelesen und mittels gcal4ruby in den angegebenen Google-Kalender eingetragen. Dieser Kalender kann dann wiederum (ohne zusätzliche Tools) mit dem iPhone synchronisiert werden.

Sychron?
Hauptziel war es alle Kalendereinträge auch auf einem mobilen Gerät verfügbar zu machen. Einträge sollten dabei weiterhin in Lotus Notes gewartet werden. Für den Anwender bedeutet dies, dass Änderungen im Google Kalender keine Auswirkungen auf die Einträge in Lotus Notes haben. Obwohl diese Einschränkungen die Entwicklung start vereinfachte, waren noch genug Hürden zu nehmen - aber dazu vielleicht ein andernmal mehr ...

Ausgeliefert
Das ncal2gcal getaufte lib wird in Kürze auf rubyforge.org zur Verfügung stehen. Account ist bereits angelegt, muss nur noch den code ein bisschen aufpolieren. Als Lizenz hab ich mich für die MIT-Licence entschieden, sodass der Weiterverwendung in anderen Projekten nichts entgegenstehen sollte. Weiters ist eine Standalone-Variante geplant, mit der es möglich sein wird das script ohne ruby-Installation direkt zu starten.


Read More !

Sonntag, 20. Dezember 2009

groesser3 ?

"when you don't create things, you become defined by your tastes rather than ability. your tastes only narrow & exclude people. so create." _why
Read More !