This thread has been dormant for a while, but I've now spent some significant time doing research into XMPP, the various `XEP's (Geolocation, Publish-Subscribe, Personal Eventing Protocol), and the Telepathy/Gabble frameworks, so I have some more thoughts to bring into the discussion (see below):
Joshua Judson Rosen <[email protected]> writes: > > XMPP and youloc.net are described on the website as the > `obvious candidates'. They were the first things that sprang to mind > as options for established, open-standards systems that seemed like > they would make sense as a basis for the sort of functionality that > currently exists in tangoGPS and FoxtrotGPS (currently using what is, > as far as I can tell, a proprietary web service). > > I was delighted to see XEP-0080 <http://xmpp.org/extensions/xep-0080.html>, > because it made it apparent that other people were at least working on the > same idea, and that it might actually gain enough traction in the community > to take hold as a standard such that it wouldn't just be us driving it. > > The more I look into it, the more it seems like my intuition was right-- > that something XMPP-based is the way forward. > > Guilhem Bonnefille <[email protected]> writes: > > > > Do you evaluated the telepathy framework? It already implement > > geolocation of friends over XMPP. > > http://telepathy.freedesktop.org/wiki/ [...] > > Of course, my two ideas bring HUGE dependencies, compared to > > home-made/raw solutions. But they simplify the specific code and > > allow a better integration with other services. Furthermore, these > > framework are already packaged in small devices like Nokia N900. [...] > > So far, your suggestion of using Telepathy & Gabble to accomplish it > is the best (and only) one that we have :) > > So, unless someone else offers a critique of Telepathy/Gabble > (I don't yet have any experience with it, myself) or suggests > a different toolkit to use, I'm inclined to say "let's go for it". >From the research and experimentation that I've now done in these matters, it looks like XMPP + XEP-0080 (Geolocation) is indeed the way to go, but not Telepathy--and it's not that Telepathy or Gabble is `too heavyweight'; rather, it looks like Telepathy is just at too high a level of abstraction from what we're going to need. Gabble's location-publishing feature is specifically coded to use Personal Eventing Protocol (PEP), which is limited to being a direct, 1-to-1, user-to-user subscription system; it's possible for a single JabberID to explicitly subscribe to multiple other JabberIDs, and it's possible for a single JabberID to have multiple subscribers, but there's no support for a `chatroom'-style subscription where a user subscribes to a multi-user aggregate and then automatically receives notifications for *all* of the users that are aggregated together `in that chatroom'. In other words, there's no way to use Gabble to do anything like we're currently doing. Now, PEP is an intentionally-limited subset of a more general protocol: Publish-Subscribe (XEP-0060). The generalised Pub-Sub spec. is *huge*, and allows for users to specify the `node' to which they want to publish rather than just automatically publishing to their `self' node. But Gabble doesn't allow for use of Pub-Sub in place of PEP, and Telepathy doesn't appear to have any interfaces by which it could expose the relevant Pub-Sub options even if Gabble did support it. It looks like we can actually distribute geolocation payloads via XMPP's Multi-User Chat (MUC; XEP-0045), at least as far as the protocol itself is concerned (and I've done some successful experiments with ejabberd), but it doesn't look like Telepathy supports doing that, because it doesn't know how to generate `message' elements that contain structured data--it just wants to send MIME texts. So I'm going to look at libloudmouth (the XMPP library used by Gabble) and see what it takes to use it directly. If anyone else has other thoughts or suggestions to share, they're appreciated. -- "Don't be afraid to ask (λf.((λx.xx) (λr.f(rr))))." _______________________________________________ This message is sent to you from [email protected] mailing list. Visit http://lists.osgeo.org/mailman/listinfo/foss-gps to manage your subscription For more information, check http://wiki.osgeo.org/wiki/FOSS-GPS
