Loading
Network error

Activity — transparency & context for better communication and decisions

Started by linc in Agorakit : Users & developers October 11, 2025 4:35 PM

I see we have a partially-implemented activity log. I'd like to explore this a bit more because I think a lot of community information lies in the actions we take "behind the scenes" — not necessarily who is talking, but who is "keeping the house tidy" and curating. I believe there's a lot of "context collapse" in ongoing discussions when we cannot fully see what is happening within the medium we're talking and it leads to misunderstandings. If we're intentional about what we log and how we show it to add context, we could create a much richer collaborative experience.

There's two types of 'logs' in my mind: system logs and application logs. The former is for technical observability of the system, like error logs and when things changed for troubleshooting. I believe this is covered with the Server Admin -> Logs feature. The latter is informational for all members using the application to understand a timeline of events. I see partially-implemented 'Activities' but it doesn't appear to do much or have any UI today. That's what I'd like to focus on here.

There are a few contexts application activity could happen in:

  1. Site
  2. Group
  3. Discussion
  4. User

I'm breaking out 'discussion' as its own (but not 'map' or 'calendar') because I think it uniquely needs per-resource context that the others likely don't necessarily due to volume of changes and user experience. In other words, it's fine to log 'Edited an event' at the Group level, because it's unlikely the volume is high enough to matter. Conversely, if we log every comment edit at the Group level, it'll be too high-volume and difficult to understand.

For each context, we'd want to define (likely in this order):

  1. What is helpful to know, and why? (data)
  2. Where is it helpful to show that activity? (UI)
  3. How will we filter, sort, or search it? (architecture)

That will inform how we design it in the product, which will inform how we collect & store the data. Once we have a nice set of these, we can start to look at whether it's best to use an existing tool (e.g. spatie/laravel-activitylog), do something bespoke, or something in between. My quick look at existing tools suggested they are better at system logs than in-app logs, but we'll see!

Lastly, I wanted to list a few things Activity is NOT (in my mind):

  • Revision history ("it was X and now it is Y" — this is a separate feature)
  • Audit trail (this is a system log)
  • Immutable ("once recorded, it is forever" — e.g. maybe we want to combine activities retroactively for ease of use)
  • Trigger ("if 3 activities of X are recorded, do Y" — this is a separate feature)

I think if we keep this focused on communication it will be a great tool, but if we try to make it responsible for many other concerns, it will quickly balloon into a difficult feature to implement & maintain.

October 11, 2025 4:57 PM

Retrospective of Vanilla Forums + Activity

In 2010, Vanilla 2.0 launched with an "Activity" page that I thought held great promise. It was a "feed" of changes in the community:

  • Users registering
  • Avatar changes
  • "Wall" posts (a la early Facebook)
  • Badges awarded (later)
  • Ranks promoted (later)

For moderators/admins it also logged:

  • Users banned
  • Badge requests approved (later)

Within discussions we logged:

  • Who reacted
  • Edits to comment content

Ultimately, the feature was basically useless and most new communities hid the page entirely. Why? It was an un-curated firehouse of unrelated actions that no one cared about. There was no audience for it, because it was never designed as a feature, it was just where we thought "oh we could add an activity about this" and never analyzed why.

A quick list of problems:

  • Why put the moderator actions on a separate page?
  • Why not log the rest of the moderator actions (pin, delete, sink, etc)?
  • Why not put when an edit happened within the chronological flow of the discussion?
  • Badges & rank promotions were 90% meaningless to other members and buried the few that should have been highlighted.
  • They weren't context-aware, so multiple redundant activities could flood the page (e.g. a login triggering 10 badges at once).
  • Wall posts were lost in the noise and mostly useless.
  • Avatars changing is never interesting unless it's an abuse vector you need to monitor, which is a niche scenario.

In summary:

  • Many of the activities may have been interesting in the context of the user (only), like badges & avatar changes.
  • Discussion logs were buried in a link that made them functionally useless unless you knew where to look and had a reason.
  • There wasn't a critical mass of useful activities to make it worth anyone's time to look at it.
  • We focused on what was easy to log, not what was useful from a community manager' or member's standpoint.

Basically, Vanilla launched a neat MVP of an idea that just had stuff tacked onto it over the years instead of any vision about how it could enable the community to see itself more clearly. So, part of my proposal here is in reaction to how we didn't have any clear vision for it and lost the plot on what could have turned into something truly useful and interesting.

You've read everything in this discussion