Such a thing would be most excellent, indeed. :) A similar, but more standards-compliant[1][2] proposal might look more like: xmpp:[EMAIL PROTECTED]
Clicking on a link of this form: xmpp:[EMAIL PROTECTED] could add the individual as a friend, or a link like this: xmpp:[EMAIL PROTECTED] might start a conversation with them. The presence service already registers to an XMPP server on the school server. If we arrange the DNS reachability for school servers, we can use the existing XMPP network and server-to-server connections to deal with sending communications between school servers. We just need to arrange: a) global naming of the school servers b) discovery of that name by the laptops c) adding the name to the generated XMPP ID There's already a service on each school server which responds on a well known port (5222, aka xmpp-client) and confirms people's status/availability, and we're already working on a simple add-on component to enumerate activities which are reachable via that school server, it's called Gadget (see http://wiki.laptop.org/go/Gadget). Key verification of link-locally reachable contacts can be used to resolve these contacts on the local network too. Also, no punycode is required. XMPP was drafted after non-ASCII speaking countries were discovered. :) Regards, Rob 1: http://tools.ietf.org/html/rfc4395 2: http://tools.ietf.org/html/rfc4622 C. Scott Ananian wrote: > I propose installing a handler for a new URI type in our browse > application. The links will look like: > friend:name.xxx.school.country.xs.laptop.org > where: > name is a Punycode encoding of the XO nickname. Technically, the > IDN ToASCII mapping operation is performed on the nickname, truncated > on the right if necessary so the result is 63 characters or less; see > http://en.wikipedia.org/wiki/Internationalized_domain_name. > xxx is an encoded version of the the XO public key. The number is > written in a variable base number system where the first three digits > are base 36, base 37, and base 26 and the digits are mapped into > characters starting with lowercase alphabetic, then numeric, then a > hyphen. If I've done my math correctly > (http://en.wikipedia.org/wiki/Birthday_paradox ), this requires about > 220 students to have the same name before a collision has a 50% chance > of occuring. If the server uses an independent means to prevent > duplicate nicknames, the xxx can be replaced with 'fun'. > 'school.country.xs.laptop.org' is filled in by registration with a > school server. If you do not have access to a school server, then you > can register with xofriends.org (or another independent service) and > use that suffix. > > Clicking on a link of this form would add this person to your buddy > list. Communicating with a this form of buddy would, in parallel, (a) > attempt to contact the IPv6 Link-Local address formed from the lower > 64 bits of the SHA-256 of the complete friend domain string (not > including the URI scheme or colon) and (b) attempt to look up the > hostname and contact the IPv4 or IPv6 address returned. (If the DNS > responds, you SHOULD use this address for further communication in > this session, since it may persist even if you roam off your current > mesh.) A simple service at a well-known port would confirm status and > list sharable activities. > > Via a network manager hook, XOs should report their current IPv4/IPv6 > addresses to the 'school.country.xs.laptop.org' part of their local > domain name, which will export it via the standard dynamic DNS > mechanisms. > --scott _______________________________________________ Devel mailing list [email protected] http://lists.laptop.org/listinfo/devel
