#social 2015-05-24

2015-05-24 UTC
bblfish, Arnaud, tilgovi, edhelas, jaywink, KevinMarks, the_frey, jasnell, cwebber2, jasnell_ and LCyrin joined the channel
#
cwebber2
rhiaro: tsyesika: I'm converting my blog to support activitystreams
#
cwebber2
or rather
#
cwebber2
writing a tool that takes an atom feed and generates an activitystream from it
#
cwebber2
one trouble: what kind of object should a "tag" be?
#
cwebber2
the activitystreams vocab doc says it can be any Object, but I don't really see an apporopriate tag type
#
cwebber2
I guess a simple Object is ok for now.
the_frey joined the channel
#
rhiaro
cwebber2: yay!
#
Loqi
giggles
#
rhiaro
My tags are just strings currently, though I've been meaning to switch to uris
#
rhiaro
I wouldn't give them an explicit type
#
rhiaro
Other than sioc:Category, I don't know for AS off the top of my head
#
rhiaro
In microformats they're category too
#
rhiaro
What extra value (practical use) do you think an explicit type would bring?
jasnell joined the channel
#
cwebber2
rhiaro: well, I'm just reading the spec
#
cwebber2
it says "tags can be any Object", with a capital O
#
cwebber2
hi jasnell !
#
cwebber2
> One or more "tags" that have been associated with an objects. A tag can be any kind of Object. The key difference between attachment and tag is that the former implies association by inclusion, while the latter implies associated by reference.
#
cwebber2
so I assume that means I should make them a proper object
#
rhiaro
would like to know what's expected but will continue to do what's useful without adding extra complication unless necessary for something cool
#
rhiaro
I have a post about submitting post-like activities via micropub up shortly..
tilgovi joined the channel
#
rhiaro
Aw jasnell left
#
rhiaro
I was mentally preparing for a discussion even though I need to go to sleep
#
cwebber2
rhiaro: before you go to bed
#
cwebber2
want to see a sample generated activitystream?
#
cwebber2
and judge whether it is fit to be?
#
rhiaro
cwebber2: Yeah!
#
cwebber2
rhiaro: don't read too far, or you might read some really embarassing old posts I wrote :)
#
cwebber2
rhiaro: it's probably wrong in some places
#
cwebber2
but it's a first attempt
#
rhiaro
hm, interesting, attributedTo on the object and actor on the activity
#
rhiaro
I'd forgotten about attributedTo
#
rhiaro
I've encountered quite a bit of redundancy in AS2 so far
#
rhiaro
and you don't have an id on the attributedTo
#
rhiaro
cwebber2: do you have any activities that aren't Posts?
#
cwebber2
rhiaro: nope, it's just a static blog
#
cwebber2
I'm interested in doing things with activitystreams that aren't posts though
#
cwebber2
though the things I'm really interested in are probably transient activities ;p
#
rhiaro
fo sho
#
rhiaro
any specific non-post activities in mind?
#
cwebber2
rhiaro: yeah... well actually I'm interested in building a game with it!
#
rhiaro
awesome, I was hoping you'd say something like that
#
cwebber2
multiplayer text adventure / MUD stuff
#
cwebber2
rhiaro: you heard my libreplanet talk so you might have a sense why :)
#
rhiaro
yeah!
#
rhiaro
hang on, I'll get my acitivites via micrpub post up
#
cwebber2
oh, I never posted that blogpost on this
#
cwebber2
ooh cool
#
rhiaro
I want to know what you think of my postified activities
#
rhiaro
I feel like I've removed a lot of redundancy and simplified things, *but* I also feel like I might have missed something
#
cwebber2
rhiaro: so I did one more thing, which may be controvercial http://dustycloud.org/tmp/dustycloud-as.json
#
cwebber2
each activity has an @id now, but it's not an http URI
#
cwebber2
here's why
#
cwebber2
this is a literal conversion of this atom feed
#
cwebber2
and there are atom:id entries on each
#
cwebber2
which aren't the link
#
rhiaro
oh I see
#
cwebber2
to the post
#
cwebber2
so the object @id is the post
#
cwebber2
but the activity @id is the atom:id
#
cwebber2
I should probably post the source for this up
#
cwebber2
maybe I could be crazy and put up an atom->activitystreams web interface ;)
#
cwebber2
for those who want to test converting their stuff and tell me how wrong my translator is
tilgovi joined the channel
#
cwebber2
rhiaro: neat, opening
#
cwebber2
rhiaro: note that in AS, theoretically you can have an actor and an attributedTo which are different
#
cwebber2
since the actor may be the one sharing, but the object one is sharing is attributedTo someone else
#
rhiaro
I was trying to find an example of that
#
rhiaro
but i couldn't get past reposts
#
rhiaro
where the *repost* has one actor and the original post has another actor and you don't need the extra attributedTo
#
rhiaro
if you could put an example into json for me to look at that would help
#
cwebber2
rhiaro: let me put together one that's a hodgepodge of the AS docs
#
cwebber2
hopefully right
#
cwebber2
here Jeff is sharing Sally's image
#
cwebber2
rhiaro: ^^^^ does that help?
#
rhiaro
ooh images yeah
#
rhiaro
but, hold that thought
#
cwebber2
rhiaro: also I don't believe your activity is right
#
cwebber2
no it is, I misread the URL
#
rhiaro
which activity? probably not, I'm making a version I like rather than a spec-conformant one
#
cwebber2
rhiaro: could you file an issue that updating activities is not clear in the AS spec?
#
cwebber2
rhiaro: at any rate, for that one I believe you'd have the "object": not just be a link
#
rhiaro
cwebber2: sure. Do you mean AP?
#
rhiaro
the object for which?
#
cwebber2
Update a Post
#
cwebber2
but {"@type": "Update", "object": {"@id": "http://example.org/post/1", "content": "hello moon"}}
#
cwebber2
I think *that* would be the AP version
#
rhiaro
ah right
#
rhiaro
how come with that Share of an image the image has 'url' not @id?
#
cwebber2
rhiaro: no idea, I took that "url" version from the attributedTo definition on http://jasnell.github.io/w3c-socialwg-activitystreams/activitystreams2-vocabulary.html
#
cwebber2
"Identifies one or more links to representations of the object"
#
cwebber2
I guess it isn't an identifier in that case
#
rhiaro
hmmmm
#
cwebber2
actually I see.
#
cwebber2
has "href" where "url" is in the share example
#
cwebber2
that's really confusing
#
cwebber2
what's href vs url vs @id?
#
cwebber2
esp href vs url
#
cwebber2
it says href is for Links, but Images are Object->Content->Image
#
cwebber2
and object != link, so
#
cwebber2
I think that's a bug.
#
rhiaro
whaaaaa
#
rhiaro
I'm going to ignore this until I need it, which may be never, in which case yay
#
cwebber2
I'm filing a bug about it
#
cwebber2
I understand what happened now.
#
cwebber2
rhiaro: the example I said uses "href" *does* use url, and Links
#
cwebber2
and simulataneously gives a good justification for its existance
#
cwebber2
different image sizes
#
cwebber2
so in mediagoblin, I think @id would be http://gmg.example.org/u/cwebber/m/krazy-kats/ and I might have one "url": as http://gmg.example.org/media/krazy-kats.jpg or even multiple resolutions
#
cwebber2
rhiaro: so the difference makes sense to me.
bblfish_ joined the channel
#
rhiaro
cwebber2: aha yeah I see
#
cwebber2
whew, I don't have to finish writing that bug report now ;)
#
rhiaro
so what's href?
#
cwebber2
rhiaro: href is for when you have a link, so in the example I just pasted
#
rhiaro
I need to think/do more with handling media to really get it
#
rhiaro
what's the difference between url and href?
#
rhiaro
oh sorry I just clicked that second link
#
rhiaro
I see but I'm not sure I totally get it
#
cwebber2
{"@type": "Image", "@id": <web-page that contains the image and also a comment link and stuff>, "url": [{<thumbnail image, pointing with href>}, {<full image, pointing with href>}]
#
cwebber2
so the "url" in this case has multiple links, not just one
#
rhiaro
I really feel that's over abstracted, but I suppose I should keep my trap shut until I come up with something else
#
cwebber2
rhiaro: I'd love to see an alternative on the "mediagoblin *page*, with multiple image size links"
#
cwebber2
because that's the problem that this is resolving
#
rhiaro
I think the 'url' property seems weird
#
rhiaro
Imma look at how flickr do it with their api too
#
cwebber2
rhiaro: why weird? or not decided yet :)
#
rhiaro
buuttt not right now, I need to sleep, suddenly need to be up in 5 hours
#
cwebber2
get sleep rhiaro !
#
rhiaro
it doesn't seem very descriptive
#
cwebber2
thanks for doing awesome analysis
#
rhiaro
I mean, I need to be up so I can catch a boat to a Croatian island so I can write CSS at the beach all day, but still :p
#
cwebber2
haha :)
#
rhiaro
has a hard life
#
cwebber2
hard life rhiaro ;)
#
cwebber2
indeed :)
#
rhiaro
btw would love any of your feedback in a blog post, even a short one, that I can add as a reply
#
cwebber2
rhiaro: hm! honestly I doubt I can do it this week
#
cwebber2
but I will try to do more AP blogging
#
cwebber2
and I should probably post my activitystreams thing to the list
#
cwebber2
see if people think it's right
#
rhiaro
yeah I didn't post mine to the list yet
#
rhiaro
though I think elf dropped a link to mine in one of his emails
jasnell and cwebber2 joined the channel
#
oshepherd_
I still want to kill the post activity, IMO all it does is maximize redundancy...
#
cwebber2
oshepherd_: I've been thinking about that
#
cwebber2
oshepherd_: I guess the one nice thing about it that it seems like is the activity becomes a general envelope?
#
cwebber2
and maybe having an envelope separate from its contents is good?
#
cwebber2
but you have much more implementation experience than I do
#
oshepherd_
I think if you remove the "post" activity then what you find is that activities are encodings of state transitions, and actually ActivityStreams' model then matches up very well with e.g. mf2
#
oshepherd_
Also the ACLs being attached to the activity is demonstrably a massive issue as seen in pump.io
bblfish and jasnell joined the channel
#
cwebber2
oshepherd_: in what way is it an issue?
#
cwebber2
oshepherd_: there's the comments sometimes getting disconnected from being shared with their parents
#
oshepherd_
cwebber2: That kind of stuff
#
oshepherd_
Unless you saw the post activity, you have no idea of the audience
#
oshepherd_
But actually the audience should really be a property of the post
#
oshepherd_
of the object**
#
oshepherd_
And it gets even more confusing - e.g. what if the same object is posted twice?