<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>benjamin erhart &#187; Synergy Service</title>
	<atom:link href="http://benjaminerhart.com/tag/synergy-service/feed/" rel="self" type="application/rss+xml" />
	<link>http://benjaminerhart.com</link>
	<description>web &#38; mobile dev / it sec</description>
	<lastBuildDate>Wed, 01 Feb 2012 15:41:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Pre and me &#8211; Erster Anwendungsprototyp PrivateSync</title>
		<link>http://benjaminerhart.com/2010/01/pre-and-me/</link>
		<comments>http://benjaminerhart.com/2010/01/pre-and-me/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 13:46:57 +0000</pubDate>
		<dc:creator>tla</dc:creator>
				<category><![CDATA[Technik]]></category>
		<category><![CDATA[AppCatalog]]></category>
		<category><![CDATA[Homebrew]]></category>
		<category><![CDATA[Homebrew Apps]]></category>
		<category><![CDATA[Missing Sync]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Palm Pre]]></category>
		<category><![CDATA[Pre]]></category>
		<category><![CDATA[Synergy]]></category>
		<category><![CDATA[Synergy Service]]></category>

		<guid isPermaLink="false">http://benjaminerhart.com/2010/01/pre-and-me-erste-anwendung/</guid>
		<description><![CDATA[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 ...]]></description>
			<content:encoded><![CDATA[<p>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. <img src='http://benjaminerhart.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<span id="more-310"></span></p>
<h1>App Catalog</h1>
<p>Ich habe das Gerät jetzt an meine deutsche SIM gebunden und habe inzwischen Zugriff auf den App Catalog. (waaaahnsinnig Umfangreich. Keine 100 Apps&#8230;)</p>
<p>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.</p>
<p>Aktivierung geht auch, aber &#8211; welch Überraschung &#8211; 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.</p>
<h1>The Missing Sync</h1>
<p>Nach viel Suchen habe ich inzwischen auch aufgegeben und <a href="http://www.markspace.com/products/pre/index.html">The Missing Sync</a> 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.</p>
<p><a href="http://www.markspace.com/products/pre/index.html">The Missing Sync</a> 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.</p>
<p>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 &#8211; was v.a. bei (halb)öffentlichen Café Hot-Spots durchaus öfter der Fall ist.</p>
<p>Das Pre verbindet sich auch nicht mit einem Ad-Hoc Netzwerk, daß man mit seinem Rechner initiiert.</p>
<p>Fazit: Es geht, aber lange nicht so schön und flexibel wie bei meinen SonyEricsson Telefonen in Kombination mit Bluetooth und <a href="http://de.wikipedia.org/wiki/ISync">iSync</a>.</p>
<h1>PrivateSync</h1>
<p>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 &#8211; man muß nur die IP Adresse (oder eine gültige Domain) seines Rechners angeben.</p>
<p>Auf Rechnerseite brauchts einen Webserver, auf dem eine Datei im JSON Format liegt, die die Kontakt- und Kalenderdaten in der Datenstruktur, die <a href="https://developer.palm.com/index.php?option=com_content&amp;view=article&amp;id=1701">Contacts Service</a> und <a href="https://developer.palm.com/index.php?option=com_content&amp;view=article&amp;id=1751">Calendar Service</a> brauchen, vorhält.</p>
<p>Der Telefonteil ist als Prototyp grundsätzlich benutzbar, allerdings tut&#8217;s auch nicht viel: Beim ersten Start wird ein PrivateSync <a href="https://developer.palm.com/index.php?option=com_content&amp;view=article&amp;id=1737">Account</a> angelegt, in dem die Daten abgelegt werden. Im User Interface gibt man die Adresse der Datei an, drückt auf &#8220;Refresh Now&#8221; und wartet, bis die App die Daten eingelesen hat.</p>
<p>Einschränkungen:</p>
<ul>
<li>Momentan funktionieren nur die Kontaktdaten, die Kalenderdaten sind allerdings analog zu handhaben und reine Fleißarbeit.</li>
<li>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<a href="https://developer.palm.com/index.php?option=com_content&amp;view=article&amp;id=1701#Contacts-getChanges"> Contacts Service</a> als auch beim <a href="https://developer.palm.com/index.php?option=com_content&amp;view=article&amp;id=1751#Calendar-getChanges">Calendar Service</a> eine Service Methode <em>getChanges</em> im Synergy Service, der das Syncing leicht macht &#8211; der Weg dahin ist also bereits geebnet.</li>
<li>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 <a href="http://httpd.apache.org/docs/2.2/howto/auth.html">Basic Auth</a> davor sein.</li>
<li>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 &#8211; das ist für solche Datenoperationen ausgesprochen geeignet &#8211; und entsprechende Libraries gibts zum Beispiel bereits mit <a href="http://search.cpan.org/~llap/Text-vCard-2.03/lib/Text/vCard/Addressbook.pm">Text::vCard::Addressbook</a> und <a href="http://search.cpan.org/~srl/Net-ICal-0.15/lib/Net/ICal/Calendar.pm">Net::ICal::Calendar</a>.<br />
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?</li>
<li>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 <a href="http://www.xing.com/">XING</a> im Visier. Leider haben die kein simples REST API o.ä. veröffentlicht und gehen mit Ihren Schnittstellen auch nicht gerade hausieren &#8211; Informationen sind da etwas mühsam zusammenzuklauben. Sie konzentrieren sich offenbar ganz auf <a href="http://wiki.opensocial.org/index.php?title=XING">OpenSocial</a>. Wäre interessant, ob man via OpenSocial an die Kontaktdaten seiner Kontakte kommen kann.</li>
</ul>
<p>Den Prototyp (leider noch furchtbar schlecht dokumentiert und mit viel Experimentalcode) gibts hier:</p>
<pre><a href="http://github.com/tladesignz/PrivateSync">github.com/tladesignz/PrivateSync</a>
</pre>
<p>Sobald es einen vorzeigbaren Zustand erreicht, werde ich das bei <a href="http://www.precentral.net/">PreCentral</a> anbieten &#8211; bis dahin bleibts aber erst mal nur zum basteln bei GitHub.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://benjaminerhart.com/2010/01/pre-and-me/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pre aufgebohrt</title>
		<link>http://benjaminerhart.com/2009/12/pre-aufgebohrt/</link>
		<comments>http://benjaminerhart.com/2009/12/pre-aufgebohrt/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 16:33:37 +0000</pubDate>
		<dc:creator>tla</dc:creator>
				<category><![CDATA[Technik]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[AppCatalog]]></category>
		<category><![CDATA[Hello World]]></category>
		<category><![CDATA[Homebrew]]></category>
		<category><![CDATA[Homebrew Apps]]></category>
		<category><![CDATA[Missing Sync]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Palm Pre]]></category>
		<category><![CDATA[Pre]]></category>
		<category><![CDATA[Synergy]]></category>
		<category><![CDATA[Synergy Service]]></category>

		<guid isPermaLink="false">http://benjaminerhart.com/?p=301</guid>
		<description><![CDATA[Ich habe weiter herumgespielt und geforscht und bin über einige interessante Dinge gestolpert.
Homebrew Apps
Der AppCatalog funktioniert ja nicht, solange ich keine Lust habe, das Gerät bzw. den zugehörigen Palm Account an eine deutsche SIM zu binden. Deshalb habe ich mich mal nach Alternativen umgeschaut und prompt einiges gefunden:

PreCentral hat ein Homebrew App Verzeichnis mit ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-304" title="Hello World auf echtem Pre" src="/wp-content/uploads/2009/12/predev.jpg" alt="Hello World auf echtem Pre" width="290" height="442" />Ich habe weiter herumgespielt und geforscht und bin über einige interessante Dinge gestolpert.</p>
<h1>Homebrew Apps</h1>
<p>Der AppCatalog funktioniert ja nicht, solange ich keine Lust habe, das Gerät bzw. den zugehörigen Palm Account an eine deutsche SIM zu binden. Deshalb habe ich mich mal nach Alternativen umgeschaut und prompt einiges gefunden:</p>
<p><a href="http://www.precentral.net/">PreCentral</a> hat ein <a href="http://www.precentral.net/homebrew-apps">Homebrew App Verzeichnis</a> mit einer eigenen <a href="http://www.precentral.net/homebrew-apps/filecoaster">feinen Installer App</a>.<a href="http://www.precentral.net/homebrew-apps"></a></p>
<p>Diese muß erst mal händisch auf das Gerät gebracht werden, danach kann man alle weiteren Homebrew Apps ohne große Umstände mit dessen Hilfe installieren.</p>
<p>Für Leute, die keine Entwicklertools installieren wollen und auf Windows oder Mac unterwegs sind, gibt es eine <a href="http://www.precentral.net/how-add-homebrew-apps-patches-and-themes">Anleitung</a> und Hilfstools, um das zu bewerkstelligen.<span id="more-301"></span></p>
<p>Wenn man die Entwicklungstools bereits installiert hat, brauch man das nicht, sondern kann folgendermaßen vorgehen:</p>
<ul>
<li>Zuerst das Gerät in den Entwicklungsmodus bringen, wie bei <a href="http://developer.palm.com/index.php?option=com_content&amp;view=article&amp;id=1639#InstallingEclipsewiththeSDK-dev_mode">Palm</a> oder <a href="http://www.precentral.net/how-add-homebrew-apps-patches-and-themes">PreCentral</a> beschrieben. (Ja, das ist der berühmte &#8220;<a href="http://en.wikipedia.org/wiki/Konami_&lt;/code&gt;code">Konami Code</a>&#8220;)</li>
<li>Dann das Gerät per USB mit dem Rechner verbinden (nur laden)</li>
<li>Auf der Kommandozeile des Rechners <code>novaterm</code> bemühen</li>
<li>Schwups ist man als root auf dem Pre eingeloggt &#8211; das ging erstaunlich schnell, ganz ohne Verbindungseinstellungstrallalla (<a href="http://www.webos-internals.org/wiki/Accessing_Linux_Using_Novaterm">ausführliche Anleitung bei webOS Internals</a>)</li>
<li>Die <a href="http://www.precentral.net/homebrew-apps/filecoaster">Installer App &#8220;Filecoaster&#8221;</a> auf den Rechner laden und in ein Verzeichnis schmeissen, daß vom dort installierten Web Server erreichbar ist. Alternativ nimmt man z.B. seinen Webspace/Webserver im Internet</li>
<li>Dann wie in <a href="http://www.webos-internals.org/wiki/Tutorials_webOS_Installing_An_Ipk#3b.29_To_Install_Pre_Apps_Using_PuTTY.28Wifi.29">dieser Anleitung</a> folgendes auf dem Pre ausführen:</li>
</ul>
<p><code>root@palm-webos-device:/# /usr/bin/ipkg -o /var install http://[rechnerip|name]/com.palm_.net_.precoder.fcoaster_1.1.6_all.ipk<br />
root@palm-webos-device:/# luna-send -n 1 palm://com.palm.applicationManager/rescan {}</code></p>
<ul>
<li>Das wars schon. Filecoaster ist installiert und kann direkt verwendet werden.</li>
</ul>
<p>Hier meine vorläufige Homebrew App Empfehlungsliste:</p>
<ul>
<li><a href="http://www.precentral.net/homebrew-apps/preload">Preload</a>, ein weiterer App Manager mit noch mehr Apps und ein paar Zusatzfeatures</li>
<li><a href="http://www.precentral.net/homebrew-apps/tweefree">TweeFree</a>, Twitter Client</li>
<li><a href="http://www.precentral.net/homebrew-apps/keyring">Keyring</a>, Zugangsdatenverwaltung</li>
<li><a href="http://www.precentral.net/homebrew-apps/what-my-ip">What Is My IP</a>, zeigt die aktuell zugewiesene IP</li>
<li><a href="http://www.precentral.net/homebrew-apps/whois-mobile">WHOIS Mobile</a>, whois Abfrage</li>
<li><a href="http://www.precentral.net/homebrew-apps/quick-system-tasks">Quick System Tasks</a>, bündelt einige Einstellungen des Pre</li>
</ul>
<h1>Private Kontaktdaten</h1>
<p>Nachdem sich in mir innerlich alles sträubt, schon wieder viel Geld auszugeben für <a href="http://markspace.com/products/pre/mac/palm-pre-sync-overview.html">The Missing Sync</a>, habe ich ein wenig darüber nachgedacht, wie ich das Pre dazu kriege Kontakte und Kalenderdaten aufzunehmen, <em>ohne</em> sie irgendwohin ins Netz zu synchronisieren (sei es nun Palm, Google, Yahoo oder was auch immer).</p>
<p>Es gibt ja bereits den <a href="http://www.palm.com/us/support/downloads/pre/migration/de/index.html">Datenübertragungsassistenten von Palm</a>. Alles was ich also offenbar noch brauche, ist ein eigener Synergy Service, der die Daten aufnimmt, statt dem Palm Konto Service.</p>
<p>Die <a href="http://developer.palm.com/index.php">Entwicklerdokumentation von Palm</a> ist ja leider nicht besonders umfangreich. <a href="http://www.weboshelp.net/getting-started-with-webos/458-palm-synergy-services">webOShelp</a> hilft aber hier weiter.</p>
<p>Das wird also mein erstes Projekt werden: Eine webOS App schreiben, die einen eigenen Synergy Service bereitstellt um Kontakt- und Kalenderdaten aufzunehmen. Synchronisieren soll das Ding erst mal noch nicht können müssen, aber auf lange Sicht wäre das natürlich fein. Im Endeffekt also ein Missing Sync Nachbau.</p>
<p>Natürlich will ich das als Open Source veröffentlichen.</p>
<p>Jeder, der mich bei dem Vorhaben unterstützen will, ist willkommen! Nur raus mit dem Know-How und der Manpower!</p>
<h1>Hello World</h1>
<p>Schließlich und endlich ein weiterer Erfolg: Ich hab schon vor einiger Zeit das <a href="http://developer.palm.com/index.php?option=com_content&amp;view=article&amp;id=1758">Hello World Tutorial</a> vollständig durchgemacht und heute selbiges auf dem Gerät zum laufen gebracht. Das macht wirklich Spaß. Gerät anstecken (Entwicklermodus muß freigeschalten sein, s.o.), in der Eclipse unter <code>Run -&gt; Run Configurations -&gt; Mojo Application -&gt; HelloWorld -&gt; Main -&gt; Target</code> einfach &#8220;Palm Device&#8221; statt &#8220;Emulator&#8221; auswählen, dann &#8220;Run&#8221; wählen. Das wars schon!</p>
<p>Jiiiihaaa!</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://benjaminerhart.com/2009/12/pre-aufgebohrt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

