Skip to content
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

Enable free-form input of math expressions #620

Open
grochocki opened this issue Aug 6, 2019 · 5 comments
Open

Enable free-form input of math expressions #620

grochocki opened this issue Aug 6, 2019 · 5 comments

Comments

@grochocki
Copy link
Contributor

Problem Statement
Today, when you input an expression, you are committing previous input with each operator, which means that you cannot easily edit or undo what you have already committed. We also have a key mapping such that keyboard keys are mapped to specific button inputs. This means that to enter "cos()", you actually press o. This is unintuitive and makes entering equations difficult.

We also currently only support linear input, which means we display this:

x ^ 2 + √(2x)

instead of this:

image

Evidence or User Insights
Our current keyboard mapping is unintuitive and requires extensive documentation to educate users (#157). Not only is free-form input more intuitive, there have been several issues opened that would require support for it as a pre-requisite (e.g., #163, #519, #150).

Proposal
Enable free-form input across calculator modes, which means that users can place the cursor anywhere inside of an equation input box to edit the expression. This also means that users can type or paste in "cos(x)", which feels natural, as this is how you would write this expression up on a whiteboard.

Note: This is the same input behavior that we are going to have in graphing mode.

Goals

  • Users can input their equations with free-form input
  • Expressions are displayed in rich MathML styling format

Non-Goals

Low-Fidelity Concept

image
Just an example of rendering as MathML

Requested Assignment
I'm just suggesting this idea. I don't want to implement it.

@ghost
Copy link

ghost commented Aug 6, 2019

This pitch looks like it has everything it needs for review. In the meantime, we'll keep this idea open for discussion so the community has the chance to provide feedback. Check out our New Feedback Process for more info on the user-centered process we follow for new feature development.

@MicrosoftIssueBot
Copy link
Collaborator

This is your friendly Microsoft Issue Bot. I've seen this issue come in and have gone to tell a human about it.

@ghost
Copy link

ghost commented Aug 14, 2019

We reviewed the pitch and would love to explore this idea further! The pitch is a great start, but there are still some open questions. I am moving this issue into planning to iron out some of those details and I created calculator-specs/freeform to track progress. A human will follow up with some feedback on your pitch shortly. Keep in mind that not all ideas that make it into the planning phase are guaranteed to make it to release. For more information on next steps, check out our spec workflow.

@grochocki
Copy link
Contributor Author

This work is definitely dependent on #526, and is likely something we would want to pursuit it parallel. This feature is also dependent on MathML rendering.

@SavoySchuler
Copy link
Member

@adambarlow this issue shows the MathML rendering that you were proposing for NumberBox.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants