On Jul 12, 2008, at 5:49 AM, Joe Gregorio wrote:

OK, this is something I don't understand and would appreciate help
understanding.
I thought OpenSocial was a set of two specifications: a JavaScript API and and AtomPub+extentions API that gave non-browser clients access to some/all
of the same data that you could get to via the JS API.
If that is true:

See the documentation for the RESTful API :
http://www.opensocial.org/Technical-Resources/opensocial-specification----implementation-version-08/restful-api-specification

The non-browser facing RESTful service supports both a JSON and an Atom format, the output is JSON by default, and an Atom response is generated if ?format=xml is appended to the URL.

Ideally the implementation of the restful api should be generic enough that other output formats can be implemented relatively easy, so that when we decided 'new format Foo' is something we need to support, it could be added by adding another output format converter.

Since the JSON REST format is a first class citizen in the social data and easy to consume by javascript we use it for the gadget/browser based communications as well, but it's the same interface as the non browser facing one.

1. Why is there any discussion of the "specification" of the JSON interface?
  I can see implementing a JSON based back end that the JS API uses
  and "documenting" it, but where does the need to turn that into a
"specification"
  come from?

2. Has it been decided that the non JS-API has to be full parity with the JS API? If so, does it have to be full parity in the first release, or just
  eventually?

See above, they are the same thing

I responded to this earlier in the thread, either do a full
implementation or don't
do them at all.

See i agree with this a 100% in generalistic terms.. the REST interface will support the get/post/head/delete methods, output atom compliant messages with all the proper bits in the right places, whichever solution we pick for actually coding this, that's not what the discussion is about, the discussion is about which implementation to use to support the Atom & Json formats.

Someone mentioned "You need to pick solution <Foo> to support all the things we want to do with this", but i have not yet gotten any insight into what those "things" are, nor do i see why a certain problem domain has to be tied to a specific solution. There are always many solutions to a problem domains, and there's a lot of different technical implementations of the Atom spec.

So no one is saying we shouldn't support the Atom & AtomPub standards as they exist, I'm merely trying to find out what reasoning there is behind the "you need to chose <Foo>" to more detailed terms, so we can discuss the actual merits and downsides of each solution with an appropriate level of detail, otherwise how can we weigh how much work and what the level risk with each of the implementations are?

        -- Chris

Reply via email to