Re: social-ISSUE-46 (separation-of-concerns): AS2.0 tries to address some Social API responsibilities [Activity Streams 2.0]

Hello,

I would like to ask everyone interested for feedback on possible
approach for separating concerns of Social Data Model and Social API.
Currently I think in this direction:

1) Social API - client-server HTTP API (where server side applications
can act as client, the way most micropub clients currently work)

2) Social Data Model - JSON based syntax and extensible vocabulary to
model various domain of online social interaction

I think of a scenario of offline first app, which doesn't use HTTP
protocol having no network connection, as a useful situation to help us
draw distinction between API and Data Model. Let's say someone gave me a
single JSON file with *all their social data* (on USB drive or MicroSD
card). My native desktop or mobile app, should only need to implement
Social Data Model to make full sense out of this data, and locally read
from and write to this single JSON file on a file system. Social API
spec, should *only* specify what I do when I start using HTTP as
read/write *interface*

If we agree on such direction in drawing this distinction, than I see
for example proposed unofficial draft of ActivityPump as stepping on
responsibilities of Social Data Model by defining some particular social
artifacts - Streams, lists of agents who do follow or get followed, list
of entities which someone favorites. In my opinion all of those stay
withing concern of *modeling* social data and either AS2.0 core or
extension should address it. Future spec which addresses federation
*may* define social data model *extensions* for expressing information
about subscriptions, notifications and details about delivery. Still
Social API preferably will leave out details about all the possible
particular types of social artifacts and relations between them up to
the extensible Social Data Model.

I see LDP, Hydra and Linked Data Fragments specs as interesting examples
of what HTTP API spec may want to focus on defining:
* http://www.w3.org/TR/ldp/
* http://www.w3.org/TR/ldp-paging/
* http://www.hydra-cg.com/spec/latest/core/
* http://www.hydra-cg.com/spec/latest/linked-data-fragments/

Cheers!

On 10/23/2015 07:26 PM, Social Web Working Group Issue Tracker wrote:
> social-ISSUE-46 (separation-of-concerns): AS2.0 tries to address some Social API responsibilities [Activity Streams 2.0]
> 
> http://www.w3.org/Social/track/issues/46
> 
> Raised by: Pavlik elf
> On product: Activity Streams 2.0
> 
> I created two github issues where I explain this topic in more depth:
> 
> * https://github.com/jasnell/w3c-socialwg-activitystreams/issues/221
> * https://github.com/w3c-social/SocialAPI/issues/1
> 
> It also relates to ISSUE-37
> 
> Now that we have first editor's draft of SocialAPI we can together decide which spec should address which responsibility. This way we can make sure that recommended technologies stay modular and we minimize coupling between them, as discussed during last teleconference and on recent mailing list thread.
> 
> I encourage further conversations in linked github issues and in replies to auto created thread on mailing list.
> 
> 
> 

Received on Sunday, 25 October 2015 08:44:18 UTC