some sort of service discovery seems a good idea... i'd be happy to write
some code

-Federico

2009/1/27 Evan Prodromou <[email protected]>

>  One thing that's come up recently for API clients is being able to let
> users sign up for an account on a public Laconica site. We have quite a few,
> and the number is growing. It's not always easy for users to add in the API
> root to general-purpose interfaces (like Twitterfeeds), nor is it easy for
> client developers to special-case each and every Laconica site in their
> software.
>
> I'd like to propose a mechanism that would let client developers find
> public Laconica sites that their users can register on or log into an
> existing account.
>
> The API would be rooted at dir.laconi.ca. It would be Twitter-like (RESTy,
> JSON and XML supported), with the following API elements:
>
>    1. http://dir.laconi.ca/providers.[xml|json] would be a full list of
>    all providers. It would support a "since" parameter to only show providers
>    listed more recently than some date.
>     2. http://dir.laconi.ca/providers/<provider-id>.[xml|json] would give
>    data on a single provider.
>    3. http://dir.laconi.ca/providers/<provider-nickname>.[xml|json] would
>    give data on a single provider.
>    4. http://dir.laconi.ca/providers/search.[xml|json]?q=<search term>
>    would return a list of providers whose full name, nickname, or description
>    contains <search term> as a substring. This might be useful for type-ahead
>    directory interfaces. It would also take an hl=[code] parameter to limit
>    results to descriptions or names in a particular language.
>
> Updating profile information would be out-of-band; we'd probably have a Web
> UI for site admins to keep this data up-to-date.
>
> Each provider is described by a data structure as follows:
>
>    - ID - a unique numerical ID. Example: 3, 35015.
>     - nickname - a unique nickname, lowercase ASCII alphanum, 1-64 chars.
>    Example: "identica", "bleeper", "twitarmy".
>     - fullname - a more descriptive name, UTF-8, up to 255 chars. Example:
>    "Identi.ca", "Twit Army Canteen", "Saigonica".
>    - minilogo - URL of a logo image, 24x24 pixels
>    - streamlogo - URL of a logo image, 48x48 pixels
>    - profilelogo - URL of a logo image, 96x96 pixels
>    - rooturl - root URL, like "http://bleeper.de/"; <http://bleeper.de/>
>    - registrationurl - URL for a registration page, optional
>     - apirooturl - URL for the Twitter-like API root, like
>    "http://identi.ca/api"; <http://identi.ca/api>.
>    - description - a text description of the provider. Typically 1-3
>    sentences.
>
> "fullname" and "description" could have multiple values, varying by human
> language. For the XML representation, we'd use xml:lang to differentiate;
> I'm not sure what to do for JSON. Something like "description_en",
> "description_no"?
>
> Finally: participation for this directory would be voluntary. It would
> initially only contain Laconica sites, but other sites that support the
> Twitter API could also be listed in the future. Code for the directory would
> be Free Software under a liberal Apache 2.0 license, and the data would be
> CC0 (public domain-ish).
>
> Any ideas or comments? Anyone want to do a fun little piece of work?
>
> -Evan
>
>
> _______________________________________________
> Laconica-dev mailing list
> [email protected]
> http://mail.laconi.ca/mailman/listinfo/laconica-dev
>
>
_______________________________________________
Laconica-dev mailing list
[email protected]
http://mail.laconi.ca/mailman/listinfo/laconica-dev

Reply via email to