Giter Club home page Giter Club logo

Comments (4)

seancolsen avatar seancolsen commented on September 8, 2024

Yes! Thanks @tttp . I have some thoughts in response, and some further questions:

  • Functionality is already in place to drag to rotate the "keyboard" (the outer area with black/white keys) and the "scale" (the inner polygon). To begin dragging, you need to find a place where the cursor shows an open hand. On the keyboard, you can drag from any of the inactive keys (because clicking on the active keys plays them). This behavior does make it impossible to drag the keyboard with a chromatic scale where there are no inactive notes, but oh well. Similarly, on the scale polygon you can drag from anywhere that's not a chord emblem. This dragging should also work on touch devices, although I would expect that multi-touch probably would not work.
  • I have been working on adding animation to the rotation, but it has actually been quite a challenge. Issues #54 and #17 describe the goals here, which include rotating the keyboard and the scale when the user clicks on those "transpose" and "mode shift" buttons.
  • I have also been planning to add a "30 second tour" button to the app that I hope would allow users to better discover the features, like drag to rotate. I've now put those specs into #55.

Questions:

  • As you were exploring the tool, were you able do discover the "drag to rotate" feature? If not, do you think you might have discovered it, had those elements rotated into place (with animation) after clicking the "mode" buttons?

from octave-compass.

tttp avatar tttp commented on September 8, 2024

Hi,
No, I did completely miss the option to rotate. Really nice!

Two suggestions for discoverability:

  • maybe using a different cursor would help? eg. all-scroll or move?
  • and/or animate both the keyboard and compass when you load the page?
    and to sort out the keyboard: keeping the background for spinning, and only play the note when you click on the letter "box"?

from octave-compass.

seancolsen avatar seancolsen commented on September 8, 2024

different cursor

  • Yeah I guess you're right that grab is probably too similar to pointer and most users will miss that visual cue. I'm not sure about all-scroll though because the app doesn't respond to scroll events and I don't want to give users the impression that it does. What about move? https://developer.mozilla.org/en-US/docs/Web/CSS/cursor

animate both the keyboard and compass when you load the page

  • Yes, excellent. I just added #57 to track this feature

only play the note when you click on the letter "box"

  • That's actually how I originally built it, but after playing around with it, I decided it was too easy to miss the note button with your finger, especially on small screens. I wanted to prioritize that functionality β€” keeping that app as much like an "instrument" as possible, and making it easy for the user to "play" it. So I chose to sacrifice a little bit of "transposition" UX for some gain in "note playing" UX.

from octave-compass.

seancolsen avatar seancolsen commented on September 8, 2024

I just finished a bunch of improvements to this app, which I hope will address this issue. If not, please feel free to comment here with a specific suggestion πŸ™‚

from octave-compass.

Related Issues (20)

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.