Internet DRAFT - draft-sheffer-hum-app-req
draft-sheffer-hum-app-req
Network Working Group Y. Sheffer
Internet-Draft Intuit
Intended status: Informational 7 April 2020
Expires: 9 October 2020
Virtual Hum Application: Requirements
draft-sheffer-hum-app-req-00
Abstract
The IETF has been having virtual meetings for a long time. Until
recently these have been interim meetings, and following the all-
virtual IETF-107 we expect to see more and more WG meetings take the
virtual route. A common practice at the IETF is to use room
"humming" to gauge working group consensus, though the final
consensus is determined by the working group chairs and typically
requires a mailing list poll as well. We do not have a technique
equivalent to the hum for virtual meetings, and arguably this reduces
the effectiveness of these meetings.
This document defines the requirements from a web application whose
goal is to most faithfully replicate the "feel" of hums, through the
use of a traditional web user interface.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 9 October 2020.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
Sheffer Expires 9 October 2020 [Page 1]
Internet-Draft Hum Application Requirements April 2020
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text
as described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Conventions used in this document . . . . . . . . . . . . 3
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. General Requirements . . . . . . . . . . . . . . . . . . . . 4
4. Hum Rooms . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. Hum Questions . . . . . . . . . . . . . . . . . . . . . . . . 5
6. Gauging Consensus . . . . . . . . . . . . . . . . . . . . . . 6
7. Graphics/UI . . . . . . . . . . . . . . . . . . . . . . . . . 6
8. Transport Security . . . . . . . . . . . . . . . . . . . . . 6
9. Security, Access Control, Fraud . . . . . . . . . . . . . . . 7
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
11. Security Considerations . . . . . . . . . . . . . . . . . . . 7
12. Privacy Considerations . . . . . . . . . . . . . . . . . . . 7
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
14.1. Normative References . . . . . . . . . . . . . . . . . . 7
14.2. Informative References . . . . . . . . . . . . . . . . . 7
Appendix A. Document History . . . . . . . . . . . . . . . . . . 8
A.1. draft-sheffer-hum-app-req-00 . . . . . . . . . . . . . . 8
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
The IETF has been having virtual meetings for a long time. Until
recently these have been interim meetings, and following the all-
virtual IETF-107 we expect to see more and more WG meetings take the
virtual route. A common practice at the IETF is to use room
"humming" to gauge working group consensus, though the final
consensus is determined by the working group chairs and typically
requires a mailing list poll as well. We do not have a technique
equivalent to the hum for virtual meetings, and arguably, this
reduces the effectiveness of these meetings.
This document defines the requirements from a web application whose
goal is to most faithfully replicate the "feel" of hums, through the
use of a traditional web user interface.
Sheffer Expires 9 October 2020 [Page 2]
Internet-Draft Hum Application Requirements April 2020
The document's scope is strictly on the web application, and not on
the process implications of humming or of replacing it by a different
(though hopefully similar) human protocol. Please refer to [RFC7282]
for the authoritative discussion of what IETF consensus means, how it
can be reached, and the role - as well as the limitations - of
humming in achieving consensus.
1.1. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. Background
Note: the intended audience for this section is application
developers who are not familiar with the IETF process.
IETF, the Internet Engineering Task Force, is an important standards
body for the Internet. Its main product is RFC documents that define
protocols. For example, the IP protocol is defined by RFC 791, the
HTTP protocol is defined by a series of RFCs, TLS 1.3 is defined by
RFC 8446. The IETF has a very long history and very detailed
processes associated with its operation. It has been holding 3
annual face-to-face meetings for a very long time, and is only now
moving more fully into virtual meetings. In fact the first fully
virtual IETF meeting is the upcoming IETF 107, taking place next week
(at the time of writing). The IETF consists of dozens of working
groups, and they come to decisions using a process called "rough
consensus" which means that most participants are in favor of a
certain decision and there is no large faction against or an even
smaller faction but with strongly held opinions. Quoting "the Tao or
the IETF":
4.2 Getting Things Done in a Working Group
One fact that confuses many newcomers is that the face-to-face WG
meetings are much less important in the IETF than they are in most
other organizations. Any decision made at a face-to-face meeting
must also gain consensus on the WG mailing list.
There are numerous examples of important decisions made in WG
meetings that are later overturned on the mailing list, often because
someone who couldn't attend the meeting pointed out a serious flaw in
the logic used to come to the decision. Finally, WG meetings aren't
Sheffer Expires 9 October 2020 [Page 3]
Internet-Draft Hum Application Requirements April 2020
"drafting sessions", as they are in some other standards bodies: in
the IETF, drafting is done elsewhere.
Another aspect of Working Groups that confounds many people is the
fact that there is no formal voting. The general rule on disputed
topics is that the Working Group has to come to "rough consensus",
meaning that a very large majority of those who care must agree. The
exact method of determining rough consensus varies from Working Group
to Working Group. Sometimes consensus is determined by "humming" -
if you agree with a proposal, you hum when prompted by the chair.
Most "hum" questions come in two parts: you hum to the first part if
you agree with the proposal, or you hum to the second part if you
disagree with the proposal. Newcomers find it quite peculiar, but it
works. It is up to the chair to decide when the Working Group has
reached rough consensus.
The lack of formal voting has caused some very long delays for some
proposals, but most IETF participants who have witnessed rough
consensus after acrimonious debates feel that the delays often result
in better protocols. (And, if you think about it, how could you have
"voting" in a group that invites all interested individuals to
participate, and when it's impossible to count the participants?)
Rough consensus has been defined in many ways; a simple version is
that it means that strongly held objections must be debated until
most people are satisfied that these objections are wrong.
See also this article [Coldewey] for another view on the humming
practice.
With the move to virtual meetings, real audio-based humming is no
longer an option. We would like to develop a replacement that
preserves as much as possible of the spirit behind this practice but
is workable for widely distributed virtual working group meetings.
3. General Requirements
This is a relatively simple web application. It needs to be usable
by people who are seeing it for the first time (meeting participants)
or people who have had very minimal practice and need to operate it
under pressure (working group chairs).
* Administration requires a desktop browser.
* Nice to have: participation from a mobile browser.
* Nice to have: OpenID authentication for admins.
Sheffer Expires 9 October 2020 [Page 4]
Internet-Draft Hum Application Requirements April 2020
4. Hum Rooms
Anybody can open a "hum room". The room is available for a period of
time (default: 6 hours) and then it is archived. The room consists
of:
* A name, defined by the room admin.
* A secret, random management URL, which may be shared with 2-3
additional admins, and visible to the IETF Secretariat.
* A secret, random participation URL, which will be shared with all
participants (should allow up to 500). After the room is
archived, the archive view will be returned, as the URL will wind
up in minutes.
* Configuration: the expected number of participants. Entered by
admins, visible to all participants. (Note: this value may not be
needed, this depends on the exact rules we define for gauging
consensus).
* A list of questions, see below. Some analytics, including the
total number of participants seen, the total number of hums taken,
number of unique IPs etc. Analytics are open to all participants.
* Expiry time of the room.
* A "get summary" button that enables downloading (e.g. as JSON) a
summary of all analytics, questions and results, so they can be
used in the meeting minutes. This button is available to
everybody.
* A way to close the room even before it has expired. Available
only to admins.
5. Hum Questions
Questions are typically entered on-the-fly by the admin, during the
meeting. So the interface must be very minimal/simple.
* Introductory text (up to 2-3 lines of text).
* Between 2-4 options, with text and a button for each. "I don't
understand the question" shall be suggested as one of the options,
however it should be possible to delete it.
* A link or popup with the detailed rules for consensus for this
question, visible to all participants.
For example:
Sheffer Expires 9 October 2020 [Page 5]
Internet-Draft Hum Application Requirements April 2020
Should we require encryption of all HTTP traffic, as a MUST?
Yes [button]
No [button]
Don't have enough information [button] (This is not the same as
"I don't understand the question")
* Questions are visible to all participants as soon as they are
entered (even keystroke by keystroke), similarly to Etherpad/hack-
MD.
* Buttons become available only when the admin enables the question.
* Buttons are available for a short duration, e.g. 3 minutes
* Buttons are treated as toggles, i.e. a second press disables the
selection.
* People are allowed to press more than one button (this is weird
but it replicates the hum experience).
* All participants see an indicator (e.g. progress bar) of how much
time remains.
6. Gauging Consensus
When the time expires for a question, each option is evaluated
separately:
* Zero responses: silence.
* Less than 20% of the total number of people who responded: weak
hum.
* 20-70%: medium hum.
* 70-100%: strong hum.
Only the summary (e.g. "medium hum") is displayed/retained, not the
exact numbers. In addition, we display the total number of
responses.
Admins (working group chairs) are expected to announce the results to
the protocol, and decide whether consensus has been reached, before
moving on to the next question.
7. Graphics/UI
Please include the IETF logo, https://www.ietf.org/logo/.
8. Transport Security
* HTTPS, and redirection from HTTP to HTTPS.
Sheffer Expires 9 October 2020 [Page 6]
Internet-Draft Hum Application Requirements April 2020
* Please use Let's Encrypt for certificates. You should probably
use the Certbot client.
* The server should have scheduled code that fetches a new
certificate automatically 2 weeks before the cert expires.
* To authorize the server to Let's Encrypt, use the HTTP-01
challenge.
9. Security, Access Control, Fraud
Basically none. Counting unique IPs allows for detection of simple-
minded fraud.
10. IANA Considerations
This is a process document, with no IANA implications.
11. Security Considerations
The process described here may have operational security
considerations related to the IETF process, but none that apply
directly to any IETF deliverables.
12. Privacy Considerations
IETF processes are not expected to ensure anonymity of participants.
The process described here does not make any changes to the existing
privacy guarantees.
13. Acknowledgements
I would like to thank Michael Richardson for his extensive comments
to a previous version of this document.
14. References
14.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
14.2. Informative References
Sheffer Expires 9 October 2020 [Page 7]
Internet-Draft Hum Application Requirements April 2020
[Coldewey] Coldewey, D., "The messy, musical process behind the web's
new security standard", June 2018,
<https://techcrunch.com/2018/06/11/the-messy-musical-
process-behind-the-webs-new-security-standard/>.
[RFC7282] Resnick, P., "On Consensus and Humming in the IETF",
RFC 7282, DOI 10.17487/RFC7282, June 2014,
<https://www.rfc-editor.org/info/rfc7282>.
Appendix A. Document History
[[Note to RFC Editor: please remove before publication.]]
A.1. draft-sheffer-hum-app-req-00
Initial version.
Author's Address
Yaron Sheffer
Intuit
Email: yaronf.ietf@gmail.com
Sheffer Expires 9 October 2020 [Page 8]