Code Monkey home page Code Monkey logo

Comments (4)

paride avatar paride commented on July 18, 2024

I think it would be very useful, yes. I like the idea of an easily accessible reference card where the examples can be loaded by tapping on them. Loading the RecyclerView with examples is nice too, but it breaks the workflow if I'm doing some calculations and I just need to check the syntax of something.

On the usability side I also thing it would be nicer to have just one "send" (enter) button, on the right of input field. I don't find the [] parentheses useful, while I'd appreciate the "power operator" ^ and maybe the square root. the basic trigonometric functions would also be nice.

Another interesting possibility is to exploit the possibility to have long taps on button, for example:

"(" becomes "[" with a long tap
"*" becomes "^"
"sin" becomes "arcsin"
e^x becomes ln(x)

and so on. Well, you see I'd appreciate a scientific mode :)

from mather.

stpr-dev avatar stpr-dev commented on July 18, 2024

First off, great job on the app! I never knew math.js existed and I have been craving for a simple yet powerful scientific calculator for android for AGES. I have had several occasions where I had to quickly check results for my experiements, and simple calculators would not cut it because my problems are quite complex (being an Engineering thesis and all) without having to find a PC and fire up MATLAB/Octave. This seems to be almost everything I am looking for!

Now for the useful information part, I would HIGHLY suggest you to have a menu option or something to display a manual page (or something similar), containing ALL available commands, possibly categorically. I think it is already available on the math.js website, you can implement a similar idea into the app. For instance, you can have your sine, cosine, arcsince etc. under a 'Trignometry' Category, mathematical and scientific constants under a 'Constants' category. You get the gist of it I hope. You can integrate this with the idea suggested by @legovini by giving examples for each of them. For instance, I was struggling to find the command for sine in degrees and after fiddling a bit, I found out that it is the same command except you specify 'deg' with the value. This is not necessarily common or intuitive, as some programming languages have different 'functions' for different units (for instance, MATLAB has sin() and sind() for sine in radians and degrees). Adding a couple of examples or specifing these on the manual will help avoid such confusions.

This will not only highight the fact that it is much more than a simple calculator, it will also serve as a reference for users in case they need to look up if a particualr function exists/syntax amongst other stuff.

from mather.

icasdri avatar icasdri commented on July 18, 2024

I like the idea of a manual page. Shouldn't be too difficult: just copy some HTML (and edit it a little) from Math.js website and inflate a WebView should work. I'll look into it when I get some down time.

from mather.

navid-zamani avatar navid-zamani commented on July 18, 2024

May I suggest a more direct method, that doesn’t require memorization, and follows the principle of ”The user doesn’t know what he wants, until he knows what there is."?

As a long-time Qalculate! user (the best normal calculator in existence IMHO), I always appreciated its drop-down menu tree to browse and select functions, units, settings, etc.
And there always was a display below the input line, that showed you the parameters that a function expects and that you still need to enter. Kinda like a simple autocompletion in programming IDEs.

Think of the Android equivalent, with a descriptive line of text next to each function name (and even parameter). Maybe it would even link to a Wiki, for cases where that improves things.

from mather.

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.