Skip to main content

Feature Requests

Published onSep 05, 2020
Feature Requests

Github code: (issues)
Handbook for Threads: (doc)

Feature requests

2020: This started from a Thread of requests.
2022: Updated list of FRs and bug reports on the new Dev Threads instance.

  1. Start with UI/UX, then write code from scratch.

    1. Technology is secondary. If there is need, it is possible to rewrite the code.

    2. Ease of use: in familiar tools, e.g. an extension/plugin for Zoom meetings
      (in both closed and open-source tools: as nymity powerup)

  1. Threads - basic experience

    1. Allow sub-threads, one deep. Essential to scale beyond 50 comments

    2. Speed. “threads website seems a bit slow - can berkman fix that?”

    3. Beauty: auto-color like Etherpad (distinguish participants in a thread)

  2. Format, editing, markdown

    1. Support markdown for formatting (some sort!)

    2. Allow linebreaks within comments.

    3. Use some standard text-format widget for chat entry (basic wysiwyg)

  3. Docs + code

    1. Publish the link to source (and how to submit an issue) on the public site

    2. A guide next to text-area should include a markdown/emoji guide

    3. Note available support for maintenance and future pull reqs / tasks

  4. Nymity

    1. Make clear when you’re preserving your input name / what it is

    2. Offer a way to generate a new name

    3. Show what past names on your session have been

    4. Clarify safety and privacy from data mining interests of third parties

    5. Persist nyms w/in a thread. There’s a HarvardX implementation of Threads, which did this. [where is the code for this?]

  5. Notifications

    1. Email, desktop, other? Cluster/limit to one every few minutes

    2. Needed for asynchronous work. Nothing calls me back to see new posts.

    3. Notifs are not anti-pseudonym.
      (a) these can be done in the browser
      (b) even if email notifs are chosen, can take precautions to explain to everyone they should use an address they are comfortable sharing, point to anon mail clients
      (c) make notifs about threads, not individual posts

    4. Without notifications I quickly fall out of the conversation.

    5. This can work in a live class w/o notifications; hard beyond that!
      If I was getting notifications I'd be happy to engage more frequently

  6. Moderation and administration

    1. Create an admin role community members can fill.
      Let a group w/ a named set of rooms appoint admins to mod them

    2. Offer mod options (hiding / deleting comments, blocking sessions)

    3. Offer openness options (by invite, open to anyone, require email conf?)

    4. Etiquette should be explained by facilitators, and monitored by mods
      (already have inappropriate chats in zoom classrooms)

  7. Group / room options

    1. Add “temporary / persistent" to have things autohide in a day/week

    2. Clean up rooms: one named directory per group, one room per thread

  8. Other issues

    1. Strict security is not critical. Students have not expressed fear of speaking freely without firm assurances that identity could never be revealed; just want to speak freely in the short term around classmates.
      On a spectrum of temporary but not permanent shielding.

    2. Students are not particularly worried Harvard might breach the confidentiality of Threads at some later date.

    3. Better for students and faculty to use fewer tools when they can, many faculty won't use it unless it fulfills other chat/discussion needs.

New requests, 2021

  • Simplify nym removal: currently 6 clicks from the home page. From nym-management view, let people tag a few for removal and generate new ones

  • Option: don't save any of that until the user leaves the nym-management screen, so you can abandon changes if you deleted something you want.

  • Default to keeping some most recent nyms for logged-out sessions, at least keeping the last one you actually edited with. That way if you generate a new one but didn't mean to // want to return to it, you can.

  • Change footer font - the b in Github is odd

  • rate-limit attempts to login? easy channel for abuse

  • Keep track of past nyms even if you no longer have access to them, so you can find your contributions?

  • (if you've edited w/ more than 5 nyms under one login)

  •  Are there any non-featured channels? If so, have a section heading for them. If not, "Featured Channels" on the landing page is confusing.

  •  Make the version # of the header do something on click. Right now on mouseover of icon or version the text gets darker, but only the icon is clickable. (ideas: go to the same place, or go to the repo or manual?)

  •  Compact mode -- make the left-hand column (list of threads) narrower, show only 1 line at most for each comment (hover or press to see the full comment)

  • Limit nym spam and abuse: in the database, associate each nym with its browser-session (so it's possible to later find and remove all from one session). Limit each session to commenting from 5 different nyms (log in for more, but then you need to explicitly choose + delete old ones first)

  • Nav links needed (in the header): "About Threads" "All channels"

  • For expanded-view threads: have the "up/down" icons and numbers float to the top of the div, rather than vertically centered in the middle

  • Allow a channel's public/private status to be changed after creation, until a first post has been posted. [after that you may not want to let it change to avoid confusion]

  • Mobile: add view that focuses on either thread-view or content-view. the other can be a thin bar on the R/L that can be swiped back into focus, or while reading a thread there could be a Reddit-style topnav that lets you jump back to thread view.

  • Style: support basic *bold* and _italic_ markdown in content

  • Sorting: have tiny toggle for Sort by: date / popularity / controversy (📅 | 🌟 | 🔥) -- for both threads [aggregate] and content w/in a thread

    (oh, I see the 'eye'con switches to single-panel mode to expand content, that's nice - maybe enough for the 'mobile' suggestion above)

  • Readability: add different grayscale backgrounds to every 2nd or 3rd entry to make it easier to scan a long list. something like this:


  • Privacy issue: google font ["]

  • Codebase deprecation: Ruby 2.4 no longer officially supported

New requests, 2021

  • Odd spellings in some names: archeic -> aic, epiphanic -> ous, crios -> Krios, remove Scilla,

  • Depressing names: tartarus, wrasse, hypnos, obliviax

  • Allow cycling through new nyms while logged in. Don't auto-save each one to your account, so you can find ones you like.

  • Don't use a trash icon next to your name at all times. confusing; and you can't remove the current name

  • If you are logged out and generate a nice nym, let you keep it by logging in. currently you are SOL if you already have a login

  • don't burn pseudos when just cycling through them, leave them for others

  • Wrap long words: in channel, thread titles if not in messages. (see examples in current test where this breaks things)

  • Editing: Allow changing of a thread or channel title (see also edit ideas under Feature Requests thread)

  • replace 'threads github' image in footer w/ text :)

  • when logged in, making a new name, and not saving it automatically: leave it as the current nym [visible up top] and only save once you write something with it.

  • When deleting a nym, make clear what happens to the comments associated with it.

  • Provide a way in the interface to get back to the list of channels, from within a channel. (clicking on the site logo is unintuitive and not really fitting)

  • Change "pseudonym" to "nym" in the interface: shorter and clear, allows it to appear in more places in menus

  • Long titles for channels and threads still wrapping (example on dev)

  • Add an admin role that can delete other people's posts. For both removing abuse or spam and for cleaning up technical issues.

  • When updating your own vote on a message: clicking anywhere on the ^⋁ region should remove the original vote (clicking again on ^ should remove it; clicking on ⋁ should also remove it). Currently, if you click on the opposite direction, nothing happens.

  • The option "Create a new pseudonym for one session (log out)" is confusing. I'd find it clearer if the two options were "log out" and "create a new nym on your account". I don't expect nym generation and logging out to happen in a single step

  • Separate report for a recurring problem (half of a previous bug above) -- if you make a nym you don't want, and click on the trash icon to remove it, that new nym is the ONLY one you cannot remove in the resulting UX. Fix this (leave it as an option, dropping you back to the previous nym)

Alternative options

Why build yet another tool?

  1. Build a Nymity/Chatham plugin for an open source, privacy-preserving platform / chat app that offers basics (input, styling, notifs).

  2. We are not just building a new tool: We are building a new classroom, everyone equal, free, in pseudonymity.

Thoughts on support and vision

  1. Commitment to support is important. This will be based on a broader-based desire to use the tool. People can get the importance of nymity but not want it enough if the tool doesn't have other features they expect.

  2. Goal: distill a conversation down to the core of the arguments. Let users take a position they may or may not agree with and debate the merits.

    1. start with Threads for the Threads specific use case and then investment in that code then becomes a major leg up on more general purpose chat tools.

  3. Students often took to Threads to present ideas/ask questions that may have otherwise gone unacknowledged without nymity. Thus, it is easy to see one way in which semi-anonymous spaces can enhance the overall educational experience – by increasing the likelihood that a diverse array of thoughts and opinions will be introduced to the classroom.

  4. In hindsight, I believe I would have certainly benefited from the availability of a tool like Threads in many of my first-year courses. Thinking back to my criminal law course where I was one of four Black students, I would have undoubtedly been more willing to introduce new perspectives to certain discussions if doing so did not increase the likelihood that I would be tasked with the burden of speaking for my entire race. Consistently, as class discussions delved into heavily racialized topics like police brutality and mass incarceration, I was repeatedly disappointed by the ways in which such issues were approached with a complete disregard for the socio-political context within which these issues manifested. Time and time again, it was left to students of color to point out structural racism within the law, and before long, it became utterly exhausting to engage in said conversations.

  5. Many of us also dealt with the reality that our peers would label us, because of our contributions, as combative, overly emotional, etc. A pseudonymous platform would have afforded the opportunity to maintain some level of control over self-presentation within the classroom, while remaining authentic to my experience as a Black woman in the US. Without needing to publicly “out” myself each time, I could have added my views to these discussions and in so doing, offered a perspective that was often absent.

  6. Fear of anonymity on the net holds people back. Threads is ours, open code. It lets us to reify concepts of liberty, privacy, free thought, free expression, self governance, and sovereignty in a classroom. It offers agency, intimacy, and an environment to develop.

Past designs and tasks

see past github issues (~10)

see past chat environs (AC et al)

No comments here
Why not start the discussion?