w3c / activitystreams

Activity Streams 2.0
https://www.w3.org/TR/activitystreams-core/
Other
278 stars 62 forks source link

Implementation summary link broken? #481

Closed sbrl closed 5 years ago

sbrl commented 6 years ago

Please Indicate One:

Please Describe the Issue:

I'm curious as to what Activity Streams actually are before I read a huge long specification document, and I finally found this repository with a link to an implementation summary. Upon clicking it however, I discovered that the link appears to be broken (http://as2.amy.gy/reports.html). Is there an alternative document I can read that will give me an overview as to what activity streams are and how they're implemented please?

cjslep commented 6 years ago

I am sympathetic to your frustration and/or confusion. I wound up slogging through the specs and filing a lot of issues, which I'm not sure was the right way. What kind of document is missing that would help you understand what ActivityStreams are? What sorts of questions of yours would it answer? (I'm not sure the w3c would put it out or if it needs to be blog posts or an informative website)

If I may ask which spec(s) did you try reading? Theres:

As well as a couple others related to the AS 2 Terms and non-normative guidance.

sbrl commented 6 years ago

Hey! Thanks for the response. I tried reading the core spec, and got mid-way through the serialisation section before I got confused enough I couldn't continue. I've got questions like:

  1. What does non-normative mean?
  2. In what real-world example scenarios would I use this? Is this for things like a social network feed (e.g. twitter), a feed of blog articles or comments (akin to Atom), or something else?
  3. Assuming I was to implement this in my imaginary application, how would I transmit an activity stream (and to whom)? Via HTTP? FTP? Files on my disk for other applications to read? If HTTP, are there any GET parameters etc. that I would need to implement to let the client select which activity they want?
  4. Where are the "streams" in this? The examples I see in the first few sections all appear to be single activities.

....and many other such questions. Despite the fact that I'm graduating from a Computer Science degree course this year, I don't have a lot of experience reading W3C recommendations. Is there something I'm missing?

nightpool commented 6 years ago
  1. non-normative basically means that that section isn't required—it's commentary on the spec, not the spec itself. wiktionary definition of normative

  2. Activitystreams (AS2) is a shared vocabulary for representing different types of "social networking" actions, broadly defined. These could be blog posts, microblogging (twitter-like) notes, facebook statuses, etsy sales, or anything in between.

  3. Activitystreams is just a shared vocabulary, it doesn't specify any types of behaviors or transmission. ActivityPub is a spec that builds on Activitystreams and adds a distribution and discovery layer.

  4. Collection and OrderedCollection are the "streams"

nightpool commented 6 years ago

A good way to think about it is by analogy to HTML and HTTP. HTML is the language web documents are written in, but they could be stored or transmitted in many different ways—on disk, in a database, etc. HTTP is the protocol browsers and servers use for sending documents (not necessarily html documents) back and forth.

ActivityPub and AS2 are a little more tightly tied together then HTML/HTTP are, but the principle is the same. AS2 is a language to represent social activities, and AP is just one way of distributing and subscribing to activities.

sbrl commented 6 years ago

Ah, thanks for the clarification, @nightpool! That makes a lot more sense now. So it would be be more beneficial if I first read the AcitivityPub spec first, and then read the ActivityStreams spec to fill in any gaps.

For future reference, I also found a document that describes a bunch of related APIs and standards and what they do.

nightpool commented 6 years ago

Yep, was about to link that document in my reply but totally forgot! it's pretty helpful.

So it would be be more beneficial if I first read the AcitivityPub spec first, and then read the ActivityStreams spec to fill in any gaps.

It depends on what you're trying to do. There are other uses for as2 documents outside of a federated server/client scenario. but if you're looking to use as2 to implement a federated social network, then yeah ActivityPub is probably your best "gateway" spec.

Feel free to stop by #social on irc.w3.org if you have questions!

sbrl commented 6 years ago

Many thanks, @nightpool! I'll do that if I've got any more questions. I'll leave this issue open though, since that link is still showing a 503 for me.

gobengo commented 5 years ago

@rhiaro do you intend to fix that link? If not will you make a PR to remove the link from this repo's README? (or remove the link until you find time or desire to fix that link) Thanks.