Feature Ideas/Activities

Below is a big braindump, feel free to ignore it.

For a quick summary, here's a screenshot and here's one with notes.

--Schendje 11:05, 2 December 2011 (EST)

What is it
One of the things I ran into when using mediagoblin.com was that it's hard to keep track of what's happening. Somebody commented on one of your pictures? Your favorite artist uploaded a new piece? You wouldn't know about these things unless you actively looked for them.

That's why I'd like to propose an Activities page, which would keep track of changes relevant to you. It would consist of a separate page that lists all of these updates, but also take up a small part of your profile or the homepage in the form of a small list with the latest 5/10/20 updates.

As for the actual name, I'd like something a little more fun than the dry "Activities", like "Latest happenings" or "What's going on" or something, but the word Activities is a nice and appropriate code name. ;)

About updates, favorites and fans
What do I think would count as an update? Needless to say, we don't want to alert users about *everything* that's going on. I think relevant updates would be:


 * Comments on your uploaded media
 * People "favoriting" your media (since that's basically the same as a "cool, I like this" comment)
 * New media added by people you're "following"

For those last two, we don't even have the functionality yet, but they would provide a way for you to customize which and how many updates you receive. Do you like a certain user's stuff? "Follow" him and you'll receive updates whenever there's something new.

You could expand this even further:


 * Someone you're "following" has added a comment on somebody else's media
 * Someone you're "following" has "favorited" another user's media

...etc. But let's think about that later.

Rationale
So, a lot of websites have an updates/messaging system. Two of these are:


 * Email based systems. This is quite simple: for every update that is relevant to you, an email will be sent.
 * But being spammed by emails every time something happens will get annoying quickly.
 * Messaging/inbox systems. Typically used on forums and whatnot, you'll receive a message in your "inbox" for every update. So that's basically the same as email, except it's on the website itself. It'll often list your "unread" messages. They are "read" by opening them, or as on reddit, by simply clicking on them.
 * But creating a system like this will take a lot of work. Also, you have to manually open each message or at least actively dismiss them.

Instead, let´s look at microblogging. On Twitter/identi.ca/Facebook(?), there's a long list of updates from people you're following. How is this different:


 * You are not alerted by email or messages about every new update
 * It's filled with the things you want to see, because you've selected the updates by choosing the people you want to follow
 * This list is automatically updated, but you check it manually. This means you check the updates, instead of the updates alerting you. As a result, they won't bug you when you don't want to see them.
 * The system doesn't keep track of what you've already read. You do this yourself, by remembering what you've already seen. By keeping all the updates in the list, you can always go back. To give a rough sense of time, we could add date headers, so you can see what happened today, yesterday, or earlier.

I think this last one would be the most appropriate for our software.

So what would this look like
As said above, it'd consist of two parts:


 * A main Activities page, listing all the updates in reverse chronological order.
 * A slice of the latest X updates on other pages, like your profile page or even the homepage.

Additionally, we could create an Atom feed (since this is the perfect place for a feed) and/or have an update-me-by-email option.

Appearance-wise, I imagine it'd be fairly straight-forward. I quickly firebug'd something here: http://schendje.fedorapeople.org/temp/Screenshotsdcjnasdcsdh.png