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

Add Graphing Mode #338

Closed
grochocki opened this issue Mar 19, 2019 · 18 comments · Fixed by #899
Closed

Add Graphing Mode #338

grochocki opened this issue Mar 19, 2019 · 18 comments · Fixed by #899

Comments

@grochocki
Copy link
Contributor

grochocki commented Mar 19, 2019

This feature is in pre-production. Contribute to the in-progress spec here.

Problem Statement
High school algebra is the gateway to mathematics and all other disciplines of STEM. However, algebra is the single most failed course in high school, as well as the most failed course in community college (Washington Post). Graphing capabilities in their daily tools are essential for students who are beginning to explore linear algebra as early as 8th grade. Physical graphing calculators can be expensive, software solutions require licenses and configuration by school IT departments, and online solutions are not always an option. At present, Windows Calculator does not currently have the needed functionality to meet the demands of students.

Evidence or User Insights
Graphing calculator provides an accessible and engaging method for students and teachers to learn and teach. Research has shown that graphing calculators foster conceptual understanding of developmental math students (Hopkins & Amelia, 1998; Laughbaum, 2002, 2003; Shore & Shore, 2003) by:

  • Increased speed
  • Opportunity to study rich mathematics through technology
  • Make connections through different data representations
  • Deeper understanding on “why”

Graphing Calculator is also the top requested feature in Feedback Hub.

Proposal
Empower students to learn mathematics by improving conceptual understanding and attitudes towards math by adding graphing support to Windows Calculator targeting grades 8-12 students and teachers (math/physics). With graphing calculator, we can improve learning outcomes of students by increasing engagement and visualization of math equations.

Goals

  • Provide a great baseline graphing calculator experience in Windows Calculator
  • Support all US common core math curriculum, including:
    • Ability to build and interpret functions
    • Understand linear, quadratic, and exponential models
    • Trigonometric functions
    • Reason with equations and inequalities

Non-Goals

  • Support advanced calculus or statistics functionality
  • Parity with more advanced graphing solutions

User Cans

  • Users can enter an equation so that it can be viewed on the graph.
  • Users can enter multiple equations so that they can compare plots against each other and see the interactions between the lines.
  • Users can edit equations so that they can see how changes affect the plot and correct mistakes.
  • Users can change the graph viewing window so that they can see different parts of the plot at different levels of detail.
  • Users can change line visual options so that they can clearly differentiate between multiple plots.
  • Users can export graphs so that they can share it with others or incorporate into Office/Teams.
  • Users can easily manipulate secondary variables in equations so that they can quickly understand how changes to equations affect the graph.
  • Users can see traceable key graph features (KGF) as nodes/dots on the equations, and summon other KGFs in a list so that they can better understand the important features of a given function.
  • Users can trace plots so that they can better understand the relationship between variables in the equation on the graph.

Low-Fidelity Concept

image

@grochocki grochocki self-assigned this Mar 19, 2019
@grochocki grochocki added this to Pre-Production in Feature Tracking Mar 19, 2019
@janisozaur
Copy link
Contributor

I have no direct stake in this, but I like my calculators relatively simple. Something I can count on. I've seen #209 filed already and I can only imagine adding such feature would only make it worse.

When I encounter a graphing calculator, I expect much more from it than from a non-graphic one, some of that is already encapsulated in the "goals" part of this ticket, but I imagine the engine part of the calculator would have to grow significantly (see references). Are there more specific issues going to be filed against that? How is it going to be implemented now that calculator is open sourced, is it going to be a feature delivered by MS or rely on the broader open source community? If former (as #339 would have me thinking), is it going to be developed in the open or is one giant PR suddenly going to appear one day? I'm quite curious.

For reference:

@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.

@contextfree
Copy link

Users can export graphs so that they can share it with others or incorporate into Office/Teams.

It seems important to be able to export or share calculations and graphs in a way that's interoperable with other mathematical applications. That way, we can feel confident using Windows Calculator as a lightweight tool for quick explorations (hope you can hold the line on startup time!), and not worry about hitting a "dead end" if I end up needing more advanced features.

I can also see myself (and maybe high school students/teachers?) wanting to export/save/share entire session histories to OneNote (would it ideally interoperate with OneNote's own mathematical and graphing tools somehow?)

@HowardWolosky
Copy link
Member

HowardWolosky commented Mar 20, 2019

If former (as #339 would have me thinking), is it going to be developed in the open or is one giant PR suddenly going to appear one day? I'm quite curious.

@janisozaur - We have been doing various forms of prototyping and then initial ground work on this for about a year now. Within the next week or so, you should be seeing the initial PR for populating the feature branch. The feature is not done, and we are looking for community involvement/participation in the completion of the feature. But yes, there will be a large PR to initially populate the feature branch.

but I imagine the engine part of the calculator would have to grow significantly (see references). Are there more specific issues going to be filed against that?

There will be more information included in our documentation when that feature branch is created, but the abbreviated version of it is that we are not developing the graphing engine ourselves. We will be using one developed elsewhere, and it unfortunately has restrictive licensing. Therefore, the engine will not be included in this repo, only the interfaces that we use to interact with it, along with a mock implementation so that the developer build will continue to function. So, our development efforts on this feature will be focused on developing a great end-user experience as opposed to the development of the engine itself.

@grochocki grochocki pinned this issue Mar 23, 2019
@ghost
Copy link

ghost commented Mar 23, 2019

About time! Add even more features. I would like to see the entire set of TI-85 features added to Windows Calculator. Bring graphing functionality to everyone in the world! Also, bring back Windows Phone!

@grishace
Copy link

@ghost
Copy link

ghost commented Mar 23, 2019

https://en.m.wikipedia.org/wiki/Microsoft_Mathematics

Yes, there are free programs out there. However, Microsoft Math is not in the windows store and not on the Windows Universal Framework so it will not run on Windows Light and will not run on Windows Phone.

@qiankehan
Copy link

qiankehan commented Mar 25, 2019

Why not import KAlgebra to windows store instead of inventing the wheel again

@taurus-forever
Copy link

There is a bug on a screenshot in "Low-Fidelity Concept".
y=x+2 must be a straight line ;-)

@daserboo
Copy link

yeah. thats great idea

@daserboo
Copy link

cuz i always use sites with graphic mode and i will can using this dont opening the sites

danbelcher-MSFT pushed a commit that referenced this issue Apr 11, 2019
Initial PR for the feature/GraphingCalculator feature branch, part of #338.

The feature incorporates a proprietary Microsoft-owned graphing engine to drive graphing experiences in the Windows Calculator app. Due to the private nature of the graphing engine, the source available in the public repo will make use of a mock graphing engine. See README.md for more details.

This PR simply serves as a base for future feature development. As such, the PR will be immediately merged. Feedback on the content of this PR, and on the feature in general, is encouraged. If there is feedback related to the content of this specific PR, please leave comments on the PR page. We will address the comments in future PRs to the feature branch.
@danbelcher-MSFT
Copy link

Feature development for this issue will occur in the feature/GraphingCalculator branch. See 091732a for the intial commit.

@edwpang
Copy link

edwpang commented Jun 12, 2019

Feature development for this issue will occur in the feature/GraphingCalculator branch. See 091732a for the intial commit.

What's the current status of this feature? The latest update was a couple of months ago.

@grochocki
Copy link
Contributor Author

@edwpang Thanks for your interest in this feature! I just updated the root spec page in the branch with my latest thinking, and I will be updating the other pages with more details soon, so the community has the chance to provide feedback.

@yulei900609
Copy link

I need this feature very much.

This was referenced Dec 19, 2019
@ghost ghost removed the needs spec label Jan 7, 2020
@grochocki grochocki moved this from Planning to Implementation in Feature Tracking Jan 9, 2020
@mcooley mcooley unpinned this issue Jan 17, 2020
@grochocki grochocki moved this from Implementation to Completed in Feature Tracking Jan 21, 2020
@microsoft microsoft locked as resolved and limited conversation to collaborators Dec 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Development

Successfully merging a pull request may close this issue.