Hi, folks. I'm hoping to roll out a first version of 'group'
functionality for next week's release (just before MBC09). I'd love to
confirm some design decisions with you before I do.
1. If you are a member of a group, you can direct a notice to a
group, and the group will echo that notice so that everyone else
in the group receives it. (Groups work more or less like mailing
lists in email.)
2. Groups have nicknames, just like users, with the same restrictions
on chars and length.
3. Group nicknames are in a different namespace from users. So, there
can be a user 'ubuntu' and a group 'ubuntu' on the same server.
Alternative: groups and users share a single namespace. This makes
addressing more consistent (see below), but means that we lose all
the 'squatted' nicknames on Identi.ca (we can't have an 'ubuntu'
group, since 'http://identi.ca/ubuntu' already exists), or we have
to forcibly seize squatted nicknames. Neither is very nice.
4. Groups have profiles, more or less like users. They have profile
data (fullname, homepage, bio, location, avatar/logo), a profile
URL (like http://example.com/group/groupname), and a permanent URL
(http://example.com/group/id/13).
5. Remote users can subscribe to group feeds, just like they
subscribe to user feeds. The OMB 0.1 protocol can handle this just
fine. Maybe in OMB 0.2 we'll add some extra metadata, like
'omb_this_is_a_group'.
6. There will be a list of group memberships on your profile page.
7. There will be a list of members on a group profile page.
8. Every group has one or more administrators who can modify the
group parameters.
9. We'll use a separate syntax for directing a notice to the
attention of a group. I think that '!groupname hey everyone' is
probably good; I believe it's what Plurk uses. Alternative: we use
'@groupname hey everyone', and the software guesses whether you're
talking to a user or a group (based on your subscriptions). The
general feeling around here is that guessing is bad. Alternative:
if groupnames and usernames are in the same namespace (see 3
above), then we can use @groupname for everything and it won't
matter. (This works more like email, where you use the same kind
of address for lists and for individuals.)
10. Notices directed to groups by non-members will be ignored.
11. Anyone can join a group (first implementation). We may have a flag
that lets admins' approval be required for later implementations;
we might also include a 'block' feature here.
12. Notices echoed by the group will look like the group is the
author. If user 'fred' send '!groupname hey everyone', the notice
will be resent with the author='groupname', and have the text: '♺
@fred hey everyone'. Alternative: the author looks like fred, and
there is some extra metadata that says the notice is 'via' the group.
13. Groups do not do anything with direct messages ('d messages', 'dms').
14. Groups will have a list of 'related groups' (defined by the admin)
on their profile page.
Feelings, emotions, opinions, furious denouncements?
-Evan
_______________________________________________
Laconica-dev mailing list
[email protected]
http://mail.laconi.ca/mailman/listinfo/laconica-dev