1. XMPP, TV and the Semantic Web Or ‘how I got to work on something that wasn’t entirely about RDF for a change…’ “This will be a very informal and very short talk tointroduce The XMPP (Jabber) internet protocol and some potentialimpact it has for TV and Semantic Web applications." Dan Brickley – VU WAI talk, Feb 1st 2010
2. Extensible Messaging and Presence Protocol (XMPP) Open standard for Instant Messaging (IM) chat Alternative to vendor-specific closed networks Built opensource-style, then ratified at IETF How it works: userid@my.example.com ‘JIDs’ Neverending 2-way conversation via servers XML ‘stanzas’ – e.g. chat or info/query messages Servers can be federated (eg. Google Talk) or standalone (eg. Hyves.nl)
18. What does it look like? Two experimental uses: JqbusSPARQL experiments (FOAF project) ‘NoTube Network’ ideas for TV remotes (NoTube EU) Jqbus showed an experimental binding of RDF query (SPARQL) to XMPP How else can you send queries into home or laptop? Or filter them based on buddylist rules (colleagues, family)? Or allow for query results to arrive hours later? (if you don’t know SPARQL, think of it as SQL-ish query over linked RDF databases)
22. …and is received. Messages can be directed or general Eg: to danbrickley@gmail.com or to danbrickley@gmail.com/photo_database Can be real-time or delayed Have practical limits on message size These SPARQL bindings should be redone Jingle specs help with bulky data and direct links
23. Eg. 2: “Buttons” (NoTube Network) Work-in-progress ‘smart remote control’ protocol XMPP as controlled route thru NAT/firewall Attached to desktop ‘media centre’ software: Boxee / XBMC / Plex (TV-like full screen media) MythTV (linux-based PVR, uses DVB-T USB for TV) EyeTV (applescript-able OSX tool, also DVB-T) MediaPortal (Opensource C# software) Windows Media Centre (with .NET SDK) Itunes (applescript-able on OSX)
24. What do these all have in common? A lot but not enough: chaos of different media-centre APIs and schemas Remotes tend to be dumb: sending clicks not commands, and no return-path for data… APIs allow basic navigation, play/pause, screenshot, EPG access, but via local PC or LAN Can diverse media centres share an API? Can we expose it over XMPP? Use it from smartphones? Multi-touch tables?
25.
26.
27. A remote control with a buddylist? <iq to="alice.notube@gmail.com/0AEDD375" type="result"> <query xmlns="jabber:iq:roster"> <item jid="bob.notube@gmail.com" subscription="both”> <item jid="buttons@foaf.tv" subscription="both"/> <item jid="danbrickley@gmail.com" subscription="both”> <item jid="libby.miller@gmail.com" subscription="both"/> <item jid="yves.example @gmail.com" subscription="both"/> </query> </iq>
28. Maybe. Prototyped at the play/pause/ffwd level With Strophe.js and BOSH, can do HTML5 too! Can control Boxee and MythTV via XMPP Sample client running on iphone Server attached to xmpp:buttons@foaf.tv Remote attached to xmpp:bob.notube@gmail.com Very often super-fast; sometimes awkwardly slow Can we drop down from server-mediated comms?
29. Maybe. XEP-0174 defines local network discovery And point-to-point XMPP comms (ie. not via gtalk!) As used in Apple’s Bonjour iChat local chat The Jingle specs also relevant here Other tricks for faster UI? Iphone motion sensor – if it’s moving, send a ping Design a protocol that sends commands not clicks But beware downloading megabytes of EPG TV data
30. Service Discovery Web service discovery for real? Which of my buddys have VOIP support? Video? Which have RDF databases online? Or a TV / media centre connected? Which are on same LAN as me? How do we manage permissions for all this?
32. Summary XMPP – the basics just work Lots of libraries / tools Helpful, friendly community Focal point for problem-sharing Tread carefully Navigating the maze of interesting extensions Guessing which toolkit to bet on for your needs Learning the landscape and what to rely on
33. Questions? Or to danbri@few.vu.nl MythTV / iChat demo: Libby Miller Draft iPhone graphics: Vicky Buser NoTube project: www.notube.tv