Loomio

New feature: Invite people directly into a thread or decision

Robert Guthrie PublicSeen by 94

We're happy to introduce some new features which we think you'll find super useful:

  • You can now invite people directly into threads or polls (or proposals), without them joining your group.
  • You have control over who gets notified when you create a thread or poll or outcome.

Now when you create a group, thread, proposal or outcome, you'll see an invitation screen like this (for a group):

or this (for a proposal):

This form lets you select exactly who to notify about (or invite to join) your newly created group, thread, poll or outcome.

An important change to note: unless you select people to notify, nobody will get an immediate notification - which may be what you want. People will still see the new activity in their "Yesterday on Loomio" email and within the app.

To make notifying specific groups of people easy, you can choose from predefined audiences, such as "everyone in the thread" or "people who have not voted". Alternatively, you can enter individuals by name or email address and they'll get an email that brings them into the thing in question so they can participate right away.

The other great thing about this feature is that you can invite people who are not members of your group directly into your discussions and decisions. They'll get an email allowing them to participate immediately, but they won't get access to the rest of your group. This is useful in cases where you need to invite an external expert into a specific discussion.

With this feature delivered, we're closer to being able to support private threads (person to person, without a group) - so expect to see that soon.

Of course, we'd love to hear what you think about this feature. Please leave feedback in this thread. Thanks for using Loomio. 😀

Matthew Bartlett

Something I don't quite understand: this thread has a members panel, from which I can invite people. At the moment only Rob's happy face is listed, but when I go to invite it looks like the whole subgroup is a member of this discussion.

Robert Guthrie

Thanks Matthew, can you explain what makes you think the whole subgroup is a member of the discussion?

Matthew Bartlett

Because when I click ' Invite to thread' I see the attached modal, which makes it look like 'members if product development' are already part of this thread. Make sense?

Robert Guthrie

We're trying to offer a choice on this screen. You can choose to select members of Product Development, or enter individuals by name or email address.

Maybe we should add "0 people selected" on the empty state?

FABRICE ALCINDOR

Hi, This is a great feature! 👏
I recently faced a case were I had to invite someone in my the group of administration of the association for internal discussion. Next time I will be able to just invite people for the discussion.

Question: If we invite a member in a discussion, will this member be automatically added to all related discussion and thread? Or shall we invite him for each one?

mike_hales

This new flexibility looks good, thanks team 👏 Seeing members of a thread is nice.

A couple of related Member-management things may be a bit broken. Group members' listing used to give a count of total members, no longer does; this was useful. Doesn't appear in the 'Manage members' pop-up either.

Tracking of invitations seems faulty - invited several people today who aren't appearing in the 'Invitations' panel on the group home page. Not appearing in the 'Manage members' pop-up either - but two older outstanding invitations are displayed.

PS: When group members' listing on group home page has been expanded, it would be good to be able collapse it again too.

Robert Guthrie

Hi Mike. Thanks for the feedback, very helpful.

To help get to the bottom of the invitation issue, could you please email rob@loomio.org with the group url with missing invitations and the email addresses that you expected to be shown, but are not?

Thank you!

mike_hales

Done. Thanks Rob

Robert Guthrie

I've changed this form so the submit is disabled until you've added someone to the list. There is also a status message saying nobody added yet. Hope this clears things up. Feedback welcome of course!

Richard D. Bartlett

I edited an existing thread, then I get this form. The translation is missing. But more to the point, having a disabled form at this point is counter intuitive. Editing a context without notifying people seems to be a pretty common use case, so I'd expect there to be an obvious button like 'Don't send notifications'. Having to "X" out of this form makes me feel like I'm doing something wrong.

Robert Guthrie

Yea, i agree. I've added a PR for a "Don't notify" button as an alternative action on the action bar. It also fixes the translation.

As you can see in this thread, the first batch of UX issues were around people thinking that clicking the "done" button ment they had sent notifications. I think having a disabled Send button is important to get the right message across.

Matthew Bartlett

This particular discussion (af6U4b3K) has had probably ~8 people participating in it over the last 10 months, and 12 have seen it; but only the two of us who have participated in it since the new feature went live are listed as 'thread members'. Intended behaviour?

Robert Guthrie

Arrrr yes, sorry about that. We have not back-filled the memberships for a thread yet. Right now you get a thread membership when you participate or are added/invited to it. We need to go back and add people who have already participated.

Matthew Cropp

I've noticed this in a bunch of threads that have had a lot of participation previously. @robertguthrie, will y'all be fixing from the back-end, or should groups be taking pro-active steps to "re-add" people?

James Kiesel

We will back-fill it, but it will take a little bit of time, since there's been lots of discussions on Loomio in the past :)

Richard D. Bartlett

@gdpelican I would recommend writing a script rather than doing it manually. :facepalm:

James Kiesel

Er, I wrote a script earlier today, and am now downloading database to test it on. This should be complete within the next few days.

We're talking about hundreds of thousands of discussions here; this isn't something that we're doing, or ever considered doing, manually.

Hugi Ásgeirsson

@gdpelican once this feature is pushed to the stable branch, could you make that script available?

Robert Guthrie

I wonder if Rich was making a joke that ended up as a clanger on the floor.

@hugi As a policy we always include data conversion stuff like this in the rails migrations by the time this hits the stable branch, so this stuff is automatic for docker users who run the migrations after pulling the latest image.

Hugi Ásgeirsson

@robertguthrie and @gdpelican – I saw that the stable branch seems to have been removed? I've now started tracking master, and have this update among others, but I've got the same behaviour as @matthewbartlett describes above. What steps do I need to follow to back-fill memberships to threads?

James Kiesel

Hmm we need to restore that stable branch; I reckon @robertguthrie will have a recent version of it.

Have you run rake db:migrate on your instance recently? There should be a migration to backfill the discussion members; alternatively you can run

require 'db/legacy/backfill_discussion_members_job'
BackfillDiscussionMembersJob.new.perform

in a console to run the code that that migration runs for backfilling.

Robert Guthrie

Whoops should not have deleted it, but it had nothing unique in it. It was just mature. I think we could cut a new stable from master now.

Matthew Bartlett

I noticed three dots next to my name in the Thread members panel, so I clicked them, and get a 'Remove from group' button. That feels an odd thing to be able to do from within one discussion. What's the vision?

James Kiesel

The intention of that is 'unsubscribe', although we have a small piece of work to do around crystalizing what unsubscribing from a poll or discussion means precisely.

Matthew Bartlett

I wonder if 'leave the discussion' might be clearer? (Currently reads to me like I'd be exiting the whole group). In that case I'd imagine if I clicked it:

  • there'd be an activity item that said "Matthew Bartlett left the discussion" (like in Slack 'Matthew left #channel' but a little less cryptic/terse)
  • I'd not longer get notifications about new content in that discussion unless I were specifically at-mentioned or re-invited, or added myself back in.

(Forgive my passive-aggressive campaigning for 'discussion' rather than 'thread' :) )

Danyl Strype

Forgive my passive-aggressive campaigning for 'discussion' rather than 'thread

Not only do I forgive it, I +1 it. "Thread" is a comfortable term for us greybeards who have done our time on mailing lists and web forums. I'm guessing a non-jargon term like "discussion" or "conversation" is clearer for most users. That said though, do either of these terms really get to the core of what a thread is in Loomio; a temporary breakout group convened to make a series of decisions within a (hopefully) carefully defined domain?

EDIT: I often find it helpful to think about the equivalent to a given Loomio feature would be in a F2F decision-making process.

Matthew Bartlett

Attached is from an email associated with a new discussion. I suggest adding 'to the discussion'; i.e. "MES invited you to join the discussion: Deloitte business…". Or even "MES invited you to join the discussion on Loomio: Deloitte business…" This would be to make it clear that I'm not being invited to join a group, or a meeting, or something else…

Robert Guthrie

Yea, I can see the sense in that. Except we would say Thread these days. Thank you.

ben h.

@robertguthrie

this is quite a big change!

we used the announcement aspect of new threads a lot - and this functionality is now gone (as far as i can see)

is there now a way to send an announcement - that includes the description in the email (rather than just an invitation to the thread - i don't know what the invitation includes - as i can't invite myself as a test)??

Robert Guthrie

Hi Ben, sorry to alarm! When you 'invite people to the thread' they get the same email as before - the difference is that now you can see exactly who will be emailed, and add or remove people before it's sent out.

ben h.

phew! thanks for clarifying :-)

Hugo van Stratum

When it says your comment will not be visible to anyone excert people running the show makes me wonder why I post things on ECE Strategic plan.

Robert Guthrie

Hi @hugovanstratum, I think you've posted your comment to the wrong thread. Try to find your group in the sidebar of the app and go from there.

Matthew Bartlett

Minor thing but the Thread members panel just showed me as online 12 minutes ago

Matthew Bartlett

A thought: if the thread members panel told you when someone was last seen in this thread, rather than just when they happened to have looked at any Loomio page, you could ditch 'seen by'

James Kiesel

I like the idea of 'last seen in this thread', but it'd be a bit of infrastructure work and I'm not totally confident on how we'd implement it yet.

We've heard that 'Seen by' is a real key piece of info for people trying to figure out if they need to blast their content again (GAIA in particular focused in on that little feature quite a bit), so I think it'd be an addition rather than a replacement.

Matthew Bartlett

FWIW: In my style of Loomio facilitation I often have really long-running threads — e.g. "Meetings & minutes"; where seen by doesn't really work, because I'm most interested in whether people saw this thread once upon a time, but whether they've caught up with the latest agenda

Danyl Strype

Is this a case where it would be better to have a "Meetings & minutes" subgroup, that includes all group members by default, and add each set of minutes as a new thread? I remember the kiwi Pirates struggling to figure out when to use a thread and when to use a subgroup. This is perhaps an example of where Loomio shines as a tool for mostly F2F teams that want a replacement for email that isn’t an intrusive realtime Slack-a-like, but falls down as a tool for managing larger, distributed organizations?

Matthew Bartlett

Using that pattern in the past I've found it hard to find things, as there's no association in my in between 'Meeting 23 February' and 'Negotiations with the city council'. What's worked for me is 'Meetings & minutes' for organising dates and recording actions; and topical threads like 'Dealing with city council' to collect up substantive material.

Danyl Strype

OK. Also proliferation of subgroups as a hack for grouping information - as opposed to distinct groups of people within an organization - is probably a sign some tooling is missing. Does Loomio have a one-click way to link threads, similar to the way you can link Issues in GH? Would that allow you to use one thread per meeting?

Matthew Bartlett

I'd love it if there were a thread activity item for announcements. Just now I started a thread in a group and invited one other person by email, and another who's an existing user (and it felt GREAT by the way!). But I kinda want to see immediately below the context panel 'Matthew started the thread and invited this group, Worzel Gummage and one other person [[the emailed one]] to join it'

James Kiesel

Making a thread item for this would be really easy, but the granular breakdown of who got invited will be a bit harder (and possibly too much info most of the time). Maybe starting with a thread item stating 'Matthew Bartlett shared this thread with 10 people' is a good enough start?

Matthew Bartlett

That would be a great step. For the future I think letting the regular group know about the non-group members is probably the most salient bit.

Robert Guthrie

Interesting to hear. I'm a wee bit jaded of activity items these days, but I'm willing to give it a go. On the other hand, I've always thought that one of the next pieces of this is to show who was notified/has seen the notification (without complicating the existing announcement modal). So maybe the activity item could offer a modal (or inline expansion) which lists the notification recipients and when they saw it (if they have, yet)

Matthew Bartlett

Interesting. I guess I see Loomio through my old 'linear Loomio' lens — where everything happens in a linear stream, on a little portrait mobile screen, with currently-relevant actions all available down at the tail of the thread. As opposed to needing to look at panels off to the side to fully understand where I am and what the context is for this thing.

Robert Guthrie

We do want to put the right information in the right place. The right panels are the old thing IMO. I'm mocking something up.

Robert Guthrie

Ok here's something to talk about:
Clicking the 5 people link opens the modal.

Matthew Bartlett

Looks great I reckon.
"Announcement status" feels a bit robotic but I haven't yet thought of better words

James Kiesel

I think we throw it into the Product group feature proposal pile with a writeup of why we'd want to build it, how long it would take, etc. I'd be happy to build the first picture, which would take ~2 hours, but the second one is a larger piece of work that I'm not certain about at the moment.

From a user perspective, it looks great, although I'm not sure if it will get heavy usage from the thread item like that (seems like people will care more about the aggregate status of all notifications that have been sent out for a thread/decision, rather than how a particular announcement fared).

Here's my tech comments:
- The hardest part here is the viewed_at date, which we don't currently store
- To get the viewed_at date, we need to do 2 things:
- Convert the boolean 'viewed' column on notifications to 'viewed_at'
- Figure out a way to backport viewed_at to existing notifications (I mean we could just port over created_at, which will be pretty inaccurate but not egregiously so), or alternatively decide to not care about backporting.
- Write a line of code in email_actions_controller which finds the relevant notification for the email you're reading and marks it as viewed (we should do this anyway, if you've read the email threre's no point in telling you about it when you come back to the app)
- Write an announcements#show route which serializes out the announcement_created event and all of its notifications

Matthew Bartlett

I'm really excited about this feature. Loomio feels more porous; collaboratey; sparky; more fit for the overlapping sets that make up the organisations I'm involved in.