New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: remove lesser used properties from Activity Vocabulary, refactor others #54

Closed
jasnell opened this Issue Nov 13, 2014 · 12 comments

Comments

Projects
None yet
6 participants
@jasnell
Collaborator

jasnell commented Nov 13, 2014

There were some additional properties added speculatively to the AS2 vocabulary earlier on it's it's dev cycle that are proving less than generally useful. There's also a couple carry overs from AS1 that ought to be deprecated.

  1. The valid* properties. These were intended to offer a date-based validity bound for an Object's metadata. While useful, these can easily be provided as an extension where necessary. They are not generally useful for all objects and have a questionable processing model since we do not define exactly what "validity" means. These just just be removed.
  2. The status property on Activity. This was one was added earlier in the AS2 dev cycle (pre-WG) and was always very speculative and has proven less than useful. This one should just be removed.
  3. The existing "author" property on objects. This is a carryover from AS1. Not all objects have authors and there's a confusing overlap between "actor" and "author". This one should be deprecated but still allowed.
@tantek

This comment has been minimized.

Show comment
Hide comment
@tantek

tantek Nov 14, 2014

Collaborator
  1. Drop everything not implemented. If it's not implemented, it's not useful (given ActivityStreams has now been around for years).
  2. If people complain, make them document their implementation on the wiki.
  3. Using "actor" instead of "author" seems dumb and unnecessary bikeshedding breaking/forking from Atom, hAtom, h-entry etc. etc. If you're going to drop one, drop "actor", and go back to "author" which is already in wide use in stream/feed semantics/formats.
Collaborator

tantek commented Nov 14, 2014

  1. Drop everything not implemented. If it's not implemented, it's not useful (given ActivityStreams has now been around for years).
  2. If people complain, make them document their implementation on the wiki.
  3. Using "actor" instead of "author" seems dumb and unnecessary bikeshedding breaking/forking from Atom, hAtom, h-entry etc. etc. If you're going to drop one, drop "actor", and go back to "author" which is already in wide use in stream/feed semantics/formats.
@elf-pavlik

This comment has been minimized.

Show comment
Hide comment
@elf-pavlik

elf-pavlik Nov 14, 2014

Member

The existing "author" property on objects. This is a carryover from AS1. Not all objects have authors and there's a confusing overlap between "actor" and "author". This one should be deprecated but still allowed.

How would then relation between Activity and it's result look? Currently one could write

{
  "@context": [
    "http://www.w3.org/ns/activitystreams",
    { "@vocab": "http://schema.org" }
  ],
  "@type": ["ReviewAction", "Activity"],
  "actor": "https://wwelves.org/perpetual-tripper",
  "object": "http://www.bigbuckbunny.org",
  "result": {
    "@type": "Review",
    "author": "https://wwelves.org/perpetual-tripper",
    "itemReviewd": "http://www.bigbuckbunny.org",
    "reviewBody": "very funny!"
}

it does have some ugly and possibly confusing duplication, one of alternatives which i would see:

{
  "@context": [
    "http://www.w3.org/ns/activitystreams",
    { "@vocab": "http://schema.org" }
  ],
  "@type": ["Review", "Activity"],
  "author": "https://wwelves.org/perpetual-tripper",
  "object": "http://www.bigbuckbunny.org",
  "reviewBody": "very funny!"
}

big issue i see with it - it would make harder to use all kind of existing types of possible results, which duplication from first example enables in quite straight forward way

Member

elf-pavlik commented Nov 14, 2014

The existing "author" property on objects. This is a carryover from AS1. Not all objects have authors and there's a confusing overlap between "actor" and "author". This one should be deprecated but still allowed.

How would then relation between Activity and it's result look? Currently one could write

{
  "@context": [
    "http://www.w3.org/ns/activitystreams",
    { "@vocab": "http://schema.org" }
  ],
  "@type": ["ReviewAction", "Activity"],
  "actor": "https://wwelves.org/perpetual-tripper",
  "object": "http://www.bigbuckbunny.org",
  "result": {
    "@type": "Review",
    "author": "https://wwelves.org/perpetual-tripper",
    "itemReviewd": "http://www.bigbuckbunny.org",
    "reviewBody": "very funny!"
}

it does have some ugly and possibly confusing duplication, one of alternatives which i would see:

{
  "@context": [
    "http://www.w3.org/ns/activitystreams",
    { "@vocab": "http://schema.org" }
  ],
  "@type": ["Review", "Activity"],
  "author": "https://wwelves.org/perpetual-tripper",
  "object": "http://www.bigbuckbunny.org",
  "reviewBody": "very funny!"
}

big issue i see with it - it would make harder to use all kind of existing types of possible results, which duplication from first example enables in quite straight forward way

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Dec 4, 2014

Collaborator

Disagree with removing "actor". While "author" may be common in HTML, "actor" is ubiquitous in existing Activity Streams implementations and "author" is meaningful only on a limited set of objects. Per your own reasoning (looking at existing implementations) we have plenty of justification for keeping "actor"

Collaborator

jasnell commented Dec 4, 2014

Disagree with removing "actor". While "author" may be common in HTML, "actor" is ubiquitous in existing Activity Streams implementations and "author" is meaningful only on a limited set of objects. Per your own reasoning (looking at existing implementations) we have plenty of justification for keeping "actor"

@jasnell jasnell closed this Feb 10, 2015

@elf-pavlik

This comment has been minimized.

Show comment
Hide comment
@elf-pavlik

elf-pavlik Apr 11, 2015

Member

@tantek author != agent/actor for example:

@elf-pavlik posts activity: "@tantek ate an apple"
author - @elf-pavlik
agent/actor - @tantek

I have impression that you might approach it from a blogger perspective, while people also want to post about all kind of other social interactions online...

Member

elf-pavlik commented Apr 11, 2015

@tantek author != agent/actor for example:

@elf-pavlik posts activity: "@tantek ate an apple"
author - @elf-pavlik
agent/actor - @tantek

I have impression that you might approach it from a blogger perspective, while people also want to post about all kind of other social interactions online...

@tantek

This comment has been minimized.

Show comment
Hide comment
@tantek

tantek Apr 11, 2015

Collaborator

Elf - it's a hypothetical example and thus ignorable compared to the plethora real world examples we have to work with. When you're making such posts with permalinks on your website, add them here and we can resume discussion.

Collaborator

tantek commented Apr 11, 2015

Elf - it's a hypothetical example and thus ignorable compared to the plethora real world examples we have to work with. When you're making such posts with permalinks on your website, add them here and we can resume discussion.

@gobengo

This comment has been minimized.

Show comment
Hide comment
@gobengo

gobengo Apr 12, 2015

Contributor

Relevant: This real-world use case.
https://github.com/gobengo/activity-mocks/blob/master/mocks/livefyre/add-topic-to-collection.json

In this activity, the actor, object, tag, and overall activity all have semantically different 'authors'

  • actor - a Livefyre Site - authored by whatever subject initiated the creation of that Site
  • object - a Livefyre Topic - authored by whichever subject initiated the creation of that Topic
  • target - a Livefyre Collection - authored by whichever subject initiated the creation of that Livefyre Collection

In all cases, the subject that creates a Site, Topic, or Collection can be a UserProfile, Site, Network, or 'Client' (oAuth2 Client).

The author of this activity itself is Livefyre's ActivityStream subsystem.

Contributor

gobengo commented Apr 12, 2015

Relevant: This real-world use case.
https://github.com/gobengo/activity-mocks/blob/master/mocks/livefyre/add-topic-to-collection.json

In this activity, the actor, object, tag, and overall activity all have semantically different 'authors'

  • actor - a Livefyre Site - authored by whatever subject initiated the creation of that Site
  • object - a Livefyre Topic - authored by whichever subject initiated the creation of that Topic
  • target - a Livefyre Collection - authored by whichever subject initiated the creation of that Livefyre Collection

In all cases, the subject that creates a Site, Topic, or Collection can be a UserProfile, Site, Network, or 'Client' (oAuth2 Client).

The author of this activity itself is Livefyre's ActivityStream subsystem.

@tantek

This comment has been minimized.

Show comment
Hide comment
@tantek

tantek Apr 12, 2015

Collaborator

Not real-world - per _mock_.

Again, "When you're making such posts with permalinks on your website, add them here and we can resume discussion."

Collaborator

tantek commented Apr 12, 2015

Not real-world - per _mock_.

Again, "When you're making such posts with permalinks on your website, add them here and we can resume discussion."

@gobengo

This comment has been minimized.

Show comment
Hide comment
@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Apr 12, 2015

Collaborator

#1 and #2 contradict each other. "actor" is implemented in AS systems.
"author" less so.

On Fri, Nov 14, 2014 at 11:49 AM, Tantek Çelik notifications@github.com
wrote:

  1. Drop everything not implemented. If it's not implemented, it's not
    useful (given ActivityStreams has now been around for years).
  2. If people complain, make them document their implementation on the
    wiki.
  3. Using "actor" instead of "author" seems dumb and unnecessary
    bikeshedding breaking/forking from Atom, hAtom, h-entry etc. etc. If you're
    going to drop one, drop "actor", and go back to "author" which is already
    in wide use in stream/feed semantics/formats.


Reply to this email directly or view it on GitHub
#54 (comment)
.

Collaborator

jasnell commented Apr 12, 2015

#1 and #2 contradict each other. "actor" is implemented in AS systems.
"author" less so.

On Fri, Nov 14, 2014 at 11:49 AM, Tantek Çelik notifications@github.com
wrote:

  1. Drop everything not implemented. If it's not implemented, it's not
    useful (given ActivityStreams has now been around for years).
  2. If people complain, make them document their implementation on the
    wiki.
  3. Using "actor" instead of "author" seems dumb and unnecessary
    bikeshedding breaking/forking from Atom, hAtom, h-entry etc. etc. If you're
    going to drop one, drop "actor", and go back to "author" which is already
    in wide use in stream/feed semantics/formats.


Reply to this email directly or view it on GitHub
#54 (comment)
.

@elf-pavlik

This comment has been minimized.

Show comment
Hide comment
@elf-pavlik

elf-pavlik Apr 30, 2015

Member

Interesting example trying to talk about 'spoofing' from ActivityPump draft

{"verb":   "like",
         "actor":  "https://example.net/~mallory",
         "object": {
            "@id":      "https://example.org/~alice/note/23",
            "author":   "https://example.org/~alice",
            "content":  "I'm a goat"
          }
 }

http://w3c-social.github.io/activitypump/#obj

I still find it useful to have way to express sad but nowadays still true activities like: "Officer Harry Attacked protester Jane" which clearly does require different agent and author...

Member

elf-pavlik commented Apr 30, 2015

Interesting example trying to talk about 'spoofing' from ActivityPump draft

{"verb":   "like",
         "actor":  "https://example.net/~mallory",
         "object": {
            "@id":      "https://example.org/~alice/note/23",
            "author":   "https://example.org/~alice",
            "content":  "I'm a goat"
          }
 }

http://w3c-social.github.io/activitypump/#obj

I still find it useful to have way to express sad but nowadays still true activities like: "Officer Harry Attacked protester Jane" which clearly does require different agent and author...

@csarven

This comment has been minimized.

Show comment
Hide comment
@csarven
Member

csarven commented Aug 25, 2015

re: #54 (comment)

+1

@elf-pavlik

This comment has been minimized.

Show comment
Hide comment
@elf-pavlik

elf-pavlik Oct 2, 2015

Member

Elf - it's a hypothetical example and thus ignorable compared to the plethora real world examples we have to work with. When you're making such posts with permalinks on your website, add them here and we can resume discussion.

@tantek I just mentioned on IRC that all our teleconference/f2f minutes have different agent/actor (person who says something) and different author (person who writes (scribes) trying to reflect meaning of spoken word). If we record telecons, we can see differences between spoken and written worlds.

Member

elf-pavlik commented Oct 2, 2015

Elf - it's a hypothetical example and thus ignorable compared to the plethora real world examples we have to work with. When you're making such posts with permalinks on your website, add them here and we can resume discussion.

@tantek I just mentioned on IRC that all our teleconference/f2f minutes have different agent/actor (person who says something) and different author (person who writes (scribes) trying to reflect meaning of spoken word). If we record telecons, we can see differences between spoken and written worlds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment