Transient/ephemeral activities? Keeping all activities around, forever?

Hello,

Something not discussed, but which has been on my mind a lot, is whether
or not we should require that all activities be kept around together.
This has been on my mind for two reasons:

 - As Evan pointed out at the last face to face, ActivityStreams 2.0 is
   both a logging and a command language of sorts.  Does it make sense
   to keep all "commands" around forever?  What about a case like
   OpenFarmGame, where someone may water 200 kidney bean plants in a
   day.  If a server wants to decide that it eventually wants to drop
   that stuff, can it?  And if an action completes its side effect on
   another server, is it really needed anymore?

 - What about stuff that a user might not *want* to keep around forever?
   For example, if you and I have some communication over the federation
   protocol that uses something like OTR to encrypt the message, how
   deniable is that plausible deniability if we keep around forever?
   And is that important to consider when we think about users' safety?

One thing that suggests that activities must be kept around forever, at
least as in terms of ActivityPump, is that the spec says:

  > The server MUST perform de-duplication of activities, whereby it
  > discards repeats of already delivered activities (this can occur if an
  > activity is addressed both to a user's followers, and a specific user
  > which happens to follow said user, and the server has failed to
  > de-duplicate the recipients list, for example). Such deduplication
  > MUST be performed by comparing the id of the activities and dropping
  > any activities already seen.

It seems that it would be hard to do this if we allowed for
transient/ephemeral activities.

What do people think?

(And should I be raising these types of things as issues on the tracker,
or should we discuss here?  Forgive me, I'm still new to all these
protocols...)

 - Chris

Received on Sunday, 12 April 2015 19:34:12 UTC