<?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>Simon Koelsch &#187; xmpp/jabber</title>
	<atom:link href="http://www.simon-koelsch.de/tag/xmppjabber/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simon-koelsch.de</link>
	<description>coding software, using gadgets</description>
	<lastBuildDate>Mon, 20 Jun 2011 09:38:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Google Wave geht in erste grosse Beta Phase</title>
		<link>http://www.simon-koelsch.de/69-google-wave-geht-in-erste-grosse-beta-phase</link>
		<comments>http://www.simon-koelsch.de/69-google-wave-geht-in-erste-grosse-beta-phase#comments</comments>
		<pubDate>Thu, 01 Oct 2009 18:08:32 +0000</pubDate>
		<dc:creator>Simon Koelsch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[xmpp/jabber]]></category>

		<guid isPermaLink="false">http://www.simon-koelsch.de/?p=69</guid>
		<description><![CDATA[Kurzer Kommentar zur Google Wave Beta Phase, kleine Zusammenfassung der Aenderungen und Google Wave Einladungen.]]></description>
			<content:encoded><![CDATA[<p>Seit es die Google Wave Developers Sandbox zum reinschnuppern ins Protokoll, die vielen bunten Gadgets, die API, etc. hat sich wieder einiges getan.</p>
<p>Rund 27.000 Entwickler haben sich dafür erfolgreich registriert, mit der API gespielt und kleine Prototypen in Form von Gadgets und Robots geschrieben.<span id="more-69"></span>Die<a title="Java robot Client Library" href="http://code.google.com/p/wave-robot-java-client/"> Java Robot Client Library</a> wurde nun ganz offiziell als Open Source verabschiedet und ist bei Google Code zum download verfügbar.</p>
<p><a title="Google Featured Wave Extensions" href="http://wave.google.com/help/wave/extensions.html">Es wurden von verschiedenen Firmen Extensions entwickelt die jetzt von Google selbst unterstützt werden</a>. Dazu zählen einfache Spiele wie Sudoku genauso, wie Video Chat Anwendungen und eine Wetter Erweiterung.</p>
<p>Eine Vorschau gibt es für Erweiterungen von SAP, salesForce.com (Stichwort Cloud Computing) und MediaWiki (dafür scheint Google Wave ja wie gemacht zu sein).</p>
<p>Ausserdem findet man bei den Extensions jetzt auch die<a title="Wave Extensions Design Principles" href="http://code.google.com/apis/wave/extensions/designprinciples.html"> "Wave Extension Design Principles"</a>.</p>
<p>Wer bisher keine Lust oder Zeit hatte, sich das 80 Minuten Video zur Google Wave Präsentation auf der Google I/O anzusehen, hat nun die Möglichkeit in 8 Minuten eine Übersicht zu bekommen. Stephanie und Greg vom Entwicklerteam haben die Features nochmal schnell zusammengefasst:</p>
<p><object width="480" height="295" data="http://www.youtube.com/v/p6pgxLaDdQw&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;hd=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/p6pgxLaDdQw&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;hd=1" /><param name="allowfullscreen" value="true" /></object></p>
<p>Ob das etwas mit den 100.000 verschickten Einladungen zu tun hat? <img src='http://www.simon-koelsch.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Aus <img title="Google Wave Developer Sandbox Logo" src="https://wave.google.com/a/wavesandbox.com/static/images/logo_dev_preview.png" alt="Google Wave Developer Sandbox Logo" width="176" height="39" /> wird jedenfalls <img title="Google Wave Beta Logo" src="https://wave.google.com/wave/static/images/logo_preview.png" alt="Google Wave Beta Logo" width="136" height="39" />.</p>
<p>Laut dem <a title="Ankündigung Google Wave Beta Einladungen" href="http://googlewavedev.blogspot.com/">offiziellen Blogposting von Stephanie</a> sind die Einladungen naemlich schon raus.</p>
<blockquote><p>To all sandbox developers, thank you for your patience, feedback, creativity and riding the sometimes bumpy waves with us. You will get accounts on <a href="http://wave.google.com/wave">wave.google.com</a> tomorrow - check your sandbox account for instructions on how to login. You'll also get invitations to bring on people you want to wave with or have try your extensions. Google Wave is more fun with friends or colleagues to collaborate with so use your invitations wisely!</p></blockquote>
<p>Tatsächlich habe ich in meinem Developer Sandbox Account eine Einladung zur Betaphase auf <a title="Google Wave" href="http://wave.google.com">wave.google.com</a> gefunden.</p>
<p>In meinem Firefox 3.5 laeuft das Frontend inzwischen deutlich stabiler als in der Sandbox. Auche meine ich einen positiven Geschwindigkeitsunterschied feststellen zu koennen. Mehr kommt dann in den nächsten Tagen.</p>
<p>Aber testet doch am besten selbst, <del datetime="2009-10-11T17:49:51+00:00">ich habe noch 4 Einladungen übrig</del> <img src='http://www.simon-koelsch.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Hinterlasst dazu einfach einen kurzen Kommentar - First come, first served!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simon-koelsch.de/69-google-wave-geht-in-erste-grosse-beta-phase/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Google Wave &#8211; Ein erster Eindruck</title>
		<link>http://www.simon-koelsch.de/17-google-wave-erste-eindruecke</link>
		<comments>http://www.simon-koelsch.de/17-google-wave-erste-eindruecke#comments</comments>
		<pubDate>Thu, 04 Jun 2009 17:49:33 +0000</pubDate>
		<dc:creator>Simon Koelsch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[xmpp/jabber]]></category>

		<guid isPermaLink="false">http://www.simon-koelsch.de/?p=17</guid>
		<description><![CDATA[Am 28.5. wurde Google Wave das erstemal auf der Developers Konferenz Google IO in San Francisco vorgestellt. Die Praesentation[1] dauerte 1.20h und ist ein schoener erster Einstieg in die Ideen, welche hinter diesem Projekt stecken. Hier zeigt Lars Rasmussen mit seinem Team schoen ueber mehrere Rechner verteilt wie einfach es ist, mit den Google eigenen [...]]]></description>
			<content:encoded><![CDATA[<p>Am 28.5. wurde Google Wave das erstemal auf der Developers Konferenz Google IO in San Francisco vorgestellt.<br />
Die Praesentation[1] dauerte 1.20h und ist ein schoener erster Einstieg in die Ideen, welche hinter diesem Projekt stecken.</p>
<p>Hier zeigt Lars Rasmussen mit seinem Team schoen ueber mehrere Rechner verteilt wie einfach es ist, mit den Google eigenen Wave Applikationen zu Chatten, Teilnehmer zum Chat hinzuzufuegen, private Gespraeche zu fuehren, die History zurueckzuspielen und Dokumente zu tauschen. Bildergalerien werden einfach per "<em>Drag and Drop</em>" in die Anwendung gezogen worauf hin fast sofort eine Vorschau mit Thumbnails entsteht, obwohl die Bilder noch nicht komplett hochgeladen wurden.</p>
<p>Besitze ich nun einen Blog, kann ich diese Bildergalerie direkt aus Google Wave heraus einbinden. Aenderungen, zum Beispiel an einem Bildtitel, werden sofort sichtbar.<br />
Das bedeutet Tastenanschlag fuer Tastenaschlag wird unmittelbar uebertragen. Ich kann meinem Kommunikationspartner also beim Tippen zusehen.</p>
<p>Die in der Einfuehrung gezeigte Webapplikation ist uebrigends mit dem Web Toolkit und HTML 5 gebaut[2].</p>
<p>Doch was ist denn Google Wave eigentlich ohne die bunten Webapplikationen betrachtet?</p>
<h3><span id="more-17"></span>Protokolluebersicht</h3>
<p>Google Wave ist vor allem erstmal ein erweitertes XMPP Protokoll. Damit erben wir sozusagen saemtliche Bestandteile von Jabber, das heisst die XML Basis, Adressierung, TLS, Buddylist-Konzept, etc.</p>
<p>Jetzt gibt es in Google Wave sogenannte Wavelets. Ein Wavelet besteht aus einer eindeutigen ID, einer Liste mit Berechtigungen und einem Satz von XML Dokumenten. Dieses Wavelet liegt dann beim Waveprovider des Erstellers. Moechte man nun dieses Dokument mit anderen Benutzern teilen, fuegt man die Benutzer der Berechtigungsliste hinzu. Die anderen Benutzer koennen dabei zum Beispiel nur Leserechte haben oder ebenfalls auch Schreibrechte.</p>
<p>Am Anfang wird dann der Wave Provider des Benutzers eine Kopie der fuer ihn zugaenglichen XML Dokumente erhalten. Aenderungen an den Dokumenten des Wavelets werden von da an in Echtzeit durch das Google Wave Protokoll an alle anderen Benutzer uebertragen. Durch jede Eingabe, jeden Tastenanschlag, entsteht also eine eigene "Wave"mit den Aenderungen zur vorherigen Dokumentenversion. Durch dieses System entstehen verschiedene Versionen der Ursprungsdokumente. Diese Versionen koennen jederzeit problemlos angefordert werden,  so entsteht ganz automatisch eine beliebig flexible History. Es ist also nicht nur moeglich einen Schritt zurueck zu gehen, sondern man kann ganz gezielt den Urzustand einer bestimmten Stelle des Dokuments herstellen.</p>
<p>Google Wave  ist also erstmal nur ein Protokoll, um Aenderungen an Dokumenten in Echtzeit zu publizieren.</p>
<h3>Anforderungen und Probleme</h3>
<p>Um diese Technik nutzen zu koennen benoetige ich also einen Wave Provider und meine Anwendung, welche die erstellten XML Dokumente in einer brauchbaren Form rendert.</p>
<p>Wave Provider wird es ueber kurz oder lang wohl recht viele geben. Da das Protokoll "Open Source" und recht ueberschaubar ist, wird es wahrscheinlich kein Problem sein, einen eigenen Server zu schreiben. Zur Google eigenen Serversoftware wurde im Vortrag leider nichts gesagt, auch nicht ueber die Systemanforderungen. Anforderungen sind fuer mich jetzt schlecht abzuschaetzen, aber ich denke hier wird es hohe Ansprueche an die Infrastruktur geben. Ich bin selbst kein grosser Freund von XMPP/Jabber, aber die grossen Jabber Server haben immer wieder Probleme durch erhebliche Netzlast die zum Beispiel durch Onlinestatus-Updates der Benutzer generiert werden. Jeder kann sich selbst ausrechnen was fuer Traffic generiert wird, wenn wirklich viele Benutzer, zum Beispiel waehrend einer Konferenz, ein Dokument in Echtzeit bearbeiten. Auf die technischen Probleme von XMPP/Jabber wird im Wiki zu PSYC entsrpechend eingegangen[3].</p>
<p>Ein weiteres Problem sehe ich in der Strukturierung des XMLs. Google zeigt zwar waehrend der Demo schoen, wie einfach es ist gemeinsam Dokumente zu bearbeiten und das jeder sich im Prinzip seinen eigenen Wave Server aufsetzen kann, trotzdem muesste dann auch das Dokumentnformat irgendwo spezifizieren da sich die darin enthaltenen Informationen sonst nicht rendern lassen. An eine offene Spezifikation aus der Community will ich irgendwie noch nicht so recht glauben.</p>
<p>Ob Google Wave also wirklich die Technik fuer eine neue Kommunikationsform wird, haengt vor allem davon ab, ob man sich gemeinsam auf ein entsprechendes Format zur Uebertragung dieser Kommunikation einigen kann. Bei Google Groups zum Thema Wave Protokoll wurde diese Problematik wohl kurz angesprochen[4], inzwischen scheint die Diskussion aber eingeschlafen zu sein.</p>
<p>In der Google Wave Robots API gibt es zwar ein Interface "Blip"[5], welches einen Knoten in einer Kommunikation repraesentiert, genauere Spezifikationen habe ich aber dazu leider noch nicht finden koennen.</p>
<h3>Ausblick</h3>
<p>Sicher das Wave Protokoll ist eine nette Sache. Ob es aber tatsaechlich die Kommunikation im Netz so massgeblich beeinflussen wird, wie ueberall prophezeit bleibt abzuwarten.</p>
<p>Sicher kann man sich aber sein, dass dieses Protokoll auf jedenfall kommen wird. Google hat die ersten Teile der Spezifikationen oeffentlich zugaenglich gemacht und ein kleines API Kit in Java und Python fuer Robots und aehnliche Anwendungsfaelle zur Verfuegung gestellt. Die Teilnehmer der Google IO Konferenz haben alle einen Sandbox Zugang erhalten und koennen vorab die Google Anwendungen und das Protokoll testen.</p>
<p>Mit der Zeit wird man sicher immer mehr Robots als Service zur Verfuegung haben. Anwendungsfaelle wie zum Beispiel eine schicke kontextabhaengige Rechtschreibkontrolle, automatisiertes Bloggen, etc. wurden ja im Vortrag schon demonstriert. Das die Google App Engine Python und Java unterstuetzt ist sicherlich auch kein Zufall und so findet man fuer kleinere Robots hier sogar in Google einen kostenlosen Hoster.</p>
<p>Ich bin gespannt was beim Sandboxtest rauskommt und wie gut das Protokoll tatsaechlich in einer echten Umgebung skaliert. Die Performance Problematik habe ich ja oben kurz angesprochen...</p>
<p>Ausserdem interessiert mich wie Google den Open Source Prozess umsetzt. Traditionell bestehen die Committer und Maintainer (also die Leute welche Aenderungen am Protokoll auch wirklich einspielen koennen) ja aus der Community welche entweder durch eine spezielle Gruppe ausgewaehlt werden oder eben direkt gewaehlt sind. Natuerlich bedeutet Open Source nicht die Verpflichtung diese Aufgaben an eine Community zu geben, aber die "Community Principles"[6] lassen auf etwas in dieser Richtung schliessen. Im Moment sind die Committer selbstverstaendlich noch die Entwickler bei Google[7] selbst.</p>
<h3>Weiterfuehrende Links</h3>
<p>Wer sich mit dem Thema naeher befassen will, dem empfehle ich folgende Links:</p>
<p><a title="YouTube Wave Einfuehrung" href="http://www.youtube.com/watch?v=v_UyVmITiYQ">Einfuehrung von Google Wave auf der Google IO</a></p>
<p><a title="Draft Protocol Spec" href="http://www.waveprotocol.org/draft-protocol-spec">Ein erster Entwurf der Protokollspezifikationen</a></p>
<p><a title="Google Wave Federation Architecture" href="http://www.waveprotocol.org/whitepapers/google-wave-architecture">Uebersicht ueber die Protokollarchitektur</a></p>
<p><a title="Diskussionen ueber Google Wave bei Google Groups" href="http://groups.google.com/group/wave-protocol">Google Groups Diskussionen</a></p>
<p><a title="Google Wave API" href="http://code.google.com/apis/wave/guide.html">Google Wave APIs</a></p>
<h3><strong> </strong>Fussnoten:</h3>
<p>[1] <a title="Google IO Wave Introduction" href="http://www.youtube.com/watch?v=v_UyVmITiYQ">Google Wave Introduction from Google IO - http://www.youtube.com/watch?v=v_UyVmITiYQ</a></p>
<p>[2] <a title="Google Blogpost ueber Wave" href="http://googleblog.blogspot.com/2009/05/went-walkabout-brought-back-google-wave.html">Went walkabout. Brought back Google Wave - http://googleblog.blogspot.com/2009/05/went-walkabout-brought-back-google-wave.html</a></p>
<p>[3] <a title="PSYC Wiki - Jabber" href="http://about.psyc.eu/Jabber">Technical Issues in Jabber - http://about.psyc.eu/Jabber</a></p>
<p>[4] <a title="Wavelets XML Rendering Problematik" href="http://groups.google.com/group/wave-protocol/browse_thread/thread/2d3fb5ce88dc3249">Google Groups: <span id="thread_subject_site">Wavelets with different XML schemas - how to render?</span> - http://groups.google.com/group/wave-protocol/browse_thread/thread/2d3fb5ce88dc3249</a></p>
<p>[5]<a title="Robots API Kit Javadoc" href="http://wave-robot-java-client.googlecode.com/svn/trunk/doc/index.html"> Google Wave Robots API Javadoc - http://wave-robot-java-client.googlecode.com/svn/trunk/doc/index.html</a></p>
<p>[6] <a title="Community Principles" href="http://www.waveprotocol.org/wave-community-principles">Google Wave Community Principles - http://www.waveprotocol.org/wave-community-principles</a></p>
<p>[7] <a title="Comitter des Wave Protokolls" href="http://www.waveprotocol.org/committers">Google Wave Committers - http://www.waveprotocol.org/committers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simon-koelsch.de/17-google-wave-erste-eindruecke/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

