jbenet / jbenet/random-ideas

JRFC 25 - Time Optimized Meetings

Open
#25 2 comments 2 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
328
Forks
12
PR merge metrics
No merged PRs in 30d

Description

## JRFC 25 - Time Optimized Meetings

Time matters. Mine and yours. Often, more time is wasted scheduling or travelling to meetings than actually meeting. This is absurd. I rather spend time speaking with you than transiting or calendaring. This is worst when physical presense **is not substantive**. I propose the Time Optimized Meeting protocol. Please schedule meetings with me this way. Contributions welcome. Love, Juan.
### TOM Values
#### Core Principles
- Optimize for most focused time **and** least overhead cost.
#### Suggestions
- **Is a _meeting_ necessary?** (e.g. can we discuss over {email, github})?
- **Share clear purpose beforehand.** (e.g. "let's discuss issue #25", "let's hang out")
- **Respect people's time, preferences, idiosyncrasies.**
- **Context switch beforehand.** (spend 1-5min thinking about upcoming conversation)
- **Schedule [optimistically](http://en.wikipedia.org/wiki/Optimistic_concurrency_control).** (save time by offering a range of suggestions up front)
- **Explicit acknowledgement.** (Silence or "Confirmed" is confusing. Be explicit.)
- **Be decisive.** (once constraints are known, save time by being decisive.)
- **Be flexible and understanding** of others constraints and lives.
#### Video Calls

I find that ~20min video calls ([+Hangouts](http://www.google.com/hangouts/) or [Skype](http://www.skype.com/)) hit the sweet spot of hyper focused and lowest overhead.

_Please bear with me if I suggest that we +hangout. I would much prefer to meet in person, but I can be more valuable to you if I meet more often and waste less time._
### TOM Scheduling

Scheduling sucks. Optimize it away. The protocol below can help. It doesn't have to be so dry. The exchange below conforms just fine and gives me tears of joy.

Message 1 from [REDACTED]

> Hey Juan,
>
> I saw your [IPFS](https://github.com/jbenet/ipfs) project on Github. It's very interesting. It would be useful to discuss how it might relate to [REDACTED]. We would like to use it internally for managing VM image distribution in our clusters, but need to have clear performance and stability expectations.
>
> Would you have time for a 20min video call with us? If so, it would be ideal to talk next week. Most times within 7/10-7/13 between 1pm-4pm (EST) work for us. How about any of 7/10-7/13 at 2pm EST?
>
> Cheers,
> [REDACTED]

Message 2 from @jbenet

> Hello [REDACTED],
> Great! Would love to! Let's do 7/13 at 2pm EST. juan@benet.ai.
> Juan

Message 3 from [REDACTED]

> Great, thanks. 7/13, 2pm EST confirmed.

Message 4 from [REDACTED]

> [REDACTED] sent calendar invite with clear details

Boom. 4 messages. Hyper clear and done.
#### Tom Scheduling Protocol

Below, `starter` is meeting initiator. `participants` are all parties. To avoid confusion, `starter` is responsible for attaining [consensus](https://en.wikipedia.org/wiki/Consensus_%28computer_science%29) in a fault tolerant way. Above all, respect time preferences.
1. `starter` sends message to all `participants` including:
1. **Purpose.** Clearly state reason for meeting. Include necessary information, links, etc. Ballpark: 1 paragraph + links.
2. **Duration options.** clearly state restrictions (i.e. "at least 30 min", "at most 50min")
3. **Venue options.** clearly state restrictions (i.e. "must be a call due to travel", or "must be in person due to ..."). Optimize for least time cost (i.e. "Venue: +Hangout or in person in SF or MV")
4. **Date options.** clearly state restrictions (i.e. "must happen before Aug 8.", "")
5. **Make three optimistic suggestions.** Pick three reasonable choices given restrictions and suggest them up front.
2. All `participants` respond **once**:
1. **Acknowledgement.** whether or not they agree to meet.
2. **Sorted selection of optimisitc suggestions.** AND/OR:
3. **Additional restrictions with counter proposals.**
3. `sender` waits for _all_ or _most_ (2/3) or simply _key_ `participants`' responses.
1. If consensus has been reached (any option that works), name it. **Be decisive.**
2. Otherwise, repeat with **summarized set of constraints + new options**.
3. `sender` **sends confirmation** to `participants`, including all relevant information.
4. `sender` **sends a Calendar Invite** to `participants` with all details.
5. If meeting is more than ~5 days away, `sender` **sends reminder ~3 days prior**. (no "still on?", just a reminder)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.