Giter Club home page Giter Club logo

oddchatter's Issues

Investigate other form factors

Might be cool to have the chat window pop out, or as a pop-up over a youtube tab, or something. Chrome extension? Who knows.

Add a CHEERS callback

🥂 =a toast

We'll need to decide what sound/video to play. more applause perhaps?

Don't scroll to bottom of the chat list whenever a new message arrives

During MISTAKES WERE MADE, the chat window was described as "janky on scroll-up". Other feedback observed that the messages were hard to keep up with, since it jumped to the bottom whenever a new one came in, so you couldn't scroll up to read old messages.

We should fix that. Probably we should still scroll to the bottom when the user sends a new message themselves. Or maybe an explicit button to jump to the bottom when a user has scrolled up.

Auto-thresholds

Keep track of current chat population, and make the callback thresholds auto-setting as a fraction of population.

During MISTAKES WERE MADE, '4' seemed to work pretty well for ~100 people.

Create an admin UI

It would be nice to have a separate page for admin tasks, eg:

  • Chat transcript
  • on/off switch (we have this via firebase console, but would be nice to expose it to Annetta/Tre/etc)
  • blocked users (ditto)
  • thresholds? (ditto - though auto-setting thresholds might make this unnecessary, #23 )

Support a wildcard/custom Salon-specific callback

Occasionally we have a curator introduce a new callback just for this salon. Potentially we could reserve one callback button for the "wildcard", which (with a curator's forewarning!) could be configured to a once-off callback for individual salons? This would need:

  • a wildcard callback button, with text and video/audio set at runtime
  • configuration in the admin module to specify callback text and video/audio
  • a heads-up from the curator, with a video/audio file to use for the callback

Chat history issue on late join

If you log into a salon in progress, the chat starts at the top of the event and doesn't offer you the "jump to latest" button. You have to go scroll to the bottom to find it.

Make message insertion more efficient

instead of storing the timestamp in the DOM, and doing insertion sort by DOM traversal, let's use the JS Message object (or a map thereof) to keep the messages in order.

Actually play the callback sounds that match the videos

When we had the long interactive onboarding script, we were limited to playing only the callback sounds that the onboarding script triggered - so we gave each callback a single audio element, and played that no matter which video was picked.

Now that we are initializing all the callback sounds simultaneously on the "accept code of conduct" click, we can initialize an arbitrary number of sounds, so there's nothing stopping us playing the sound that matches the randomly selected video. We should do that.

Show more than 16 messages in chat

Chat gets pretty lively. We should work out how to show all messages since the start of the salon, in a performant way. (Maybe this needs pagination or something.)

Don't type out each user's callback individually

It's wasteful of scroll space to display each "SHIPS!!" in a separate message. Perhaps we could display a progress bar instead? That would also give the visual hint that more people need to say the same thing until we get to the actual video? And we could make the video replace the progress bar.

Investigate shorter onboarding

Can we satisfy the iOS Safari constraint by playing all the sounds at once, with volume zero temporarily? If so, we should replace the onboarding prompts with a single "reminder, the odd salon code of conduct applies" "". Then we can have a short "this is not a quiet event - try the buttons below to call back something relevant to our speakers" intro that doesn't get in peoples' way.

Feedback from MISTAKES WERE MADE

ONBOARDING

  • (Perhaps the boo and cheer should be reversed, to end the onboarding on an upper not a downer) (unnecessary with coc)
  • Include mention of odd salon coc: https://www.oddsalon.com/about/code-of-conduct/ (done)
  • Identify tutorial as a tutorial, make it clearer you need to actually press the buttons (unnecessary)
  • Can we play all the sounds at once, from a single button click, at volume 0? Does that satisfy the iOS requirements? Then we just have users accept the COC instead of go through the whole tutorial. #9
  • If the COC single-button works, no need to play all audio individually. Make the tutorial much shorter. (Especially if I add more buttons, eg STEEN) (done)

NEW BUTTONS

  • 🎙️ = STEEEEEEEN #5
  • 🥂 =a toast (more applause?) #6

IN THE CHAT

  • Show all messages since a certain date <- will need pagination. (“Start of event” timestamp in config, don’t show messages older than) #8
  • Don't scroll to bottom whenever a new message arrives (only when you type one) #7
  • Janky on scroll-up? (Ah this is the scroll to bottom thing.)
  • (Linkify some whitelist of URLs, eg. facebook events, oddsalon.com, for easy promotion?) #21

ELSEWHERE

  • Chat transcript of each event (in a separate admin UI perhaps?) #2
  • The splash screen needs to say “come back at 5pm” or something. And link to a ticket link or FB event page or something #22
  • Dev option in config, to enable it locally but not overall #4
  • (Notifications when it’s in the background? Or new message sound? This is low priority) #24
  • (Keep track of population, make the thresholds auto-setting. Though '4' seemed to work pretty well for ca 100 people) #23
  • Long-term: is it possible make chat window appear like a pop up over the youtube page, like when chatting to a support person online #25

New message sound, when in background

This would have to be only when the app is in the background, and perhaps only once, or it'll get super annoying.
Might need to be configurable? We could offer a browser notification as an option too?
This needs more thought.

Auto-linkify some URLs in chat

It might be nice, for promo purposes, to have some URLs be rendered as a hyperlink when they appear within a message.

Eg, anything that begins with www.oddsalon.com, patreon.com/oddsalon, upcoming facebook events, eventbrite?

auth is finicky in safari

"noticed the auth here was finicky just now in safari. I'm in no problems now (obv) with Chrome." reported by Douglas Worley

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.