Feature Discussion: Groups

We discussed a group implementation that treated groups as multisided, basically that a group could have several aspects where its users have different permissions to read/write/invite/manage. I’ll try to write a sum-up on the wiki so that we can discuss and merge ideas. :slight_smile:

Okay, so here’s a starter. It is hard to write everything in a proposing way, but I’ve tried to include most thoughts and problems. Nothing on implementation/federation yet.

https://wiki.diasporafoundation.org/Groups_feature_proposal

@Ivan Thanks a lot! I’ll read it when I get time and come back with a proper plan if plan if possible

What happens if all accounts get the ability to switch group functionality on or off for each aspect?

A ‘group’ then would just be an aspect with extra functions turned on.
I still think we’d make special ‘group’ accounts, but I’m not sure we gain anything by having the software notice the difference …

Why special group accounts??? Sounds very bureaucratic!

I think that having a special account for groups introduces new annoyances and no benefits.

By special accounts I’m just referring to the practice some of us already have of having different accounts for different things.
Like me having one for posting in Danish and one for English.
The difference (the ‘specialness’) is all in the users head.

I’m just noting, as it were, that I think we will see things like ‘science@sciencepod.xx’ aggregating science-groups.
But again the difference should be in the users head. NOT in the Diaspora software.

Thanks for clarifying about the ‘within group’ moderation.
@shirish @jakobnorregard
Yes, I’ve run groups. Someone joins, ends up trolling or hating.I would like the option to toss someone like that out of a group I run.

+1

@kevinmartin - would be great to see someone working on this - thanks!

as i read all posts, i strongly agree that people who stuck on facebook are mainly stuck there because of this group organising feature …
however, i surprisingly did not read the most easy way to archieve a group feature (in my naive thoughts at least):
.
why not take a special user class which does nothing else than re-share whatever share is coming in from connected people. So this special user class become the group itself.
.
users are in many ways functional equal to groups - you have to connect to them and than share informations. the only things needed to get this working is make this user re-share everything somebody else is sharing with him, so everybody who is connected to this fake-user/group get this stuff (without necc. have to be connected to the original sender)
privacy of this group is than given at start because the user share only with conneted user.
Their are some more benefits - but if users are not auto accepted you have to login seperatedly …

however, i really would love to have some ideas how i could get this autoshare working - so you get groups for free

1 Like

@Jens Viisauksena : I know nothing about D* code but your idea seems to be a very clever and simple way to implement groups.

@Jens Viisauksena, I don’t understand how your “user”-groups differ from a simple hashtag.

Idea posted by @jensviisauksena is interesting, but it forces users to have one special aspect for each group - to share only with that group. Or maybe it wouldn’t be a problem to implement sharing with some user’s public aspects? I wonder if automatic reshare option would be a problem to implement. Also having an ability to create multiple accounts with the same e-mail address would be useful.

Using aspects/tags as groups is a little problematic, because it requires that every group member has to add other members as a contact and then create a group aspect.

Local groups have no use for me, and we shouldn’t go that way, because it breaks diaspora’s network distribution.

I was thinking about another way to implement groups as user accounts, somehow similar to facebook groups. Things that would need to be implemented in order to make it work include:

  • an ability to create more than one account with same email
  • an ability to post on people’s (or groups’) account “walls”
  • an ability to set a default visibility of posts posted on account’s wall (could be “all aspects” for private group or “public” for public group account)

@rasmusfuhse : hashtags are similar as in twitter, so public in general, the user expected function of a group will be mostly somehow of being in a closed circle (i guess)
@mikemacgirvin : things are more complicated, after some days of digging in code and functionality it become clear that public post, hashtags and user posts are fundamentaly different. while hashtags work more-or-less like in twitter and public post work like an public rss fee - normal posts work like a email from user to user.
so actually everytime you share a “limited” (socalled) post to some of your aspects, the server takes this aspects, looks who is in there and write somehow a “email” to the other pods, that have some serious implications.
** posts once sends and not deliverable will not be delivered in future (something like 3 retrys are there)
** posts are saved by its guid on other pods who than manages who can see this
** it is not possible to give users access to older posts when they join into an aspect later (that would be somehow a expected functionality of a group)

it seems that the reorganisation of my incoming posts only happens if i login myself (what is bad in this case, because that means we have to manually trigger this linking to get all the new posts) … there some research is needed.

so actually we work on a script to get the content of a specific user (extra created) and push it as its own post (with a note of the origin)
not so clear now is how we link our “new” posts to the incoming posts - so we can delete them when incoming posts are deleted as well. (but if this wont work now its annoying but nothing so bad, since group posting will work)
the skript should have access to the database, ideal on the same server, very very nice would be if the pod user can tick it in preferences so that this skript automaticaly work for this user.

while we are at research at this time, it also is possible that we solve this inside the code itself, but we are not fluent in ruby, that make things difficult - but not unsolveable.

just to mention that there is this reshare function for public posts, but we are not sure if we can “use” this - because this works so different - if we could : we got all this later deleteable stuff for free (thats whats possible now , reshare public post with mentioning the origin and deleteable by the origin)
.
and yes, this problem that 1 email actually could only have one user is also at our focus.

I just wanted to add one important userbase of facebook Groups: Artists

There are several Groups with speedpainting topics and Groups where you can ask for constructive criticism. These groups are quite huge and very active.

I follow a lot of these groups but do not like to post anything, simply because i dont agree with facebook Terms of Service regarding Images & Copy Right.

Still these groups are the main reason i am still on Facebook. Everything else can be replaced by different services, but the active userbase in these groups is incredible.

I think Diaspora could really become popular with a better # or Groups feature which allows some moderation.

The Topics of Copyright & Sensorship & Privacy could help making it more interesting for people who want to TEMPORARY want to share work in progress Artwork.

Facebook sometimes prevents users from posting artistic nude poses for example.
Lots of reasons for peope to switch…

Hello. I don’t know if I am in the right place, but I have some ideas and about a group function on Diaspora*. Please, Have a look at some of my ideas, and please pardon any typing errors. (I’m a lousy typist) I don’t know such things as coding or how things work like that. But I do realize the importance of a group function. As mentioned before, Groups enable folks with a common interest to join together and participate in conversation, Image sharing, etc. about that interest. All without having to sort through other irrelevant topics in the stream. I hate to make the same comparison, but it is necessary, Facebook groups. The way they work is quite wonderful, for the most part. But I, and many others feel that FB’s attitude toward user privacy, users in general, and the constant adding of unwanted fluff & filler, is becoming out of hand. I have set up a “Closed” (private) group on facebook. But I have to limit membership to under 250. Anything over 250 will result in the group privacy setting to be nullified. Plus, even in groups, users are relentlessly tracked and bombarded with ads. (unless like me, they run an adblocker) I have been searching for a clean straight-forward site for two years now. Diaspora* is almost the answer to my prayers. I say “almost” because D* does not yet have the desperately needed Function to create a secure, private group, where members can upload, post, comment, and converse about the topic. Also the creator of a D* group would need the ability to appoint administrators or moderators who can delete irrelevant or inappropriate material or posts, or members who become detrimental to group security, well being, and activity. Creating the group function would necessitate an Admin panel or dashboard where group admins can Edit headers, manage group functions, and edit group header images/logos. I do have a mockup prepared. It is just my idea of how a D* Group could look. Please pardon the crude nature of the mockup. I used Windows “Paint”, and borrowed elements from my D* profile, and a header/banner image form my own FB group. Other sidebar buttons/icons I made in “Paint”. Please Have a look at the image. And Please do not hesitate to give me feedback on my D* profile. I very much welcome it. So sorry for this being such a long post, but I wanted to explain in detail. I will link the image, and my D* profile now.

Thank you for your time and patience,
~JIM~
IMAGE >> https://diasp.org/uploads/images/scaled_full_ba319a59408a710e1307.png
MY PROFILE >> https://diasp.org/people/2fc96cd0a96801328d1700259069449e

@jimhoberek : You are in the right place. We know that groups are definitely a desired feature. As far as I know, someone was working on it some time ago. I don’t know where is his work. Your idea seems quite good. We just need for someone to work on this, as usual :confused:

Hi,
It seems there are some valid ideas about groups in this thread and the only element lacking is a volunteer to convert those ideas to code.
If either of the two following stuff happen, can any of the Diaspora developers mentor the idea?

  1. Hire a developer by crowd funding.
  2. Get interested students to do this as a project as part of their college course.

IMO, mentors are important since the feature has to co-exist with existing code and abide to existing conventions. So, with a mentor to oversee the developments, the time required to implement can be reduced (can avoid too many trial-and-errors)

If there are mentors, we can try to make any of the above two happen.

We were having a discussion about conducting a crowd funding to hire developers to implement features that are missing (groups, photo albums etc) and I thought having a mentor would help a lot.

So, what do you say?

Checking in to see if there has been more discussion about this. Checked out a new site (to me) called minds.com and it touts as being open source, privacy centered and user controlled… and has groups AND blogs. I really am tired of these other sites coming in as though they are something new and special when Diaspora surpasses in SO many ways… but we really need to get the groups going. I cant code worth beans but SOMEBODY… please help!