-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discuss short/long click mappings #97
Comments
Yes, that is correct. So, I will always write long-click, but that will mean both long click and long tap.
There are also other options:
That's correct.
That's correct.
Currently - yes, however long-click is not supported currently for justifications. But probably I will change this, please keep reading, I am explaining this below.
By default - yes. But this is configurable in the settings. I strongly prefer the opposite: click=selection. And I actually set it this way in my settings. But I made click=edit by default because there was an ask in the Google Metamath group to edit by click by default.
I agree, the mapping is inconsistent. I have a different solution in mind which also makes mappings consistent. Please check if you also find the below consistent. My idea of consistency is as follows. Manual typing requires increased mental efforts comparing to clicking. Long-clicking also requires a bit increased mental efforts than short-clicking (you have to wait for a moment and keep a finger or mouse not moving during this time). I think it will be consistent if long-clicking is associated with something which requires increase of mental efforts or which is rarely needed. And short clicking is associated with something simple and fast. Therefore, the mapping I am thinking of is as follows:
As you can see, short-clicking on either of the first three UI elements (Checkmark, Label, Step type) toggles justification/visualization. This should decrease probability of mis-touching. Also assigning long-clicking to "edit" actions resolves the inconsistency with editing the description. Assigning short-clicking to fragment selection resolves another inconsistency not discussed so far. Currently, in the proof explorer, short-click = fragment selection. Long-click is not supported in the proof explorer, because it involves some technical issues. I implemented long-clicking by storing a small state object for each symbol and each space between symbols. I am not expecting this to be a problem in the editor because I am not expecting it will be used to create very long proofs. But in the proof explorer there are a lot of proof steps, especially if inessential steps are shown. Storing a small state object for each symbol and space between them would be too much overhead. I am not ready to implement a more efficient solution at the moment. So, assigning short-click for fragment selection in the editor will make it consistent with the proof explorer. Showing a compressed proof is a very rare action, so I don't see any problem with assigning this action to a long-click. Moreover, there is an issue "Make it more obvious how to get a completed proof" (#11), so most probably I will implement a separate menu item for that in the "hamburger" menu.
Thanks for pointing this out now, this is really an important item to think on! |
@david-a-wheeler please check my comment above. What are your thoughts on the mapping I described? |
Hmm!! Not the direction I was thinking of going, but you're right, the approach you outlined above would resolve the UI inconsistencies. It'd also quietly fix the inconsistencies in some other areas, such as the explorer, proof tabs (I did notice that), and how you edit the description field. The new rule is simple: "it's always long click to edit; both alt+click and long-tap is considered a long click. A short click selects or reveals information." So yes, these proposed mappings as the defaults make sense to me! The concerns I had with that earlier seem to have been addressed by (1) adding support for long-click as an alternative to alt+click, and (2) keeping the ability to change the default meaning of click & long-click when operating on a statement within the editor. I do think it's important to be able to swap that specific UI item, since editing statements is something some people will do a lot of. If the default is consistent, but it can be changed, that sounds great. BTW: I don't know if you've considered #42 - add a "paste" button on the fragment selector, that if used during editing, copies the clipboard onto the selected items. If that might be added some day, then using short-click to select a statement fragment makes even more sense, because it provides an easy way to edit a statement without necessarily "opening it up for arbitrary edits".
I like that! Okay, this wasn't what I originally had in mind, but you've convinced me. Thanks for taking the time to discuss this! |
Great! I will include it into v11.
Yes, support for long-click makes UI easier to use.
I agree. Users also may develop their own Metamath databases where fragment selection may not work well. In such scenarios, editing statements will be the only available option.
Yes, I noticed that proposition and I like it. But I decided to move it out from v11 scope. Most probably it will be in v12. |
Great!
Agreed. Paste would be cool, but there's no reason to delay v11 for that. I would like the v11 to be a relatively stable UI, so v11 should be the one that (re)assigns click and long click. That will increase the likelihood of a video being "not too wrong" in the future. I would also prefer that it allow for future growth. In particular, I'm hoping that someday you'd be able to short-click within a justification: click on a hyp to jump to the step, or click on the ref to open a tab on the named reference. There's no need to implement that now, just don't make that harder in the future. |
…apping-consistent #97 make short long click mapping consistent
This is implemented on dev as discussed:
|
This is a place to discuss the solution for short/long click mappings, which was initiated here #83 (comment)
The text was updated successfully, but these errors were encountered: