<feed xmlns="http://www.w3.org/2005/Atom" xml:base="http://ralphm.net/" xml:lang="en"><title>ralphm's blog</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/"/><link rel="self" type="application/atom+xml" href="http://test.ralphm.net/blog/atom"/><id>http://ralphm.net/blog</id><updated>2008-07-30T17:25:02+02:00</updated><entry><title>XMPP and Social Networks, part 2: Nodes</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2008/07/30/xmpp_social_networks_2"/><id>http://test.ralphm.net/blog/2008/07/30/xmpp_social_networks_2</id><author><name>ralphm</name></author><updated>2008-07-30T17:25:02+02:00</updated><published>2008-07-30T17:25:02+02:00</published><subtitle>How to organize the nodes that can be subscribed to and what
          identifiers to use for them.</subtitle><summary>This second part of a series on how to use XMPP
            publish-subscribe for accessing social networking services, node
            organization and naming is explored. Jaiku and Mediamatic Lab's
            anyMeta are used to provide real examples for different choices
            that can be made in this respect.</summary><category term="federating social networks"/><category term="fsn"/><category term="xmpp"/><category term="publish-subscribe"/><category term="pubsub"/><category term="idavoll"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
      

      <p>In <a href="">part 1</a> I wrote about what you can
        subscribe to and how a social network service will send out
        notifications. I often used <em>node</em> as the thing
        you subscribe to, a term comes directly from the <a href="http://www.xmpp.org/extensions/xep-0060.html">XMPP Publish
          Subscribe</a> specification. In other publish-subscribe
        implementations this is often referred to as
        <em>topic</em>. Nodes are kept by a publish-subscribe
        service, and, among other things, this service is responsible for
        keeping the list of subscribers and sending out notifications.</p>

      <p>Publish-subscribe services currently come in two forms: dedicated
        publish-subscribe services with their own domain (e.g.
        <code class="literal">pubsub.ik.nu</code>) and publish-subscribe services tied
        to a user account (often mentioned in combination with the <a href="http://www.xmpp.org/extensions/xep-0163.html">Personal Eventing
          Protocol</a>, also known as PEP). In the latter case, nodes are
        kept at the bare JID of a user's account (e.g.
        <code class="literal">ralphm@ik.nu</code>. Personal pubsub-nodes have nice
        properties, like the ability to directly associate a particular node
        with a person, and the possibility of doing access control on the
        user's contact list (roster).</p>

      <h4>Node organization</h4>
        

        <p>In the context of federating social networks, a service needs to
          decide where to put the nodes it wants to allow other entities to
          subscribe to and send out notifications from. In some cases it makes
          sense to keep nodes at user accounts, though in some other cases it
          is better to provide the nodes at the domain of the service itself.
          This depends on the nature of the social objects and the
          subscribable unit you provide. Let's explore some use cases.
        </p>

        <h5>Jaiku</h5>
          

          <p>In <a href="http://jaiku.com/">Jaiku</a>, social
            objects (microblog posts and aggregated items like photos,
            bookmarks, etc), are organized in streams. Streams are tied to
            either a user, or a channel, and don't change ownership. The
            social objects themselves are static, once created, they cannot be
            edited. They can have comments associated with them, but those
            also cannot be edited. The only thing that can happen to streams,
            stream items, and comments is deletion.</p>

          <p>Here, it makes sense to have a node for each stream, and
            possibly a stream for the comments to each stream item. Those can
            be tied to the owner's JID (e.g.
            <code class="literal">ralphm@jaiku.com</code> or
            <code class="literal">#jabber@jaiku.com</code>). Another possible node could
            be: all comments by a person. Another node an entity might want to
            subscribe to is: all public microblog posts. Such a node would be
            associated with the domain of the service rather than any
            particular user's JID.</p>

        

        <h5>anyMeta</h5>
          

          <p>The company I work for, <a href="http://www.mediamatic.nl/">Mediamatic Lab</a> has a
            (proprietary) CMS called <a href="http://www.anymeta.net/">anyMeta</a>. Instead of
            'content', the C in CMS here stands for Community, to highlight
            the social network properties it provides. anyMeta is a highly
            semantic system that deals in <em>thing</em>s (a
            person, an article, an event, a blog), and
            <em>edge</em>s (the relations between things, each
            with a predicate like friend-of, author-of, etc). I mainly work on
            federating instances of anyMeta.</p>

          <p>Things in anyMeta are usually editable, so it makes sense to
            want to keep informed about changes. For example, an article can
            have a large number of edits, and a person might move, change
            employers or have other changes to his profile. Thus, we chose to
          at least provide each thing as a subscribable unit. Upon creating a
          thing, a new node is created, and a representation of the thing is
          published to the node. Editing a thing, results in subsequent
          publishes. Subscribers will receive notifications as the node gets
          published to.</p>

          <p>We organized the nodes in a flat namespace, tied to a domain,
            rather than a user. One reason is that the owner of any particular
            thing might change. Tying a node to the first owner, and then
            needing to move it when the owner changes, is cumbersome.</p>

        

      

      <h4>Node naming</h4>
        

        <p>Each node has an identifier that is unique within the
          publish-subscribe service holding them. So you could have two nodes
          named <code class="literal">updates</code> tied to two different users. Node
          identifiers are opaque; one should not derive meaning from how the
          node identifier looks. Embedded slashes might suggest some
          hierarchy, for example, but an application should not assume that
          such a hierarchy actually exists.</p>

        <p>That said, it makes perfect sense to use logical, human readable
          identifiers for nodes. They might even be very similar to the URI
          layout of the service's web site. Let's check what one could do for
          the examples given above.</p>


        <h5>Jaiku</h5>
          

          <p>It makes sense to have the node identifier for the regular
            posts (called presence) be <code class="literal">presence</code> and the
            nodes for the individual posts (with comments)
            <code class="literal">presence/123456</code>, where the number is the same
            as used in the web page for that post. Those two examples could be
            tied to a JID representing me at Jaiku:
            <code class="literal">ralphm@jaiku.com</code>.</p>

          <p>The node for all public posts could be called
            <code class="literal">explore</code> and located at the JID of the whole
            service: <code class="literal">jaiku.com</code>. This would be similar to
            the web site, where all public posts can be viewed at <a href="http://jaiku.com/explore">http://jaiku.com/explore</a>.</p>

          <p>It might also make sense to have a dedicated node for a user's
            profile information, that can be retrieved and presented at a
            service or application that consumes the social object updates. At
            least a (full) name and some icon or headshot would be nice to
            have there. Obviously, subscribing to such a node would mean that
            future profile changes will also propagate to the consuming
            entities. An example identifier would be
            <code class="literal">profile</code>, to be kept at the user's JID.</p>

        

        <h5>anyMeta</h5>
          

          <p>In anyMeta, each thing has an identifier, that could be used
            for the node identifier as well. However, in the current
            implementation, all nodes are held by a loosely coupled, generic
            publish-subscribe service that caters multiple anyMeta instances.
            We chose to use unique identifiers as generated by the
            publish-subscribe service, which don't have any relation with the
            thing identifier.</p>

          <p>As you might have guessed, some of the stuff being discussed
            here has already been implemented in anyMeta. The
            publish-subscribe service used is <a href="http://idavoll.ik.nu/">Idavoll</a>. It has grown an
            <a href="http://idavoll.ik.nu/wiki/HTTP_Interface">HTTP
              interface</a> that is used (internally) to create new nodes,
            publish items that represent things, and subscribe to, and receive
            notifications from, remote publish-subscribe nodes. The thing that
            holds <a href="http://www.mediamatic.net/person/24879">my
              Mediamatic profile</a> is represented by the node
            <code class="literal">generic/4efe2253-2242-4e01-bfdf-957cc2a9481d</code> at
            <code class="literal">pubsub.mediamatic.nl</code>. All things in this site,
            but also the <a href="http://www.picnicnetwork.org/">PICNIC
              site</a>, have nodes like this. In a future post I will
            explore what we do with these nodes.</p>

        
        
      

      <p>In this part, we explored how one could organize the nodes that
        entities can subscribe to to get updates. Some might be tied to the
        (virtual) JID of the user's account, or associated with the JID of the
        service itself. Node identifiers might be human guessable, and like
        the web URIs, or could be seemingly random opaque strings.
        Implementations that consume subscribe to, and consume notifications
        from, the nodes at social networking services, should not assume
        anything about the organization and naming of the providing service.
        This presents a challenge for the next episode: how does one know
        which nodes are there and what they are called? So, up next:
        discovery. Homework assignment: look carefully at the HTML of my
        Mediamatic profile page.</p>

    </div></content></entry><entry><title>XMPP and Social Networks, part 1: Notifications</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2008/07/26/xmpp_social_networks_1"/><id>http://test.ralphm.net/blog/2008/07/26/xmpp_social_networks_1</id><author><name>ralphm</name></author><updated>2008-07-26T16:12:11+02:00</updated><published>2008-07-26T16:12:11+02:00</published><subtitle>What you can subscribe to and how notifications are sent
				out.</subtitle><category term="federating social networks"/><category term="fsn"/><category term="xmpp"/><category term="publish-subscribe"/><category term="pubsub"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
			

			<p>The use of XMPP publish-subscribe in federation and third-party
				applications deviates a bit from the standard use-case. Usually
				publishing, subscribing and receiving notifications happen through
				the same protocol on specific (leaf) nodes. Entities subscribe to a
				node that represents a particular thing they are interested in
				getting updates for, and when an item is published to that node,
				these subscribers will receive a notification for that item.</p>

			<p>For federating social networks, the focus is on the exchange of
				updates on social objects or comments between services. For
				third-party applications, the most important thing is getting
				updates, preferably as soon as possible. So, for both of those use
				cases, receiving notifications through XMPP gives it an edge over
				HTTP: no polling, lower latency, less connections.</p>

			<p>How these items are published, does not really matter that
				much. What you will typically see is that services somehow have a
				new item available (submission via the web, SMS, e-mail or a
				web-based API) and want to expose that through XMPP. Posting a new
				update through XMPP from a third-party client usually does not
				provide an advantage over existing web-based APIs.</p>

			<p>For a service like Jaiku, Twitter or Identi.ca to provide XMPP
				publish-subscribe support, it is important to define the
				<em>subscribable unit</em> and provide that as a
				node. Such a node will usually not be published to directly, but is
				more of an aggregate node. Examples would be: all updates by a
				particular user, all updates in particular channel, all updates by
				a user and his contacts, all public updates. An other example could
				be: all comments on a particular social object.</p>

			<p>Conceptually, all such aggregate nodes are internally
				subscribed to a particular subset of new and updated social objects
				and comments. You might even implement it exactly like that. Think
				of a prospective search that is captured by a node: every time a
				new item comes into the service, it is determined which of the
				provided nodes would be a match for this item, based on author,
				contact lists and permissions. Subsequently, for all of those
				nodes, a notification will be sent out to its subscribers. Telling
				items apart in this scenario is then likely not done using the
				service JID, node identifier of item identifier, but using some
				identifier in the payload, like Atom's <code class="literal">id</code>
				element, although those other identifiers might provide a
				context.</p>

			<p>For those familiar with the concept of XMPP publish-subscribe
				collection nodes: those would be a special form of aggregate nodes
				that make it explicit what their relationship to the nodes they
				aggregate items for is.</p>

		</div></content></entry><entry><title>XMPP Summit #5: XMPP and Social Networks</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2008/07/26/xmpp_summit_5"/><id>http://test.ralphm.net/blog/2008/07/26/xmpp_summit_5</id><author><name>ralphm</name></author><updated>2008-07-26T16:12:05+02:00</updated><published>2008-07-26T16:12:05+02:00</published><subtitle>An introduction...</subtitle><summary>
					A brief overview of the 5th XMPP Summit and an introduction
					into a series of articles on XMPP in social networks, focusing on
					federation.
				</summary><category term="XMPP"/><category term="XMPP Summit"/><category term="federating social networks"/><category term="fsn"/><category term="publish-subscribe"/><category term="pubsub"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
			

			<p>The major topics on the 5th XMPP Summit were Jingle, and XMPP
				as a complementary protocol next to HTTP for building social
				networking services, as <a href="http://stpeter.im/">stpeter</a> briefly <a href="https://stpeter.im/?p=2227">mentioned</a>. While I think
				that the <a href="https://stpeter.im/?p=2228">consensus on OAuth
					over XMPP</a>, was very important, I think we also settled on
				a good set of best practices for federating social networks using
				<a href="http://www.xmpp.org/extensions/xep-0060.html">XMPP
					Publish Subscribe</a>.</p>

			<p>This particular topic has had my full attention over the last
				year or so, and it is about time that I start writing about that,
				explaining the afore mentioned best practices in their context. As
				this covers a lot of ground, I'd like to make a series out of it,
				each detailing a particular aspect.</p>

			<p>Topics that will come by include: the <em>subscribable
					unit</em> and how notifications are generated, payload
				formats, discovery, local representation and implementation
				strategies.</p>

		</div></content></entry><entry><title>Federating social networks workshop</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2007/12/06/fsn_workshop"/><id>http://test.ralphm.net/blog/2007/12/06/fsn_workshop</id><author><name>ralphm</name></author><updated>2007-12-06T13:37:24+01:00</updated><published>2007-12-06T13:37:24+01:00</published><subtitle/><summary>
          Saturday 8 December, Mediamatic will host a one-day workshop on
            federating social networks. Notable participants are Robert Gaal
            (Wakoopa), Blaine Cook (Twitter) and David Recordon
            (SixApart).
				</summary><category term="federating social networks"/><category term="workshop"/><category term="mediamatic"/><category term="xmpp"/><category term="picnic"/><category term="reboot"/><category term="marc worrell"/><category term="wok"/><category term="robert gaal"/><category term="wakoopa"/><category term="portable social networks"/><category term="david recordon"/><category term="sixapart"/><category term="web2expoberlin"/><category term="blaine cook"/><category term="twitter"/><category term="xtech07"/><category term="jaiku"/><category term="publish-subscribe"/><category term="pubsub"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
			

      <p>I am a month in my <a href="http://ralphm.net/blog/2007/11/01/happenings">new job</a> at
        <a href="http://www.mediamatic.nl/">Mediamatic Lab</a>. As part
        of one of our projects, we are working on having the different
        instances of anyMeta (a CMS used to build websites like those for
        <a href="http://www.picnicnetwork.org/">PICNIC</a> and <a href="http://www.reboot.dk/">Reboot</a>. We want to use open
        protocols for this. To prevent us from working on our own little
        island, and noticing the huge buzz on opening up social networking
        services, I've been pretty busy with organizing a <a href="http://www.mediamatic.net/artefact-26258-en.html">workshop</a>
        (<a href="http://upcoming.yahoo.com/event/335427">upcoming</a>)
        on federating social networks. Next Saturday (8 December) we will get a
        bunch of smart people together to talk about what it takes to have
        social networking services, as well as more generic CMSs, work
        together, so that people are not caught between the numerous walls that
        are currently in place around each respective garden. My colleague
        <a href="http://www.marcworrell.com/">wok</a> wrote a related piece
        on this: <a href="http://www.mediamatic.net/article-26311-en.html">Solving Social
          Networking Fatigue</a>.</p>
     
      <p>Although it was pretty short notice, there will be a fair number of
        people from the Dutch social networking crowd, like <a href="http://www.blueace.nl/">Robert
          Gaal</a> of <a href="http://wakoopa.com/">Wakoopa</a>,
        who chaired the <a href="http://www.picnicnetwork.org/artefact-8259-en.html">Portable
          Social Networks</a> session at PICNIC '07. Also, we got two great
        people over from San Francisco. One of them is <a href="http://www.davidrecordon.com">David Recordon</a> of <a href="http://www.sixapart.com/">SixApart</a>. I met David at <a href="http://berlin.web2expo.com/">Web 2.0 Expo Berlin</a>, where he
      did a presentation on opening up social networking services. He gave a
      good overview on the issues and stated that most of the tools are there,
      and we should just put them together.</p>

      <p>The other one is Blaine Cook of <a href="http://twitter.com/">Twitter</a>, who I met at <a href="http://2007.xtech.org/">XTech 2007</a> in Paris. In his talk
        together with <a href="http://laughingmeme.org/">Kellan
          Elliott-McCrea</a>, he went into why <a href="http://www.xmpp.org/">XMPP</a> is a great technology to
        complement HTTP in building online services. Also, we spoke about
        hooking up social networking sites like Twitter and <a href="http://www.jaiku.com/">Jaiku</a> using XMPP. During the
        summer we discussed the bits and pieces in XMPP (like the <a href="http://www.xmpp.org/extensions/xep-0060.html">publish-subscribe</a>
        extension) that'd be needed for that. This resulted in my <a href="http://ralphm.net/blog/2007/11/07/federating_social_networks">presentation</a>
        at Web 2.0 Expo Berlin, and the workshop we are doing now.</p>

      <p>The day will start off with a couple of presentations and
        introductions, followed by sessions of discussion (and a lunch). From
        17:00h, there'll be a <a href="http://www.mediamatic.net/artefact-26362-en.html">borrel</a>
        (drink) with a few short higher level presentations for a broader group
        of people, with less focus on the technical aspects. Afterwards, we'll
        probably head into the city for some food and stuff.</p>
        
      <p>Unfortunately, because of the short notice and other obligations, a
        lot of people that really want to come said they can't make it. Maybe
        we should try and do a follow-up event early next year. For them and
        anyone interested in all this, we will try to get some live coverage on
        the <a href="http://www.jaiku.com/channel/fsn">#fsn Jaiku
          channel</a>. All in all, I am pretty excited about doing this
        event and hope to see you there!</p>

		</div></content></entry><entry><title>Federating Social Networks talk</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2007/11/07/federating_social_networks"/><id>http://test.ralphm.net/blog/2007/11/07/federating_social_networks</id><author><name>ralphm</name></author><updated>2007-11-07T10:52:04+01:00</updated><published>2007-11-07T10:52:04+01:00</published><subtitle>Conversing services...</subtitle><category term="web20expoberlin"/><category term="federating"/><category term="social networks"/><category term="jaiku"/><category term="twitter"/><category term="xmpp"/><category term="atom"/><category term="pubsub"/><category term="publish-subscribe"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
      

      <p>In a few minutes my presentation on Federating Social Networks on
        <a href="http://berlin.web2expo.com/">Web 2.0 Expo Berlin</a>
        will start. I will talk about exchanging (changes to) social objects
        between sites like <a href="http://jaiku.com/">Jaiku</a>, <a href="http://twitter.com/">Twitter</a> and all the others using
        open formats like <a href="http://atomenabled.org/">Atom</a> on
        top of <a href="http://www.xmpp.org/extensions/xep-0060.html">XMPP
          Publish-Subscribe</a>. Here are the <a href="http://ralphm.net/publications/berlin_2007">slides</a>.</p>

    </div></content></entry><entry><title>Happenings</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2007/11/01/happenings"/><id>http://test.ralphm.net/blog/2007/11/01/happenings</id><author><name>ralphm</name></author><updated>2007-11-01T11:04:08+01:00</updated><published>2007-11-01T11:04:08+01:00</published><subtitle>Enough change for you?</subtitle><summary>
					Leaving TU/e, joining Jaiku, welcoming Birgit into this world,
						Jaiku being acquired by Google, but not ralphm, joining Mediamatic.
						Enough change for a while, I would say.
				</summary><category term="TU/e"/><category term="Jaiku"/><category term="Birgit"/><category term="Google"/><category term="Mediamatic"/><category term="XMPP"/><category term="pubsub"/><category term="publish-subscribe"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
			

      <div style="float: right; margin-left: 10px;">
        
          <img src="/images/blog/birgit_smile.jpg"/>
        
			</div>
			
			<p>The last eight months must have been the most hectic ones I have
				experienced. This started out with my leaving the TU/e and starting at
				Jaiku. Apart from <a href="http://ralphm.jaiku.com/">microblogging</a> effectively
				killing any urge to write in this blog, there weren't many dull moments
				since then.</p>

			<p>The most important happening last summer, that I've documented on
				Jaiku but not here, was the birth of my daughter Birgit on 28 June. I
				don't think I've ever been more proud and happy than at the instance I
				first held her. Watching her grow up and discover the world around her
				is awesome. Her smiles make every day a joy.</p>

			<p>About a month ago, it was announced that Jaiku has been acquired by
				Google. Many people contacted me to congratulate me on this news, and
				I'd like to thank you all! I feel it is a compliment to the great team
				I've had the pleasure of working with and to our community of users and
				application developers that helped made Jaiku what it is today.</p>

			<p>Naturally, the acquisition didn't happen in a day, so leading up to
				that there were a lot of questions that kept us and our families busy
				for a while. What will happen? Will we need to move? When?  Where?
				Exciting and Exhausting at the same time. Eventually the deal obviously
				took place, and most of the team have left for the Bay Area for a few
				months, while some didn't. I was one of the guys that was not included
				in the acquisition, so I'm not moving after all. We had a great
				combined Valve/Jaiku/Thinglink new office warming but also Jaiku
				farewell party, though, and I'd like to say thanks to all my former
				colleagues for the great experience it has been. For the forseeable
				future, I will be associated with Jaiku, the service, but not in any
				official capacity. </p>

			<p>So what now? As of today I am officially employed by <a href="http://www.mediamatic.nl/">Mediamatic Lab</a>, where I will
				continue work on XMPP publish-subscribe technologies and open
				standards. More on that later, though.</p>

		</div></content></entry><entry><title>Ralph at Jaiku</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2007/05/25/ralphm_at_jaiku"/><id>http://test.ralphm.net/blog/2007/05/25/ralphm_at_jaiku</id><author><name>ralphm</name></author><updated>2007-05-25T11:56:50+03:00</updated><published>2007-05-25T11:56:50+03:00</published><subtitle>Changing presence...</subtitle><summary>
          I now work at Jaiku, went to XTech and will attend Reboot
            9.0. Also: I'm going to be a dad!
        </summary><category term="jaiku"/><category term="xmpp"/><category term="twisted"/><category term="xtech"/><category term="xtech2007"/><category term="jabber"/><category term="reboot"/><category term="reboot9"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
      

      <div style="float: right; margin-left: 10px;">
        
          <img src="/images/blog/jaiku.png"/>
        
      </div>

      <p>Before today, my last <a href="http://ralphm.net/blog/2007/02/22/xtech_2007_jabber">entry</a>
        here was three months ago. What has happened since? In short I stopped
        working for the university (thanks guys, I really enjoyed my time with
        you) and are now working for <a href="http://jaiku.com/">Jaiku</a> since halfway March, while
        staying in Eindhoven. My tasks are mostly focussed on adding IM support
        and in general working on XMPP, standards and Twisted in our service.
        Obviously, I now keep a <a href="http://ralphm.jaiku.com/">life
          stream</a> which might explain the lack of entries on by regular
        blog. Or maybe it is all the travelling I've been doing lately.</p>

      <p>In that entry from February, I was contemplating going to <a href="http://2007.xtech.org/">XTech</a> because of the interesting
        Jabber related talks. I did go, but basically replaced Jyri and gave a
        presentation on Jaiku myself. There are a lot of exciting things to
        write about this trip, and Jaiku as well. I might do that on the plane
        back from Helsinki, where I am now for a gathering at Jaiku HQ.</p>

      <p>Next week I'll be at <a href="http://www.reboot.dk/">Reboot
          9.0</a> which like XTech gathers a lot of interesting people and
        already has a nice line-up of talks. Hope to see you there!</p>

      <p>Another exciting thing that I didn't mention here before is my
        upcoming fatherhood! Irma is due in July and that is approaching quite
        fast. More on that later, of course. </p>
     
    </div></content></entry><entry><title>SoC blogs on Planet Jabber</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2007/05/25/soc_2007"/><id>http://test.ralphm.net/blog/2007/05/25/soc_2007</id><author><name>ralphm</name></author><updated>2007-05-25T11:04:34+03:00</updated><published>2007-05-25T11:04:34+03:00</published><subtitle>It is that time of the year again...</subtitle><summary>
					Jabber-related SoC project blogs have been added to Planet
						Jabber.
				</summary><category term="Summer of Code"/><category term="SoC"/><category term="Jabber"/><category term="Planet Jabber"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
			

      <div style="float: right; margin-left: 10px;">
        
          <img src="/images/blog/soc.png"/>
        
			</div>

			<p>I added the feeds of the students that have one of the
				Jabber-related <a href="http://code.google.com/soc/xmpp/about.html">Google Summer of
					Code projects</a>, on cue by <a href="http://www.saint-andre.com/blog/">stpeter</a>. The blogs
				are marked with the image on the right that I kindly ripped and remixed
				from the <a href="http://planet-soc.com/">Planet SoC</a>
				logo. Obviously we expect plenty of updates throughout the summer and
				wish the students lots of fun!</p>

		</div></content></entry><entry><title>XTech 2007 loves Jabber</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2007/02/22/xtech_2007_jabber"/><id>http://test.ralphm.net/blog/2007/02/22/xtech_2007_jabber</id><author><name>ralphm</name></author><updated>2007-02-22T17:37:45+01:00</updated><published>2007-02-22T17:37:45+01:00</published><subtitle>The Ubiquitous Web...</subtitle><summary>
          XTech 2007 has its schedule published, featuring three Jabber
            related talks.
        </summary><category term="xtech"/><category term="xtech2007"/><category term="jabber"/><category term="xmpp"/><category term="social software"/><category term="robots"/><category term="ruby"/><category term="flickr"/><category term="mozilla"/><category term="web applications"/><category term="rich presence"/><category term="mobile"/><category term="jaiku"/><category term="fosdem"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
      

      <p>As my employment with the <a href="http://www.tue.nl/">Technische Universiteit Eindhoven</a> is
        coming to a natural end on 1 March, and I was not sure where I would be
        working in May, I did not answer the call for participation for <a href="http://2007.xtech.org/">XTech 2007</a>. Turns out there are
        at least three Jabber related talks in the <a href="http://xtech.expectnation.com/event/1/public/schedule/full">schedule</a>
        that was made available just now!</p>

      <p>Blaine Cook and Kellan Elliot-McCrea will have a talk titled
        <q><a href="http://xtech.expectnation.com/event/1/public/schedule/detail/197">Jabber:
            Social Software for Robots</a></q> promoting the use of
        XMPP to let chat bots be an avatar for web applications.</p>

      <p>Massimiliano Mirra will talk about <q><a href="http://xtech.expectnation.com/event/1/public/schedule/detail/97">Real-time
            user-to-user web with Mozilla and XMPP</a></q>, explaining
        how browser based applications can be spiced up with real-time
        bidirectional structured communication by using XMPP to communicate
        with the application's backend.</p>

      <p>And finally, Jyri Engeström will talk about <q><a href="http://xtech.expectnation.com/event/1/public/schedule/detail/90">Jaiku
            — rich presence</a></q>. I have been visiting <a href="http://www.jaiku.com/">Jaiku</a> HQ last month and they have
        a very nice application going on there. The summary does not tell, but
        Jaiku uses XMPP, as Mika Raento will <a href="http://www.fosdem.org/2007/schedule/events/jabber_jaiku">explain</a>
        at <a href="http://www.fosdem.org/2007/">FOSDEM</a> this
        weekend.</p>

      <p>All in on very exciting stuff, and there's a lot of other
        interesting talks as well, so may need to consider going to Paris this
        spring.</p>

    </div></content></entry><entry><title>FOSDEM 2007 Jabber devroom schedule published</title><link rel="alternate" type="text/html" href="http://test.ralphm.net/blog/2007/02/09/fosdem_2007_devroom"/><id>http://test.ralphm.net/blog/2007/02/09/fosdem_2007_devroom</id><author><name>ralphm</name></author><updated>2007-02-09T16:49:30+01:00</updated><published>2007-02-09T16:49:30+01:00</published><subtitle>Rocking on...</subtitle><summary>
          The schedule for the Jabber developer room at FOSDEM 2007 has
            been published. We have very interesting line-up, so read more for
            an overview.
        </summary><category term="jabber"/><category term="fosdem"/><category term="xmpp"/><category term="virtual presence"/><category term="json"/><category term="comet"/><category term="ajax"/><category term="ria"/><category term="tigase"/><category term="yate"/><category term="jingle"/><category term="twisted"/><category term="python"/><category term="oneteam"/><category term="mozilla"/><category term="xul"/><category term="secure communications"/><category term="jaiku"/><category term="mobile"/><category term="presence"/><category term="series60"/><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
      

      <p>Back in November <a href="http://ralphm.net/blog/">I</a> <a href="http://ralphm.net/blog/2006/11/17/fosdem_2007_call">posted</a>
        a call for presence (haha) for the <a href="http://fosdem.org/2007/schedule/devroom/jabber">Jabber developer
          room</a> at FOSDEM 2007. But this year, with the help of <a href="http://www.saint-andre.com/blog/">Peter
          Saint-André</a>, the hunt for speakers has been far more
        aggressive than previous editions. I must say that this has resulted in
        a great, packed, line-up and I am sure that many people (currently)
        from outside the will be interested in what will be presented. Loki has
        put the schedule online earlier today.</p>

      <p>To give a quick overview, on Saturday Peter will kick off with a
        <a href="http://fosdem.org/2007/schedule/events/jabber_101">Jabber
          101</a>, targetted at getting developers acquainted with Jabber
        technologies. Heiner Wolf follows with a presentation on <a href="http://fosdem.org/2007/schedule/events/jabber_virtual_presence">Virtual
          Presence</a>, a way to meet up on webpages. Ian Paterson will try
        to reach the Rich Internet Application crowd that now uses JSON, Comet
        or AJAX for browser-server communications, and show how you can <a href="http://fosdem.org/2007/schedule/events/jabber_beyond_json">put
          XMPP to use</a> in this arena. The day is concluded by two
        presentations on the Tigase server implentation: Artur Hefczyc will
        <a href="http://fosdem.org/2007/schedule/events/jabber_tigase">talk</a>
        on Tigase itself and Diana Cionoiu will <a href="http://fosdem.org/2007/schedule/events/jabber_yate">explain</a>
        how Yate hooks up Jingle with Tigase to build tomorrow's open telephony
        networks.</p>

      <p>For those that manage to get up bright and early on Sunday morning,
        I will let visiting developers <a href="http://fosdem.org/2007/schedule/events/jabber_sprint">dig</a> right into what Peter has touched
        upon the day before. Using <a href="http://www.twistedmatrix.com/">Twisted</a>, I will explain how to actually
        develop asynchronous applications that communicate using XMPP and act
        as a Jabber client or server-side component. Then this session will
        transform into a mini-sprint and the visitors will rattle their
        keyboards to crunch out running Python code. Bring your own
        laptops!</p>

      <p>Around lunch we <a href="http://fosdem.org/2007/schedule/events/jabber_jingle">give</a>
        Robert McQueen and Peter a Jingle to get us up to speed on rich media
        streaming, and proceed with Mickaël Rémond of ejabberd fame on <a href="http://fosdem.org/2007/schedule/events/jabber_oneteam">OneTeam</a>,
        a Mozilla/XUL based Jabber client application. Mika Raento takes us to
        the mobile world with his talk on <a href="http://fosdem.org/2007/schedule/events/jabber_jaiku">Jaiku</a>,
        that combines rich presence and group messaging on the web and on the
        mobile. Then we close the room to go Peter Saint-André's talk in the
        huge Janson room on <a href="http://fosdem.org/2007/schedule/events/jabber">secure
          communications</a>. Be sure to check out the <a href="http://fosdem.org/2007/interview/peter+saint-andre">interview</a>.
        To allow for some extra time for answering questions after that talk,
        we reopen the developers' room for a <a href="http://fosdem.org/2007/schedule/events/jabber_qa">Q&amp;A</a>
        session, and possibly a few 5 min. lightning talks, and then close up
        shop.</p>

    </div></content></entry></feed>
