Pre and me – Erster Anwendungsprototyp PrivateSync
Inzwischen habe ich bald einen Monat mit dem Gerät herumgespielt und bin dann doch erst mal soweit zufrieden, daß ich es nicht gleich wieder verkaufen werde. 🙂
App Catalog
Ich habe das Gerät jetzt an meine deutsche SIM gebunden und habe inzwischen Zugriff auf den App Catalog. (waaaahnsinnig Umfangreich. Keine 100 Apps…)
Das war allerdings ein ziemliches Theater: Erst mal ein kompletter Reset. Dann will das Ding sich natürlich nur wieder aktivieren lassen, wenn es nach Hause telefonieren kann via Datenverbindung. Da ich keine Lust hatte, nach Deutschland rüber zu fahren, habe ich mir die Roaminggebühren gegönnt.
Aktivierung geht auch, aber – welch Überraschung – man kommt immer noch nicht in den App Catalog. Grrrr. Erst nachdem ich dann das nächste Mal in einem deutschen Netz eingebucht war und von dort (über WLAN!) aus auf den Catalog zugegriffen habe, war ich endlich drin. Das ist wirklich saudämlich gelöst.
The Missing Sync
Nach viel Suchen habe ich inzwischen auch aufgegeben und The Missing Sync bezahlt. Was mich aber ziemlich ärgert: die Synchronisierung von Kontakt- und Kalenderdaten auf seinem Rechner ist eigentlich ein Basisfeature für das ich nicht noch extra zahlen will. Zumal 39,95$ nicht grad ein Pappenstiel sind.
The Missing Sync funktioniert auch einigermaßen, allerdings kommt man doch häufig in die Situation, daß man irgendwo mit seinem Rechner und seinem Handy ist, wo man gerade kein WLAN hat, in dem beide eingebucht sind und sich auch finden können.
Der Datenaustausch funktioniert nämlich nur über ein (W)LAN, das eine Verbindung ins Internet haben muß (der Handshake der Geräte läuft über den Pairing Server von Mark/Space) und das die direkte Kommunikation der Geräte nicht verhindert – was v.a. bei (halb)öffentlichen Café Hot-Spots durchaus öfter der Fall ist.
Das Pre verbindet sich auch nicht mit einem Ad-Hoc Netzwerk, daß man mit seinem Rechner initiiert.
Fazit: Es geht, aber lange nicht so schön und flexibel wie bei meinen SonyEricsson Telefonen in Kombination mit Bluetooth und iSync.
PrivateSync
Weil mich das alles ziemlich nervt, habe ich ein eigenes Sync Programm angefangen. Das Konzept ist, um es mir erst mal einfach zu machen, allerdings ähnlich wie beim Missing Sync: Es funktioniert über TCP/IP. Es braucht aber keinen Pairing Server – man muß nur die IP Adresse (oder eine gültige Domain) seines Rechners angeben.
Auf Rechnerseite brauchts einen Webserver, auf dem eine Datei im JSON Format liegt, die die Kontakt- und Kalenderdaten in der Datenstruktur, die Contacts Service und Calendar Service brauchen, vorhält.
Der Telefonteil ist als Prototyp grundsätzlich benutzbar, allerdings tut’s auch nicht viel: Beim ersten Start wird ein PrivateSync Account angelegt, in dem die Daten abgelegt werden. Im User Interface gibt man die Adresse der Datei an, drückt auf „Refresh Now“ und wartet, bis die App die Daten eingelesen hat.
Einschränkungen:
- Momentan funktionieren nur die Kontaktdaten, die Kalenderdaten sind allerdings analog zu handhaben und reine Fleißarbeit.
- Es gibt noch keine echte Synchronisation, die Daten im PrivateSync Account werden vollständig mit den Daten vom Server überschrieben. Es gibt allerdings sowohl beim Contacts Service als auch beim Calendar Service eine Service Methode getChanges im Synergy Service, der das Syncing leicht macht – der Weg dahin ist also bereits geebnet.
- Es fehlt noch eine Authentifizierung: Damit man die Daten ruhigen Gewissens auf seinen Webspace legen kann und nicht nur auf seinen lokal installierten Webserver, sollte da zumindest eine Basic Auth davor sein.
- Der Server/Rechner Teil fehlt noch vollständig. Für meine eigenen Bedürfnisse reicht mir eine Webapplikation, die vCard/vCal Daten in das benötigte JSON umwandelt (Das Apple Adressbuch hat z.B. eine entsprechende Exportfunktion). Das werde ich mir schon in Perl zusammenbasteln – das ist für solche Datenoperationen ausgesprochen geeignet – und entsprechende Libraries gibts zum Beispiel bereits mit Text::vCard::Addressbook und Net::ICal::Calendar.
Schöner wäre natürlich eine vollständig integrierte Synchronisation, mit Hilfe einer nativen MacOS X Applikation, das die Adressbuch und iCal APIs verwenden. Gerade hier würde ich mich über Unterstützung freuen! Hat jemand Erfahrung damit? - Da der Telefonteil relativ einfach und offen ist, wäre eine Integration in eigene CRM Systeme, online Adressverwaltungen etc. sehr einfach zu bewerkstelligen. Auch existierende Social Networks könnte man damit anbohren. Facebook ist ja schon von Palm abgedeckt. Ich hätte momentan vor allem XING im Visier. Leider haben die kein simples REST API o.ä. veröffentlicht und gehen mit Ihren Schnittstellen auch nicht gerade hausieren – Informationen sind da etwas mühsam zusammenzuklauben. Sie konzentrieren sich offenbar ganz auf OpenSocial. Wäre interessant, ob man via OpenSocial an die Kontaktdaten seiner Kontakte kommen kann.
Den Prototyp (leider noch furchtbar schlecht dokumentiert und mit viel Experimentalcode) gibts hier:
github.com/tladesignz/PrivateSync
Sobald es einen vorzeigbaren Zustand erreicht, werde ich das bei PreCentral anbieten – bis dahin bleibts aber erst mal nur zum basteln bei GitHub.
Vielen Dank!
Problem bei der Sache ist: Die Hauptarbeit liegt eigentlich auf Rechnerseite. In Mac/Win/Linux Systemprogrammierung bin ich aber leider voellig planlos. Solange sich niemand findet, der da ein paar ordentliche Programme schreibt, bleibt das ganze nur ein Proof-of-concept.
Wenn ich weitergebaut habe, werde ich das hier verkuenden, also einfach dem Blog folgen…
@Benjamin:
eine tolle Idee, der Missing Sync Clone. Vor allem, wenn man sich wie im Moment über die Fehlermelung „pairing server is unavailable“ freuen darf. Wenn es fertig ist und gut läuft, dann würde ich gern dafür auch Geld ausgeben und dem Geld für MissingSync wenig hinterhertrauern.
Gruß, V.