infrastructure in a box

Some people might call it “digital infrastructure.” Maybe it is “information architecture.” Perhaps it is “tools to organize with.” Regardless, the question is “how do you manage comms and complexity in the digital world?”

I’m going to walk through some common pain points in organizing people around tasks, and offer a set of tools that help address those pain points. I’m taking an opinionated view in this case:

  • I favor open tools over closed tools. This means that the software is free/open source, suggesting I won’t be stranded if the company producing the tool goes away, or have my data locked away from me.
  • I favor self-hosting over commercial offerings. The tools you use online are like the place you live: do you want to rent, or own? Each have their tradeoffs, but when I “own,” at least I have fewer concerns about a crappy landlord.

table of contents

scheduling things

Scheduling things is hard. How do you find a time for six people to all meet at a given time? Doodle works. I haven’t found a free/open alternative that is easy to set up yet. (cal.com is a contender.)

So, when you want to find a time for a bunch of people to meet, use doodle.com or cal.com.

announcing things

A big part of organizing is just announcing things. “We’re meeting to discuss X at time Y with agenda Z.”

This is hard. You’d think it would be easy, but it isn’t.

There’s a few different kinds of announcing things. Each depends on what kinds of communications you want as a result.

broadcast

If you want to announce things, and are not worried about responses, then you have a couple of tools available.

  • A mailing list. It does not matter if you do this by putting everyone’s name in a BCC field, or if you use a fancy tool for doing mailings. When you broadcast information via email, lets agree to call it a mailing list.
  • A blog. A blog is good for long-form pieces, content with images, or anywhere that you want to have your words have space to breathe and some notional permanence on the web. It can be coupled with a mailing list (the list can provide the TL;DR, and drive traffic to the blog), or it can stand alone. (All of these can be coupled, so I’ll stop saying that now…)
  • Social media. It’s harder to restrict replies with social media; some tools can, some can’t. I consider all of them evil in one way or another, so I would say that if social media is your primary means of communicating your message, then you do not have control over your message, because you absolutely do not have control over your medium.
  • Text. You can automate texts. You could treat them like really short posts, or perhaps use them to drive people to links, or remind them about meetings. This is a bit tricky, but it is imminently doable.
  • Phone calls. Yes, phone calls can be automated, too. You could, perhaps, offer a subscription service where a bot calls someone and reads the message you have. :shrug: I’m not sure what this does for you, but it is possible.
  • Podcasts. These are expensive, mostly in time. You do need a decent mic, and they get expensive because they take so much time. If you want a 20 minute message, you need to record, edit, and ship a 20 minute meesage. The same message that took (at least) 20m to record will also take 20m to listen to. But, in some cases, they might be a good broadcast medium.
  • Vlog. Yes, you can record things and post them to YouTube. It’s… a commitment.

For each of these, there are tools that can be used to help manage the process. I’m not going to go into any depth with any of them at this time. They are, however, the digital modalities I know of (off the top of my head) for broadcast media.

the problem with email for announcements

It’s one thing to announce things. However, day-to-day, we often have to announce something, and then we need to circle around and handle people’s responses. In practice, you wish things looked like this:

  1. You correctly include everyone in your message.
  2. You announce a meeting.
  3. Everyone shows up.

Unfortunately, the workflow for announcing things via email tends to look like this in reality:

  1. You try and remember to CC all the people who should know about the thing you’re announcing. (I’ll call this the thing.)
  2. You need to include a subject that is descriptive, because this is an email. So, you do something like [*the thing*] Next meeting agenda.
  3. You write the email. You try and put something nice at the top, and a link to the agenda, and a reminder about the zoom link. Perhaps you had a calendar link in there, too?
  4. You hit send.
  5. You forgot someone.
  6. You send it again, but send it to everyone.
  7. Someone asks (hitting “reply all”) if the meeting changed.
  8. You write that person to tell them “no, you just needed to add someone to the event.”
  9. You linked to the agenda, but forgot to set the sharing settings correctly. Three people hit “reply all” to say they can’t see the document.
  10. You let everyone know the link is fixed, and repeat the info from the first message.
  11. You made a copy-paste error on the zoom link the second time you sent it.
  12. At the time of the meeting, you’re getting emails because the zoom link is broken.
  13. You send a note with a correct zoom link to everyone 5 minutes into the meeting, but you’re missing two people either way, one because they got confused by the links, and another because the original message went into their spam folder.

Should I go on?

There are a few problems here. Actually, there’s only one problem, and that is email. If you think about this from an “information architecture” perspective, your comms look like this:

┌────────┐
│        │
│ agenda ├────────────────────┐
│        │                    │                 ┌────────────────────┐
└────────┘                    │                 │                    │
                              │           ┌─────► blackberry holdout │
                              │           │     │                    │
┌───────────┐                 │           │     └────────────────────┘
│           │                 │           │
│ zoom link ├──────┐      ┌───▼────┐      │     ┌────────────────────┐
│           │      │      │        │      │     │                    │
└───────────┘      └┬─────►  email ├──────┼─────► chromebook person  │
                    │     │        │      │     │                    │
                    │     └───▲────┘      │     └────────────────────┘
┌───────────────┐   │         │           │
│               │   │         │           │     ┌──────────────────────────────┐
│ date and time ├───┘         │           │     │                              │
│               │             │           └─────► not so good with email person│
└───────────────┘             │                 │                              │
                              │                 └──────────────────────────────┘
                              │
┌─────────┐                   │
│         │                   │
│ people  ├───────────────────┘
│         │
└─────────┘

Yep. That’s right. You’ve crammed all the different conceptual communications channels about the thing into one channel (email), and then you sent it to a whole bunch of people. They have no way of replying back to a given “channel,” because it has all been smooshed. So, if someone replys about the date and time, it can confuse the issue on who is involved… or what the zoom link is…

So, you need to split apart your information architecture. You need to decouple the question of who from what, and even then, you need different kinds of “whatness” for different kinds of activities. (If that makes sense, you’re doing great.)

using forums to clean up announcements

A discussion forum is a good example of a tool that you can use for cleaning up your communication channels. Why?

  1. separate channels. You can create separate “forums” or “channels” for different kinds of communications.
  2. invite only. You can invite people to take part, thus controlling who has access.
  3. limit read access. You can limit people’s access within the forum, so some people can see everything, but others might only see what they need to see.
  4. limit posting. You can give people permission to post in some places but not others.
  5. controlled subscriptions. People can subscribe to some or all of the forums.
  6. digests. People can get a digest of all of the activity in the forum (to which they have access) every day (or week, or…).

nodebb

What do these things do for us? One at a time.

separate channels

If you have a forum called “Meeting agendas,” and the only thing you post in that channel are meeting agendas, then everyone knows where to look for… wait for it… meeting agendas. Every time you have a meeting, you post a note in the agendas channel. Assuming everyone subscribes to that channel, they’ll get an email when you post (if they want it), and if you made a mistake… you just fix the post. If someone loses the email, they know they can go to the forum, look up the most recent agenda post, and have all of the correct information ready-to-go.

invite only

You can control who has access to your forum. You can be the sole source of control, or you can allow anyone to invite friends… but you can be the gatekeeper on approving those invites. The level of control is much greater than firing an email off into the void.

limit read access

If you have a “management team forum” for comms amongst your leadership team, you can create a group of users who have read/post access in that channel. For everyone else… they won’t even see that the forum exists.

limit posting

Some channels might be a “chat,” and everyone can post. Others might be for a subset of people to post to, but for everyone to read (e.g. for posting minutes from meetings observed in a community). Some channels might be for only one or two people to post to, but for everyone to read (e.g. agendas). Forums let you control who can read a channel as well as who can post. Some of this is also convention, and there may be some curation required (or “channel gardening”), but it’s not too hard.

controlled subscriptions

Some people like to have everything show up in their email all the time. Some people like a single note at the end of the day. Users can choose. Most forum software will allow you to interact with it via email. The nice thing is that it then manages this for you, so that users can chose to do this on a case-by-case basis.

digests

What I just said. A person who gets one update per day is receiving a digest of the day’s activity on the forum. I personally like to receieve digests, because they get “pushed” to me. I can then go to the forum to read things in more detail if I need to.

summary

We now have a different information architecture. Now, the agenda can be posted by a team lead to the agenda/meeting announcement channel, and everyone can read them. (But, not everyone can edit. They can’t “reply all,” etc. Only one person (or a specific group of people) can post agendas.) Meeting notes might come from a larger set of people, and they get posted into a team’s “meeting notes” area. Organization leads have a space where, if they want to post/discuss things, there is a single place for those comms… and those comms can only be read/replied to by other members of the leadership team.

                     forum


                       CAN POST                                 CAN READ
┌────────┐                               ┌────────────────┐
│        │                               │                │
│ agenda ├─────────────team lead─────────► agenda channel ├────►everyone
│        │                               │                │
└────────┘                               └────────────────┘

┌───────────────┐                        ┌───────────────┐
│               │                        │               │
│ meeting notes ├──────team member───────► public notes  ├─────►everyone
│               │                        │               │
└───────────────┘                        └───────────────┘

┌───────────────────┐                    ┌─────────────────┐
│                   │                    │                 │
│ leadership stuff  ├──team leads────────► planning, notes ├───►team leads
│                   │                    │                 │
└───────────────────┘                    └─────────────────┘

If you choose a tool that collapses your information architecture into a single communications channel, then you will always have communications hell. If you chose a tool that gives you multiple channels, you can use those channels to manage and compartmentalize your communications. Your comms needs may ultimately be different, or a forum may not work for some other reason. However, what is true is that if you can get your community used to interacting with a forum as opposed to a mailing list (or, worse, individually sent and maintained mailing groups), then you’re in for a win.

coauthoring documents

It can be easy to co-author documents, as long as you’re focused on the content, and not the formatting.

  1. If everyone has Google accounts, you can use GDocs. However, this may be mixing work and personal life in a way that is uncomfortable for some.
  2. If you’re just trying to generate text (but not format it/”make it pretty”), there’s some options.

One option is a tool called etherpad. I’ve linked to a demo version of etherpad; click on it. If you copy-paste the URL to that page, and share it with a group of people, everyone can write at the same time. It is just like GDocs in that regard. When you’re done, you’ll have to download the text, and paste it into Word or GDocs to “make it pretty,” but etherpad words great for:

nodebb

  1. Taking notes as a group. If you’re in a meeting, and multiple people are taking notes, then etherpad lets you quickly create and share a notes doc.
  2. Taking notes for an interview. If you’re trying to capture someone’s words as part of a testimony, or are working on an interview, you could create this doc, and both the interviewer(s) and interviewee can see what is being written.
  3. Generating copy. If you’re trying to write an article, then this is a great way to get all of the distractions of formatting out of the way. Words, sentences, and paragraphs. Everything else can come later.

This can be a bit painful, though: if you forget to download the text when you’re done… well, you’ll lose the text. Google Docs doesn’t have this problem. But, I’d rather not mix my Google account with every single (public, potentially political) project I engage in. As a result, having a place for people to collaboratively write without requiring accounts is great.

(The nice thing about etherpad is that every URL is unique, and short lived. Typically, after 24 hours of not being visited, a URL is “flushed.” As a result, it “disappears into the ether.” Very handy.)

making lists, tracking data, organizing stuffs

If you use Google Sheets (or Excel) to manage lists of things, then you’ll love Baserow

Baserow is… well, it’s like Airtable. What is Airtable? You’re just going to have to browse around the sites for these two tools a bit. They’re both… kinda like what would happen if Google Sheets grew up and got some really useful tools for organizing and categorizing information. It’s like… a database in your browser.

nodebb

asking for input

Use a Google Form. So often, I have asked for input, and then realized I now have 20 emails in my inbox. Better to post a link to a form, and ask people to fill it out. If you get your community used to really short forms, then they won’t view them as an imposition, and when you ask for input, you might get good response rates. (For small groups, like a leadership team, you really should be getting good response rates… your mileage may vary).

There are not many tools that are better/faster/easier to use at this point. When you’re done with the form, you can export the data you captured as a CSV (comma separated values) file, and take it anywhere. (CSV files are plain text, meaning you can easily then load them into Baserow, or Excel, or whatever.)

comms tracking

Contact relations management. Or, whatever you call it. Customer? I don’t know. “Keeping track of people.”

Some people do this with a spreadsheet. You can. If you do, consider Baserow (above).

If you want a tool dedicated to tracking when you spoke to people, and about what… use a CRM.

MonicaCRM is a tool intended for relatively small use-cases. However, for small organizations, it may be more than enough. (“Relatively small” may still mean “10K or more people.”). EspoCRM is another open tool in this space, but a bit more business-y.

nodebb

In both cases, they’re about tracking conversations, so that if you have multiple people involved in (say) making calls to a volunteer base, or … whatever you communicate with people about, these tools help a team keep track of who did what in terms of comms.

getting things done (kanban)

In the agile software methodology, we work in two-week sprints. At the start of every two-week sprint, you look at your work from the past week, and “groom the backlog.” This determines what still needs to be done, what should be broken into smaller tasks, and what should be put in the icebox for consideration at some (indeterminite) time later. Then, tasks are divvied up amongst team members. New tasks (as they’re discovered) are put in the inbox throughout the sprint, and then worked into the pipeline at the start of the next sprint.

This methodology can be adapted to single-week sprints, or longer processes. (However, going out to a “month” is silly… the point is to keep tasks small and sprints achievable in scope.) And, a kanban board is often desirable for this kind of work.

Trello is the most famous tool in this category. It is freely usable, and a good choice. Or, you can host your own, and use wekan. You can label things (perhaps with the category of work), you can assign tasks to people, you can set deadlines… it’s amazing.

wekan

Like a spreadsheet, there are many ways to use a kanban board. You can have one board per project, and instead of working in sprints, it is just a way to keep track of things in flight, things done, and who is doing them. Or… well, you’d have to play with one to see.

… and the kitchen sink

After you handle the “must-haves,” these are the “nice to haves.”

url click tracking

Do you want to know when someone clicked on a URL?

Tools like kutt let you paste in a URL, and then it gives you a “short form” of that URL. (“bit.ly” is a commercial service like this.) If you have a document you’re sharing publicly, and you’d like to know how many hits it gets… kutt is four friend.

wiki

Do you want to host your own version of Wikipedia? No? No one does, so this is unsurprising. But, for some use cases, wikis are still useful. They let many people maintain content, with full history. Potentially useful for internal documentation, but there are probably better tools.

dropbox?

Do you want to run your own version of Dropbox? Like, a private version, so that only you and your org has access to your files? That’s called Nextcloud.

At this point… if you are relying on a tool like Nextcloud, you need good backups… because you’re putting your business in the hands of a piece of software.

wrapping up

That’s a lot of information, presented quickly, and possibly not clearly. However, the point is that there are a lot of tools out there that can be used to organize the work of the organizer. Yes, some people you work with (in your org, amongst your volunteers) may say “but I’m not very good with computers.” This is true. Some people aren’t. But, if you only give them email, and expect them to get good at managing their email… they’re doomed, and so are you.

If you instead say “here’s a tool that does just one thing, and it does it pretty well,” then you can help them learn to use those tools. And, if you’re using common, open source tools… there’s a good chance that there are already explainer videos out there that you can point to on Youtube. Yes, your colleagues and community may have to learn some new things, but the side-effect is that everything should get a bit easier in the long run.