EVERYTHING you need to know about internation. issues. MUST for webadmins & -authors!
Web authors, -masters and Pocket PC Web browser users attention: everything you need to know about internationalization and "special character" issues in current PPC Web browsers
Over at the AximSite forums, I've been presented an interesting bug in famous Pocket PC Web browser NetFront, which made me experiment with the internationalization (i18n for short) issues of all Pocket PC Web browsers (and, for that matter, all the three most important desktop Windows ones). I've long been planning a test like this to see how Pocket PC Web browsers compare to desktop browsers in terms of i18n issues.
Elaborating on these issues is not just an über-geek, useless waste of time but can prove very useful if you, for example, speak a non-Western language and would like to read pages written in them or post messages on Web boards in the given language using your Pocket PC.
You can run into these problems even if you don't plan to post in any non-Western language or non-English forum / pages as can be seen in the above-linked AximSite example. All it takes a poster to use Word to compose his or her posts or articles and you end up seeing square characters (or simply nothing) instead of apostrophes and other, special, but otherwise Western characters if you use NetFront as a client. (Note that earlier, Minimo also had very similar problems with UTF-8-encoded pages I've elaborated on in here. These have been in the meantime, thanks to my bug reports, fixed. Also, very early versions of Minimo couldn't render non-Western characters on any page encoded in 8-bit as you can also see in my well-known Web Browser Bible. Those problems have long been fixed.)
Note that my inability to speak / write / read any Middle-East language (Arabic, Hebrew) and write/read Far-East languages like Chinese or Korean, I could only check non-Western, but still left-to-right languages like Russian. That is, in here, I'm unable to elaborate on the issues of these Web browsers outside the Western / Central / Eastern-European language groups. Sorry for this - not even I can speak more than 7-8 (European ones / Japanese) languages
1. URLs with accents
My first test was finding out whether you can enter URL's with accents in them into a given browser. (I recommend for example this article on the subject for more info. It's its test URL that I've used.)
Note that it's highly unlikely you'll ever see any URL's with accents in them (that is, this problem is pretty much non-existent); still, it's nice to know which browsers are able to render these pages. Yes, being able to use the built-in PIE as a "fallback" browser in these cases is highly advantageous.
The results (+ means compatible, - means not compatible):
Click here for the chart
As can be seen, only PIE supports this (as opposed to the desktop version) and Minimo (which I've expected, given that Minimo is the closest to its desktop version of all the Pocket PC browsers available).
(Note that, on he desktop Windows, Desktop IE7 RC1 and Opera 9.02 don't support this by default without explicit reconfiguration (see the above article on this); Mozilla / Firefox does.)
2. Displaying non-standard Western and non-Western characters
The second set of compliance tests is way more interesting and important than the first.
Note that this explanation will be a bit on the technical side; without some knowledge of HTTP and the HTML meta tags, you should skip the explanation and move straight to the summary column of the final chart (and the section following the chart). That is, don't read the following section if you don't know what HTTP is! Web browser developers (particularly those from Access!), website administrators and Web authors, on the other hand, should definitely read it in order to be absolutely sure the non-standard characters (again, it can be "plain" punctuation created by Word, not just non-Western languages!) contained in their documents are correctly rendered by all the browsers.
2.1 Test method
This test shows
whether the given browser takes into account the value of the
"Content-Type" HTTP response header
http-equiv meta tag
what the browser assumes (what it defaults to) when neither of them are defined (which is very often the case)
on the other hand, if there are both of them with different values, does the metatag-based override the HTTP response header.
For the test, I've written a custom HTTP server emulator accessed from all the tested Web browser applications. As usual, I'm making the source available so that you can freely test it if you prefer.
2.1.1 How my custom server emulator should be used?
The application listens to incoming HTTP requests at port 82. It requires a custom parameter (as extra path info - that is, you don't need to use the ? but / instead) in the following form:
http://127.0.0.1:82/xyz
(change 127.0.0.1 to the Internet address of your desktop PC's address if you want to access it from your PDA)
where
x tells the server emulator to set the ‘charset' attribute of the HTTP response header Content-Type. (Doesn't set it at all if you pass a ‘N' instead.)
y tells the program emulator to set the ‘charset' attribute of the "Content-Type" http-equiv meta tag. (Doesn't set it at all if you pass a ‘N' instead.) This is the only way for a plain user (not having access to the Web server configuration) to set a charset for a given page.
z tells the server what character encoding to use internally. In most cases, you can safely keep it as ‘2' for the test.
All values are one-digit numerals; I've tested the browsers with value ‘1' (Western charset) and ‘2' (Central-European charset). As has already been mentioned, with the first two digits, you can also supply ‘N' (which stands for ‘No', ‘Doesn't exist' or ‘Not known'); then, the given HTTP header / HTTP-Equiv tag won't be set / returned. If you set something other than ‘1' or ‘2' for the ‘z' digit, it'll default back to ‘1'.
For example, if you enter http://127.0.0.1:82/111 in your Internet Explorer browser running on the same machine as the server emulator, you'll see this.
In here, there are three rows of special interest (the fourth, the date row is only included so that you can be absolutely sure the browser doesn't just returning a cached document):
"8-bit 8859-1-only punctuation marks" contains strictly 8859-1 punctuation marks. You should see real punctuation marks (if you render the page as a 8859-1 page) after this introduction: no squares, no question marks, no nothing.
"Central-European chars (will ONLY work with the third parameter being 2):" contains two Central-European characters. You'll see them rendered in three ways: as question marks (if you pass anything but ‘2' as the third, ‘z' parameter), as
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(the closest Western rendering of these characters) and, finally, as
, which is how they should be rendered. (Finally, as a - mark (hyphen) in Thunderhawk because it doesn't contain any non-Western character in its custom character set.)
Finally, the third row will be always displayed the same way because it explicitly uses HTML Unicode character entities, which aren't affected by the language setting. That is, it'll be always rendered as
2.2 The chart
In the following chart, I've (keeping ‘z' as ‘2' in all the cases - again, it doesn't have direct affect on any HTTP header or HTML meta-tag, only the way Java encodes the returned contents) tested all the available combinations. This way, I was able to see
whether the HTTP-Equiv meta tag overrides the "Content-Type" HTTP response header (nope, only in NetFront - this is a big difference in NetFront and any other Web browser and should be modified by the NetFront people! Other browsers only take into account the meta tag if there is absolutely no charset parameter in the HTTP Content-Type response header)
if none of the two alternates are used, what charset the browser defaults to (fortunately, Western charset in all cases)
Click here for the chart
2.2.1 Explanation for the chart
2.2.1.1 NetFront and Content-Type (charset) overriding: different from the approach of all other browsers!
Again and again, NetFront works differently from all other browsers, header overriding-wise. That is, something that works on a desktop browser or any other Pocket PC browser will not necessarily work on NetFront if the HTML document contains a Content-Type metatag. Again, NetFront will override the encoding of the page with the value found in this metatag, unlike any other browser. This seems to be the reason why several people have reported char encoding problems with NetFront.
It should also be pointed out that the overriding being non-standards-compliance aside (which should be fixed by the Access folks - the developers of NetFront - as soon as possible), NetFront isn't able to display any extended punctuation mark contained in the 8859-1 codepage if you don't use the default (and ugly) Courier New font but switch to a proportional font. No matter what language info you return from the Web server, these characters will just not be displayed. A quick fix for this problem (before the Access folks fix this bug) is forcing the browser to, say, use the Central European (windows-1250 as opposed to 8859-2), Baltic or Greek encoding (but not to UTF-8, which hides all these chars) encoding as can be seen in here (note that now the punctuation is displayed in the background, on the Web page).
2.2.1.1.1 How Web administrators should treat NetFront clients?
This also means if you're a Web hoster / Web author and would like to allow your NetFront users to be able to browse your otherwise Western (8859-1) pages and there aren't any, say, French and Spanish names / texts on the website (with all those funny accented characters), you should consider marking these pages as, say, Central-European (windows-1250) or Baltic if and only if your client using NetFront (you can easily see this by checking for the User-Agent HTTP request header as has already been explained in several of my User-Agent header-related articles; for example, this one).
2.2.1.2 How Web administrators should treat Thunderhawk clients?
Incidentally, speaking of server-side User-Agent checking, if you operate a, say, Web site offering content in a Central-European language (that is, a language sufficiently close to Western languages, alphabet-wise; that is, in where using Western characters instead of some special, local characters - for example, using
instead of the "official"
), then, upon sensing the client's using Thunderhawk, you may want to force the content encoding back to 8859-1. That is, return the content as plain 8859-1 (Western) document. This will make sure non-Western characters will be converted back to their closest Western equivalent, resulting in a far better user experience.
2.2.1.3 Generic advice for Webadmins of web hosters: NEVER set the charset attribute in the Content-Type HTTP response header!
Also, the results clearly show if you're providing Web hosting service to customers, you should never set the character set the ‘charset' attribute in the Content-Type HTTP response because your customers won't be able to override it with their own encodings. For example, if you're a Central-European Webspace provider and use the local, non-Western language as default charset returned straight in the HTTP header, you'll make all your customers unable to provide content in the Western-European charset.
The situation is the same in the opposite direction: if you set the Western-European charset and you still have for example Russian customers that would like to publish their Russian pages on your server, most Web browsers won't be able to render these, not even if these folks explicitly try to override your encoding settings.
A real-world example: earlier, this all has been a huge problem with my current webspace provider. Due to cost considerations (I didn't want to pay big bucks to host a webpage I don't use for commercial stuff, just as a database back-end for my articles, images and other downloads), I've chosen a (compared to, for example, the Finnish Web hosting fees) very cheap Central-European webspace provider. It, however, before July 2006, also set the above-mentioned ‘charset' attribute to Central-European encoding, which made it impossible to put Word-generated/-exported English language pages on my page without first changing all the non-standard (extended) punctuation marks to their non-extended (and, therefore, less spectacular) counterparts. That is, when I, for example, posted a comparison chart HTML file there (I can't include comparison charts in Pocket PC discussion forums because of the forum restrictions and wide charts in my Smartphone and Pocket PC Magazine Blog - in these cases, I must link them from my back-end), I always had to change (with a generic search-replace in, say, Notepad) these characters back to the non-extended version.
Note that you can avoid all this hassle in Microsoft Word before starting to write your article / post by disabling the two checkboxes ("Straight quotes" with "Smart quotes" and Hyphens (--) with dash (-)) in Tools / Autocorrect Options / Autoformat As You Type. If you find it necessary and want to avoid problems with, for example, your NetFront or non-Western readers, make sure you do this (that is, disable the two checkboxes).
Now that, during a recent Web server update, this annoyance has been removed, I can post anything without mass-replacing 'special' characters (or disabling autocorrection in Word).
All in all: the inability to override (in everything but NetFront) the HTTP response header means a decent web hoster should never return the language / character encoding parameter in his / her Web pages if there is chance users would want to return pages in different encoding. This is, fortunately, the case with the majority of current web hosters.
3. Form Posting
The second main problem area is not displaying non-Western characters but posting such contents to Web servers via Web forms. In these tests, I've tested the same; with exactly the same input (punctuation, non-Western characters) and I've also added Western accented characters like ä and ö: I've posted these characters to the Web server and checked what they have become.
I've used two sites for this purpose: my PPCMag blog, which is 8859-1 (Western charset) by default and a Central-European server using the Windows-1250 (Central-European) encoding on all its pages. (The page encoding setting has direct effect on what is uploaded back to the server from a form.)
Click here for the chart
As can clearly be seen, the situation isn't at all bad with the three desktop browsers (I've encountered no compatibility issues at all - all special and even Central-European characters were visible in their original - unconverted! - form after posting, even when posted to an 8859-1 server).
With Pocket PC-based browsers, on the other hand, posting special / non-Western characters turned out to be much more problematic, particularly - as opposed to the desktop posting case - when posting to a 8859-1 (Western) server. Then, it was only Thunderhawk that was able to upload these characters; all the other clients either don't upload these characters at all or converted them.
An explicitly windows-1250 server was a bit better as far as NetFront is concerned: now, it was able to upload non-standard Western punctuation and non-Western accents.
Unfortunately, Opera Mobile has never been able to upload any kind of extended Western punctuation. This is a real bug that really should be fixed.
4. Non-8-bit file formats
In addition to 8-bit file formats (ISO-8859-1, Windows-1250 etc), there are some other, non-8-bit file formats. One of them is Unicode, of which a test page is here. Another is UTF-8 (test page here; OK, I know this is, technically, a 8-bit file format, using 2 or 3 bytes for extended 8859-1 or Unicode characters. I didn't want to create a different category for it.)
The former is almost never used on the Web (albeit it's possible some, say, Chinese or Japanese site will use it); the latter pretty extensively in the non-Western language areas. Its penetration in Central-Europe (excluding languages using cyrillic characters) may be 10-20% (because the special characters of these languages are easy to map into a 8-bit chartable); in China/Japan or other languages using alphabets containing Kanjis and other special (and numerous) characters, around 100%.
In this test, I've tested whether the Pocket PC web browsers are able to read these pages (see the above two links if you want to give them a try). As can be seen, the situation is pretty good: the common UTF-8 is read by all browsers. IEM and Minimo fail to render Unicode files, though.
This is, again, not a big problem at all - I've yet to see a Web page that uses Unicode instead of UTF-8. Note that this is one of the very slight differences between Minimo and its desktop big brother, Mozilla / Firefox. The latter, as with the desktop Opera and Internet Explorer, is able to render Unicode files too.
Click here for the chart
Introduction to my app reviews on the XDA forum
This is the first of a series of such comprehensive app review threads that I have planned (the others will be much shorter however).
While I will publish the reviews later in other places also (like my website and medium.com), I have decided to publish them here first in the hope of getting suggestions for improvement from many interested people, and maybe from the developers of the apps also.
Introduction to this review of calculator apps
In this article, I will attempt to find, evaluate, and compare the best advanced calculator apps for Android, as comprehensively and objectively as possible.
I also include high-quality “basic” scientific calculator apps with features like scientific constants, units, and base-n calculation. Further, I include advanced "learning calculators" like Photomath, but I evaluate only their ability to solve mathematical problems, not their pedagogical value.
I hope the article will be helpful to anyone who wants to do more complicated calculations on Android devices, and also to the developers of the calculator apps, and to programmers considering the development of another calculator app.
I decided to write it because there are now many good and useful advanced calculator apps for Android, but not one thorough review (at least I couldn’t find one). While there are many “reviews” of the best such apps on the web, those lack
systematic search for available apps,
thorough tests of the apps,
comparison of features,
comparison of data from Google Play,
examination of other reviews.
Accordingly, they do not provide an objective overview of the best apps. Also, they seem to be written mostly by people with no special love for math and programming.
While I am myself not a mathematician, I have studied mathematical physics and computer science (PhD), and have developed complex Android apps (an advanced 3D modeling app, and App Finder, a sophisticated search engine for apps on Google Play, which I have used for this review).
Please note that this is a VERY long and detailed review. If you just want to know what the best calculator apps are, you may directly read my recommendations here.
If you are mainly interested in this as an example for the usage of App Finder, you may just read the section about the searches.
If you are new to this forum, please note that you can change the style from dark to light via the "XDA-Dark" button at the very bottom of the page. Also, you can hide the left pane using the three-line button top left.
If you like this article, please read the post at the bottom of this page.
Classification of apps and compilation of features
Kinds of calculators
Since for different people and different purposes, different types of calculator apps will be optimal, let us first make a classification.
Traditional handheld calculators may be classified as follows (excluding completely basic and financial calculators):
Basic scientific calculators
Advanced numeric scientific calculators
(distinguished from the basic ones by e.g. equation solving, calculus, and matrix calculation capabilities)
Programmable calculators
Graphing calculators
CAS (Computer algebra system, i.e. symbolic computation) calculators
(also including the functionality of advanced numeric, programmable, and graphing calculators)
However, if one needs more than a basic scientific calculator at all, it will probably be useful to have symbolic as well as numeric calculation, and also graphing (and possibly programming).
This also seems to be what most calculator app developers have thought, since nearly all good apps with a functionality exceeding basic scientific calculators include at least basic symbolic computation and graphing features.
Therefore, I will classify the apps here simply as “basic” or “advanced” calculators for feature comparison.
Nevertheless, a more detailed classification is useful and will be used to structure this review:
Advanced general-purpose calculators
Apps with a wide range of advanced numeric and symbolic computation and graphing that are convenient for both quick and more complicated calculations.
Graphing tools
Apps specializing in graphing, whether or not they include other functionality.
CAS answer engines
Apps with powerful symbolic computation, that also accept input in natural language, and can give not only calculation results, but also information on mathematical definitions and concepts (WolframAlpha is currently the only such app).
Advanced learning calculators
Apps designed for learning mathematics, often with symbolic computation, showing intermediate calculation steps, and able to recognize written problems from photos.
Advanced calculators of other types
E.g., apps with a “notebook interface” (similar to Mathematica), computer algebra systems with a command-line interface, and apps with programming / scripting.
Intermediate scientific and graphing calculators
Apps with some advanced features like 2D graphing, basic numeric / symbolic calculus, numeric equation solving. Up to the level of the TI-84.
Basic scientific calculators
Apps without advanced mathematics like calculus, that are nevertheless suitable for science and engineering (with features like scientific constants and units, and base-n calculation).
Features and test problems
To be able to objectively compare the apps, I have made lists of important features and some test problems.
The test problems are of course quite arbitrary and cover only a small part of the features, and a still smaller part of the range of important problem types. Nevertheless, I think they give some helpful insight into the power and reliability of the apps.
The features that I consider essential are in blue and will be used as the baseline for the reviews. More advanced features, which fewer people will need, are in parenthesis. Even more advanced features are in double-parenthesis. The test problems are in green.
Advanced calculator features and test problemsAs a basis I have taken the functionality of advanced hardware calculators like the TI-89 or TI-Nspire CAS, while considering the capabilities of modern Android devices.
Numeric and symbolic calculation
(in addition to the basic functionality of all scientific calculators):
Complex numbers: Rectangular and polar form, common operations and functions
Symbolic computation essentials:
Calculation with exact values (fractions, roots, pi, etc.)
e^pi/e^(2pi) should be simplified to 1/e^pi or e^-pi
Automatic simplification
2x/(x^2-1)-1/(x-1) should be simplified to 1/(x+1)
(Factorization and expansion of polynomials)
((Equation manipulation))
(Assumptions, e.g. domain constraints)
Equation solving:
Numeric
Ln(x) = -x should be solved as x = 0.567143
sin(x) = x/2 should be solved as x = {0, ±1.89549}
Symbolic
sin(1/x)=0 should be solved as x = 1/(n*pi)
ln(x*y) = y*ln( y) should be solved as x = y^(y-1)
Real and complex solutions
(X+1)^2 = -1 should be solved as x = -1±i
(Equation systems)
x²+y² = 2 and x²*y² = 1 should be solved as x = ±1 and y = ±1
(Specification of variable ranges)
(Inequalities)
Differentiation and integration:
Numeric
Symbolic
(e^x+1)/(e^x-1) should be integrated to 2*ln|e^x-1|-x
1/(1+sin(x)) should be integrated to e.g. tan(x/2-pi/4), or -2/(tan(x/2)+1), or (sin(x)-1)/cos(x)
x/(1+sin(x)) should be integrated to e.g. 2*ln(cos(-x/2+pi/4))-x*tan(-x/2+pi/4)
x/ln(x) should be integrated to Ei(2*ln(x))
Multiple / nested operations
Other calculus and analysis:
Finding minima and maxima, numeric (and symbolic)
Minima of sin(1/x) should be given like 2/(4pi*n-pi)
Sums and products of sequences, also infinite, numeric and symbolic
Limits, also one-sided, numeric and symbolic
(Taylor expansion)
((Differential equations solving))
Matrices and vectors:
Standard operations and functions
(Vector calculus, esp. gradient, divergence, curl)
Basic number theory and combinatorics: random, prime factorization, gcd, lcm, factorial, nCr, nPr
Base-n calculation: conversion and bitwise operations for binary, octal, hexadecimal numbers
Statistics and probability
One and two variable statistics: with frequencies, (histograms, box plots)
Regression: Linear, quadradic, logarithmic, exponential, …, with plots
((Confidence intervals calculations))
((Statistical tests, e.g. t, z, F, chi², ANOVA))
(Probability distribution calculations)
Calculation with units and unit conversion
Scientific constants
2D and 3D graphing
Display of multiple graphs in one coordinate system, also of different types
(Multiple workspaces, i.e. coordinate systems)
Graph types:
Cartesian function plots
2D: Polar function plots
Parametric plots, in 3D both curves and surfaces
(Implicit plots)
4*(x^2+y^2+z^2)+16*x*y*z = 1 (Cayley's cubic surface)
((Differential equations plots))
((Complex plots))
Display:
2D: (Customizable) grid, adapting to zoom (with major and minor lines)
3D: Labeled coordinate axes, (optional semitransparent x-y-plane, optional x-y-grid)
Custom colors for individual graphs
(3D: Surface display: solid with variable transparency, and as wireframe)
(3D: Both orthographic and perspective projection)
((3D: Quality settings))
(Animation of parameter variables)
Portrait and landscape orientation
Navigation:
Equal and independent scale of axes
2D: Simultaneous pan and zoom with 2 fingers
3D: Complete and intuitive navigation, e.g., orbit around center with one finger, pan and zoom with 2 fingers
(3D: Automatic rotation)
Analysis:
2D: Tracing
2D: Display of coordinates of intersections, zeros, extrema
Environment and user interface
Variables and functions:
Saving values to variables
(Custom-named variables for storing values and for use in symbolic computation)
(User-defined functions that can be used in numeric and symbolic calculations)
(Piecewise defined functions), ((Programmed functions))
(Intermediate calculation steps)
((Programming environment))
Input and output:
Display and input of expressions in standard mathematical notation, like in a textbook
Copy and paste, also parts of expressions
Undo & Redo
(Automatic calculation without tapping enter key)
(Multiple workspaces)
(“Quick Info”: Display of various useful information about the entered expression or result with one tap, e.g.: prime factorization for integers, alternative formats for numbers, alternative forms for expressions with variables, solutions for different variables for equations, graphs for expressions and equations with 1 or 2 variables)
History of calculations
Import / export, (sync and share) of variables, functions, (and history)
Adaption and customization:
Convenient interface for small phones, good use of the space available on large phones (and tablets)
Adjustable display text size (and keyboard size)
(Keyboard layouts for different screen sizes), ((Custom keyboard layouts))
(Light and dark mode, different themes, custom colors)
Documentation and source
Complete user guide (with full text search), (in-app and external)
(Function / command reference with full text search)
(Info / description of the algorithms used)
(Open source)
For Basic scientific calculators, I use a separate list:
Basic scientific calculator features
Calculation
in addition to the basic functionality of all scientific calculators:
Basic number theory and combinatorics: random numbers, prime factorization, gcd, lcm, factorial, nCr, nPr
(Calculation with fractions, roots, pi)
(Base-n calculation: conversion and bitwise operations for binary, octal, hexadecimal numbers)
(Complex numbers: Rectangular and polar, common operations and functions)
(One-variable statistics)
(Calculation with units and unit conversion)
(Scientific constants)
Memories/variables, functions
Enough memories/variables
Using variables directly in expressions, not just inserting the value
(Saving functions)
Input and output:
(Standard mathematical notation, like in a textbook)
Otherwise, multi-line
Copy and paste, (also parts of expressions)
(Undo & Redo)
(Automatic calculation without tapping enter key)
Number formatting:
Custom number of decimal places, round/cut modes
Scientific and engineering formats
Thousands separator
(Repeated decimals)
History of calculations
(Import / export of variables, functions, and history)
Adaption and customization:
(Different keyboard layouts, custom keyboard layouts)
Light and dark mode, (different themes, custom colors)
User guide
The search
To search Google Play, I have used App Finder, an advanced app search engine that has data for nearly 2.4 million apps.
I have also quickly searched the following alternative app stores directly:
Samsung Galaxy Store
Huawei AppGallery
Amazon App Store
F-Droid
Aurora store
APKMirror
AppBrain
SlideMe
Aptoide
However, I did not find additional apps that can be recommended.
App Finder
For our purpose, App Finder has several advantages over Google Play’s build-in search:
Search algorithm: Google Play uses a complex undocumented search algorithm that takes many factors into account, and prefers the apps it thinks “you’ll have a good experience with” (see here). While this is often very good for quickly finding some of the best apps, it is not suitable for a comprehensive search.
In contrast, App Finder matches your search query against the descriptions of the apps in a clear and easily comprehensible way (see below).
Search operators: In addition to the usual search operators, App Finder has some special operators. For example, to require specific words to occur in title or summary, which can be very helpful to exclude irrelevant apps.
Filters: While Google Play’s search has only filters for a user rating above 4 or 4.5 stars and for paid apps, App Finder has a filter for user rating in 0.1-star steps, and many other filters.
Sort options: Like Google Play, App Finder sorts the results by “relevance” by default. That is, by a score calculated from the match with the query, the average user rating, and the popularity. However, App Finder also has the option to sort by a single characteristic like the average user rating or the number of ratings, which gives us better orientation for comparing the results.
Result count: App Finder shows the exact result count, so we can add keywords or filters if there are more results than we want to inspect.
Result list: Unlike Google Play’s search, App Finder shows all essential data, summary, and screenshots directly in the result list.
Additional data: App Finder shows
the average user ratings with two decimals, which is relevant for high ratings (consider two apps rated 4.85 and 4.94 stars respectively, which are both rounded to 4.9 stars by Google Play),
the number of downloads with two significant digits, with is quite an improvement over Google Play which rounds them down to powers of ten times 1 or 5,
World-average user ratings in addition to country-specific ratings.
Here’s a how App Finder matches search queries against the app descriptions:
In the simplest case, if you just enter keywords separated by spaces, it returns exactly those apps where all the words (or forms of them, like the plural) appear in the description (or title or developer name).
.
Words inside quotes are required to appear in sequence (different forms of the words are still allowed).
.
+ in front of a word (or quoted words) requires it to occur in title or summary, not just anywhere in the description.
(The summary is a short description limited to 80 characters that the developer must provide).
.
- can be used as usual to exclude words. It can be combined with + to exclude them from title and summary only.
.
The usual OR operator is supported. Additionally, / (a slash) can be used instead of OR. Contrary to OR, / is evaluated first, which makes it often possible to avoid parenthesis and repetitions. Also, / can be used inside quotes. No spaces are required around /.
Simple Search
Since scientific calculator and graphing calculator are universally used terms, we would expect each app intended as such a calculator to have one of these terms in title or summary.
With App Finder, we can search for this using the query +”scientific calculator” OR +“graphing calculator” (see above). Using the / operator, it can be simplified to
Query 1: +“scientific/graphing calculator”
Without filters, this query gives 432 results.
Note that all searches in this article were done in Mai 2023 for the United States.
To not miss anything, I have looked through all results without filters.
Already from the screenshots, it is clear for most of the 432 apps that they are very low quality, or that they are not what we’re looking for.
Investigating the promising apps further, and quickly testing the still promising ones, I found that all the best apps probably have at least 4.5 stars average rating in the US for the full-featured version, at least 100 ratings, and were updated within the last year.
(Which is of course roughly what one would expect anyway.)
With these filters, we get 33 results. The following screenshots show the result list, ordered by number of ratings, which gives us a good orientation.
I have cut away some irrelevant apps, and placed the ad-supported and paid versions of the same apps together (future versions of App Finder will place apps by the same developer together automatically ).
Reading App Finder’s result list
The numbers left of the colorful stars are the average user ratings calculated by Google Play, the top one for the United States, the bottom one the whole world. (App Finder can also show the ratings for any other country supported by Google Play.)
The stars represent the rating distribution: The size (that is, area) of the stars is proportional to the number of 5-, 4-, 3-, 2-, and 1-star ratings (from green to red). Between different apps, the star-size is correlated with the total number of ratings at a logarithmic scale.
Paid apps without an indication do not contain ads. For apps with in-app purchases, the price range is shown in parentheses.
Spoiler: Result list
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Search by functionality
Since there may be advanced calculator apps that are not called scientific or graphing calculator by the developers, I have done a search by functionality mentioned in the description also.
It is of course very difficult to predict which features a developer would choose to include in the description and what words would be used.
But if we only refer to functionality that is very important and popular, and consider alternative descriptions, we can expect to miss only few good apps, if any.
Choosing differentiation, equation solving, and graphing as such functionality, we arrive at a query like
Query 2: differentiate/derivative equation/algebra graph/plot
(Remember that App Finder equates different forms of a word. E.g., calculate also searches for calculator, differentiate also for differentiation, and integrate also for integration and integral.)
(With the simpler query derivative equation graph we miss two relevant apps, Wolfram Alpha and Algeo.)
Without filters, this query gives 264 results.
Again looking through the list and testing promising apps I found that all the best apps here probably have at least 4.2 stars average rating in the US, at least 1 million downloads for the free version, and were updated within the last two years.
With these filters, the query gives 14 results. Below you see the complete list ordered by “relevance”.
While I had to try some different keyword combinations and filters to arrive at this, the result is quite impressive:
The list probably includes all the best advanced calculator apps, no irrelevant apps, only few apps which I would not recommend, and the app that I would rate as the best overall is first in the list.
Spoiler: Result list
Additional searches
I have also repeated the query with -graph/plot instead of graph/plot to check if there are good advanced calculator apps without graphing, but this seems not to be the case.
I have searched for graphing apps specifically with graph/plot function trace and graph/plot function 3D. The latter query yielded 3 additional interesting 3D graphing apps (Grapher– Equation Plotter, Visual Math 4D, and Graphing Calculator 3D).
I have searched for CAS apps specifically with "computer algebra system", which yielded Maxima for Android and Xcas Pad.
Summary of the review and recommendations
Since the introduction of Android in 2008, independent programmers from around the world, as well as small and large companies, have developed hundreds of calculator apps (as we have seen, there are currently at least 432 apps with the phrase scientific calculator or graphing calculator in title or summary available on Google Play).
There is currently no single app with as comprehensive, reliable, and convenient calculation functionality as the best hardware calculators (like the TI-89, TI-Nspire, or Casio fx-CG500 / ClassPad).
However, for many purposes there are perfectly suitable apps, which are sometimes even preferable if one has a hardware calculator at hand (e.g., for graphing).
Note that there are also emulators available for Casio’s and HP’s flagship CAS calculators (but not TI’s), which however greatly suffer from emulation related problems.
For almost all purposes, a combination of the best native Android apps (e.g., Hiper Calc, GeoGebra, and WolframAlpha, see below), is probably the best choice.
Advanced general-purpose calculators
There seem to be essentially 3 advanced general-purpose calculator apps currently (see my definition above).
Of these, I would rate Hiper Calc as the best overall. Its numeric and symbolic calculation functionality is rather comprehensive and seems to be quite reliable. It is very easy to use and often very efficient. Important disadvantages are weaknesses with symbolic computation and small bugs, and very limited graphing.
Scientific calculator plus 991 has a more extensive calculation functionality than Hiper Calc (e.g. for statistics), and its symbolic calculation is more powerful in some areas (simplification and integration). However, it has some bugs and inconveniences, not all functionality is well organized and documented, and 3D graphing is missing.
(There are some very similar apps that may possibly be used instead of the Plus 991.)
Scientific Calculator by Philip Stephens may be chosen for 3D graphing (see below), some user interface advantages, and maybe for statistics. Its numeric calculation functionality seems to be good, but symbolic calculation is very limited. While the user interface has some great features, it also has significant issues, and documentation is missing.
Apps for difficult symbolic and numeric calculations
In general, WolframAlpha (based on the leading mathematics software Mathematica) can be recommended as the most powerful tool for difficult calculations on Android. It can also give further information on definitions and concepts, and often show intermediate calculation steps. However, it does not work offline, and expressions cannot be entered in textbook notation.
Maxima for Android is the long-established open-source computer algebra system Maxima with a command-line interface. Xcas Pad is another open-source computer algebra system with a command-line interface .
The best alternatives seem to be GeoGebra, Symbolab, and maybe Maple Calculator, which all support entry in textbook notation. GeoGebra works offline and is based on the open source CAS Xcas/Giac, but does not give intermediate calculation steps or further information. Symbolab and Maple Calculator often give intermediate calculation steps, but no further information.
For equation solving, Hiper Calc seems to work well also, but it has problems with simplification and symbolic integration. For symbolic integration, Plus 991 seems to work well also, but it has some bugs and problems with equation solving.
WolframAlpha sometimes shows the results in a more complicated form than other apps, and in one of my tests it did not return all minima of a simple function, while Hiper Calc did this. So, it may sometimes be a good idea to check with different apps.
Apps for graphing
For 2D graphing, Plus 991, Graphing Calculator + Math, Desmos, and GeoGebra are probably the best, with different advantages and shortcomings.
For 3D graphing, GeoGebra and Scientific Calculator by Philip Stephens seem to be clearly the best, also with different advantages and shortcomings.
GeoGebra and Graphing Calculator + Math may also be used as a “general-purpose calculator”, however the keys are quite small on phones for quick calculations.
Apps for longer complicated calculations and programming
MATLAB Mobile allows to create and execute MATLAB scripts in the cloud. MATLAB is a full-featured programming language, extensive numeric and symbolic calculation functionality is available, and 2D and 3D graphs can be created (but not navigated).
For tablets, a “notebook interface” is also available, where the code is placed on an interactive document together with the calculation results, graphics, and formatted text. While this concept is optimal for longer complicated calculations, there are serious problems with the interface of the app currently.
micro Mathematics is another calculator app with a notebook interface (for phones also). It seems to work reliably, however the input mechanism is quite inefficient, and symbolic computation and programming are missing.
GeoGebra and Graphing Calculator + Math also have kinds of (more limited) notebook interfaces.
Plus 991 seems to have a full-featured programming language, however there are significant issues currently.
Graphing Calculator (X84) includes TI-BASIC programming.
Scientific Calculator Scalar has limited scripting functionality.
The Casio fx-CG500 / ClassPad emulator might also be chosen for a “notebook interface” (eActivity) and for programming, however there are emulation related inconveniences.
The web-interface of SageMath might also be used, however it is quite inconvenient on phones.
An alternative would be to use a general programming environment with math libraries like SymPy, but this is beyond the scope of this review.
Apps for simple calculations
ChampCalc Scientific Calculator is a very sophisticated and customizable "basic" scientific calculator.
TechCalc Scientific Calculator includes formulas for many important mathematical, scientific, engineering, and financial applications.
Scientific Calculator Scalar allows to define custom functions easily, and has some scripting functionality.
Panecal Scientific Calculator may be very efficient for longer simple calculations.
CalcTastic has comprehensive base-n calculation functionality.
Graphing Calculator – Algeo and Jade Scientific Calculator have a simple and convenient user interface and some advanced features.
If more advanced features are needed, Hiper Calc can be recommended as the easiest to use advanced calculator.
Apps that imitate hardware calculators
Scientific calculator plus 991 has essentially the keyboard layout of the Casio fx-991 calculators, while being much more powerful.
Graphing calculator plus 84 83 has essentially the keyboard layout of the TI-84 calculators, while being much more powerful.
Graphing Calculator (X84) imitates the TI-84 quite closely, still making use of the touch-interface of Android devices.
If you find this review helpful, please read the note at the end of this page.
Introduction to the reviews of individual apps
I list all apps that looked promising to me from the store descriptions (as described in the section about the searches above, I have looked through several hundred apps).
For the apps that I would not recommend after testing, I only give the Play Store data and quickly explain the problems.
For the apps that I would recommend, I give screenshots and more information.
For apps that I would recommend for regular use, I give complete “feature lists”. For the others, I only note distinguishing features.
Reading the feature lists
In the feature lists, I take the “essential” (blue) features from the above lists as the baseline.
As advantages, I note especially good implementations and additional features. As disadvantages, I note bugs, bad implementations, and missing “essential” features. This may be a bit confusing, but I see no better way.
So, to make sense of the feature lists in the reviews, you must read the blue in the lists above.
If you are looking for apps with a specific feature, just use the search of you browser, all reviews are on this page.
I always review the full-featured and ad-free versions. For the good apps these are all available at a very fair (or more than fair) price.
Reading the Play Store data from App Finder
The numbers left of the colorful stars are the average user ratings calculated by Google Play, the top one for the United States, the bottom one the whole world.
The stars represent the rating distribution: The size (that is, area) of the stars is proportional to the number of 5-, 4-, 3-, 2-, and 1-star ratings (from green to red). Between different apps, the star-size is correlated with the total number of ratings at a logarithmic scale.
Paid apps without an indication do not contain ads. For apps with in-app purchases, the price range is shown in parentheses.
Advanced General-Purpose Calculators
Hiper Calc
This app stands out with quite comprehensive, reliable, and powerful functionality, and an exceptional user interface.
It seems to be very good at equation solving and minima / maxima finding (however there also is a bug).
On the other hand, there are significant problems with simplification, more complicated integrals cannot be solved symbolically, and statistics is very limited.
Graphing is very limited but still useful.
The functionality is very well organized and efficient and easy to use, but it still has some inconveniences, see the feature list.
Numeric and symbolic calculation
Symbolic computation essentials:
Bad Already some easy simplifications are not done, e.g., ln(2)+ln(3) is not simplified to ln(6), and 2x/(x^2-1)-1/(x-1) is not simplified to 1/(x+1)
Bad In results, polynomials are always given in expanded form, which not always is the simplest one
Feature Factorization, but works only with one variable.
Equation solving:
BUG In some cases it incorrectly returns “No solution exists”, e.g., for sin(1/x) = 0, and for ln(x*y) = ln( y)
Feature Equation systems, entered one equation per line
Feature Inequalities
Good Apart from some special cases (see above), equation solving seems to work very well, and quite complicated equations and equation systems can be solved symbolically, and even more complicated ones numerically. Periodic solutions are handled well.
Differentiation and integration:
Bad Some more complicated integrals cannot be solved symbolically even if they are elementary, e.g. (e^x-1)/(e^x+1). Nonelementary integrals cannot be solved symbolically.
Other calculus and analysis:
Feature Symbolic minima and maxima, also for periodic functions.
Good It correctly found all minima of sin(1/x), what WolframAlpha did not
Statistics and probability:
Missing Only one-variable statistics
Bad Input of data is inconvenient, especially with frequencies.
Missing No regression
Feature High precision calculation with up to 100 digits significand and 9 digits exponent
2D and 3D graphing
Missing Graphs are only shown in the “calculation details”, and only one graph can be drawn at a time (or two for equations)
Graph types:
Missing No parametric plots
Feature Implicit plots in 2D, but for equations involving periodic functions only one “branch” is shown, e.g. for sin(x+y) = 0
Display:
Good Both 2D and 3D graphs are high quality
Navigation:
Missing 3D: No complete navigation: Rotation only around z axis, inclination cannot be changed
Bad 3D: One must change between rotate and translate/zoom “modes” (one finger for rotate and 2 for translate/zoom would be more convenient)
Bad Equal / independent scale of axes in 3D does not to work well
Analysis:
Missing Tracing
Environment and user interface
Variables and functions:
Feature Custom-named variables
Feature User-defined functions that can be used in numeric and symbolic calculations
However, note that variable names other than x and y and function names cannot be typed but must be inserted from a menu. Also, variables other than x and y must be defined in this menu before they can be used in symbolic computation. While this is an inconvenience, one may get used to it.
Input and output:
Missing Parts of expressions cannot be selected and copied, only the whole input or result can be copied.
Missing No undo & Redo
Good Keyboard is well designed.
Bad Since recently, the equal sign must be selected from a menu.
Feature Automatic calculation without tapping enter key
Feature Good “Quick Info”
Adaption and customization:
Feature Tablet layout that makes good use of the space available (but only in landscape layout)
Feature Different predefined keyboard layouts and custom keyboard layouts
Feature Many high-quality themes
Bad For larger calculations (e.g. equation systems) the small display area is inconvenient. When the display text size is reduced, the display becomes also smaller (and the keys larger) so that no vertical space is won.
(When multi-line display is enabled the keys are much too small on phones. A solution is to define a custom keyboard with more columns which makes the keys smaller and thus the keyboard lower.)
Documentation and source
Good There is a well-organized complete in-app help.
Scientific calculator plus 991
This app stands out with very extensive and quite powerful calculation functionality.
However, it has some worrying bugs (see below).
Simplification and symbolic integration seem to be very good, but there are problems with equation solving and minima / maxima finding. Its statistics features are quite comprehensive.
2D graphing is good but has inconveniences. 3D graphing is missing.
The user interface is sophisticated, but some functionality is not well organized and documented, and there are many inconveniences.
Numeric and symbolic calculation
Symbolic computation essentials:
Feature Domain constraints, but they are not exploited sometimes, e.g., Ln(x*y)-Ln(x) with x>0 and y>0 is not simplified to Ln( y). (Input: Simplify(Ln(x*y)-Ln(x), x>0 and y>0))
Equation solving:
BUG When trying to solve an equation by just entering it or using SHIFT-SOLVE, inexact results are often returned, e.g., for sin(x) = x, something like [x=-0.0000083, x=-0.0000017] is returned. Using the Solve function, [x=0] is correctly returned.
BUG Even with Solve, equations involving periodic functions are often not correctly solved, e.g.:
For sin(x) = 0 only 0 is returned as solution; for sin(x) = cos(x) two complicated (although correct) numerical expressions are returned instead of the simple exact solution.
For sin(x) = x/2, sometimes [x=-1.89…, x=1.89…], and sometimes [x=0] is returned.
Feature Equation systems
Differentiation and integration:
Good Powerful symbolic integration, even some nonelementary integrals can be solved with special functions, e.g., logarithmic and exponential integrals and Fresnel integrals (however these functions cannot be plotted).
Also, for complicated integrals like x/(1+sin(x)), for the same input, sometimes operation is not supported is returned, and sometimes the correct solution.
Other calculus and analysis:
BUG Minima and maxima are often not correctly calculated, e.g., for x^4-x^2, only x=-1/4 is returned as minimum, for periodic functions also only one minimum and maximum is returned.
Bad No one-sided limits
Statistics and probability:
It may take some time to learn to use the statistics features, but they seem to work quite well.
Bad Data editor shows no row numbers.
Feature Extensive distribution calculation functionality with many distributions (I did not test this much).
Feature Statistical tests (at least in the Plus 84 83, see below)
Feature Confidence intervals calculations (at least in the Plus 84 83)
Feature It has hundreds of advanced functions that are named as in WolframAlpha and Mathematica, e.g., Series, Fourier, PowerExpand, ApplySides(~600 documented, ~300 I could find in the menus). However,
I did not test them and don’t know if they work reliably.
The inconvenience of the interface (e.g., that parts of expressions cannot be copied, and that equation systems must be entered in one line) makes more complicated calculations tedious, so that I question the usefulness of many of them.
The functions cannot be typed, and there is no alphabetic list from which they can be inserted.
Feature Programming:
It seems to have a full featured programming language that can interface the calculation functionality (Symja). However, the print function and graphics output seem not to work (only the result for the last line is printed automatically). Also, files cannot be saved.
2D and 3D graphingNo 3D graphing.
Bad The functions to draw must be entered in linear form (i.e. not textbook form), or all in one line separated by :
Feature 3 workspaces
Graph types:
Feature Implicit plots
Display:
Bad Grid is quite coarse (and cannot be adjusted)
Navigation:
Feature Independent scale of axes
Bad No simultaneous pan and zoom with 2 fingers
Analysis:
Good Tracing is well implemented, tangent can also be shown
Good Derivative can also be shown, inflection points can also be shown
Environment and user interface
Variables and functions:
Feature User-defined functions that can be used in numeric and symbolic calculations
Input and output:
Missing Parts of expressions cannot be selected and copied, only the whole input or result can be copied
Missing No undo & Redo
Feature Automatic calculation without tapping enter key
Feature Good “Quick Info”
BUG When copying expressions from the history, it often returns incorrect results, even if it retuned the correct result the first time the expression was entered.
Missing No import / export
Adaption and customization:
UI is good for both small and large phones, but not tablets
Feature Many high-quality themes
Bad Not convenient for symbolic computation, e.g.,
Variable x and equal sign are not accessible with one tap
For most symbolic computation one must switch between the main and a 2nd keyboard, whose keys are not well organized
Equation systems must be entered in one line
Documentation and source
Bad Help is not well organized
Feature Help can be searched (but not full-text)
Feature Function / command reference with search (but not full-text) and examples
Source: Although the developers do not state this, the app is based on the open source CAS Symja, “inspired by Wolfram Language built-in functions”, and implemented in Java.
Scientific Calculator 300 Plus,
Graphing calculator plus 84 83,
Scientific calculator 36 Plus,
Scientific calculator 30 34,
Calc 991 Scientific Calculator
These apps clearly share much code with the Plus 991, even if different developer names are used: Essentially all UI elements other than the keyboard are the same in each of them, and the Symja CAS library is also used (see above).
Thus, it can be expected that they share most of the advantages and disadvantages with the Plus 991.
The main difference seems to be that they are modeled and named after different Casio and TI calculators, and some have a more limited functionality.
Scientific Calculator 300 Plus seems to be essentially the same as the Plus 991.
Graphing calculator plus 84 83 has a significantly different layout, resembling the TI-84 often very closely. It may be better for statistics. Also, it has an alphabetical function catalog.
Below you see the first three.
Scientific Calculator (by Philip Stephens)
This app stands out with very powerful 3D graphing and some important user interface features that are missing from most or all other calculator apps (see the feature list).
Numeric computation seems to be good, and the statistics and probability functionality is extensive.
Symbolic computation is very limited however.
There are great graphing features (e.g. implicit surfaces), but also problems with graphing.
While the user interface has some great features, it also has significant inconveniences. Documentation is missing, and many things are not obvious.
Numeric and symbolic calculation
Symbolic computation essentials:
Bad Calculation with exact values mostly does not work:
E.g, pi²/pi gives pi, but (pi²+pi)/pi already gives a decimal or is not simplified at all. Using the sym() function from sym-menu helps sometimes but not for more complicated expressions
Bad Similarly, expressions with variables are only simplified in very simple cases
Equation solving:
Bad The expected problems with simplification
Bad Equations with parameter variables cannot be solved
Feature Equation systems (up to 3 equations), but maximal one solution is shown
Feature Specification of variable range, but only for equations in one variable
Differentiation and integration
Bad Only very simple integrals can be solved symbolically. Integrating e.g. Ln(x)², or 1/(1+x)^2 returns “undefined”
Specific multiple / nested operations, but special templates must be selected
Other calculus and analysis
Missing No min / max finding,
Bad Sums and products of sequences only numeric
Bad Limits only numeric
Feature Taylor series
Matrices and vectors
Feature Vector calculus
Statistics and probability
(I did not test this much)
Missing No plots
Feature Confidence interval calculations
Feature Many statistical tests
Feature Many probability distribution calculations
Feature Random number generators for normal, Poisson, binomial distributions
2D and 3D graphing
Graph types:
Missing No parametric surfaces
Feature Implicit plots with high quality
Feature Spherical, and cylindrical graphs
Feature “Inverse” and implicit plots also for polar, spherical, and cylindrical coordinates
Feature Inequality plots
Feature Complex plots where real and imaginary parts are shown in two separate 3d graphs.
In these plots it is however difficult to relate real and imaginary part, especially since rotation is not linked.
Feature Many special functions like Error and Gamma function can be used for graphing
Display:
Good Both 2D and 3D graphs are high quality
Good 2D: Grid with major and minor lines that adapts to zoom by fading lines in and out
Missing No landscape orientation
Navigation:
Feature Independent scale of axes
Good Individual translation in coordinate directions
Good Individual scale of coordinate axes by using two-finger-pinch on the axis-controls, this is not documented!
Bad No translation perpendicular to view-direction
Missing 3D: No equal scale of axes. Two-finger zoom does not work to change the drawing area.
Analysis:
Bad Tracing works very poorly
Environment and user interface
Variables and functions
Only x, y, z can be used as variables. Additionally, there are 5 memories, and 5 constants can be defined.
Feature User-defined functions
Input and output:
This is the only app where parts of expressions can be selected and copied in textbook notation. This generally works as expected but could be improved. Pasting at a specific location is inconvenient or impossible because long-tap triggers selection.
Missing No undo/redo
Feature Automatic calculation without tapping enter key
Good Keyboard is well designed for numeric calculations
Bad History limited to 10 calculations
Missing No import / export
Adaption and customization:
Good Multi-touch display zoom
Feature Scalable keyboard
Feature Custom colors for all UI elements
Documentation and source
Missing No help document, only a few hints when using some features for the first time.
Casio fx-CG500 / ClassPad Emulator
This emulator of Casio’s flagship CAS calculator is clearly one of the most comprehensive and powerful calculator apps.
However, it greatly suffer from emulation related problems, e.g.
Graphs cannot be navigated with multitouch and are low-resolution.
Input of expressions is very inconvenient since the physical keyboard is not emulated, and one has to switch between different virtual keyboards often, which requires much tapping, and the keys are very small on phones.
HP Prime Emulator
This emulator of HP’s flagship CAS calculator is not quite as comprehensive and powerful as Casio’s.
It shares with it most of the emulation-related problems like low resolution. While it supports multi-touch and the hardware keyboard is emulated, the display area is much smaller than Casio’s.
Graphing Tools
GeoGebra
This app stands out with exceptional 3D graphing (however there are problems with implicit surfaces).
2D graphing is also good, but tracing is missing.
It may also be used as a “general-purpose calculator”, however the keys are quite small on phones for quick calculations.
Numeric and symbolic calculation seems to be very well in general, but there are problems with simplification, and statistics, scientific constants, and unit conversion are missing.
The user interface is sophisticated and intuitive to use. However, a complete user guide is missing, and some things are not obvious.
Note that GeoGebra consists of several apps (mainly Graphing Calculator, 3D Calculator, CAS Calculator, and Geometry), that are available as a suite or singly.
Numeric and symbolic calculation
Symbolic computation essentials:
Bad Some simple expressions are not simplified automatically, e.g., e^pi/e^(2pi), or e^x/e^(2x). The Simplify function does simplify them however.
Feature Factorization, expansion, substitution
Feature Domain constraints
Equation solving
Equation solving seems to be quite powerful in general, but there are some problems, e.g., sin(x)=x can only be solved numerically
Feature Equation systems
Feature Inequalities
Differentiation and integration
Good Symbolic integration is powerful, quite complicated elementary and nonelementary Integrals can be solved.
However there are sometimes problems with the simplification. (E.g., for the integral of x/(1+sin(x)), a very complicated expression is shown while the solution can be written much simpler. When differentiating the retuned solution, an even more complicated expression is shown, not the originally integrated expression)
Other calculus and analysis
Feature Taylor expansion
Feature First and second order ordinary differential equations solving, numeric and symbolic.
Matrices and vectors
Bad Matrices must be entered in linear form
Statistics and probability
Missing No statistics
Missing No regression
Feature Probability distribution calculator with graphical UI
Missing No base-n calculation
Missing No scientific constants and unit conversion
2D and 3D Graphing
Graph types
Feature Implicit plots, however it does not draw more complicated implicit surfaces like 4*(x^2+y^2+z^2)+16*x*y*z = 1 (Cayley surface)
Feature Slope field plots for differential equations
Display
Feature 2D: Customizable grid with major and minor lines
Feature 3D: optional semitransparent x-y-plane and x-y-grid
Feature 3D: variable transparency and wireframe surfaces
Feature 3D: Orthographic and perspective projection
Feature Animation of parameter variables with sliders
Navigation
Feature 3D: Automatic (continued) rotation, parameters can be changed while the graph is rotating
Feature 3D: Augmented reality navigation
Analysis
Missing Tracing
Environment and user Interface
Variables and functions:
Feature Custom-named variables for storing values and for use in symbolic computation
Feature User-defined functions that can be used in numeric and symbolic calculations
Feature Piecewise functions
Input and output:
Missing Parts of expressions cannot be selected and copied, only the whole input or result can be copied.
Feature Automatic calculation without tapping enter key
Feature GeoGebra is also available for iOS, Windows, macOS, Linux, and as web interface. Documents from one device can be saved to the cloud and opened on another.
Adaption and customization:
Bad The keys are quite small for phones
Good Quite optimal for tablets
Documentation and source
Missing No complete user guide. This is a real problem since some things are not obvious.
Feature Function / command reference with search (but not full-text) and examples
Bad Help is fetched from the internet on demand and takes sometimes long to load (several seconds)
Open Source GeoGebra is essentially open source and uses the open-source CAS Giac/Xcas.
Desmos Graphing Calculator
This app stands out with very good 2D graphing and “flexible” regression.
However, it has no 3D graphing and no advanced calculation functionality (Desmos Scientific Calculator also has no advanced calculation functionality).
Good Navigation is intuitive and very smooth.
Feature Animation of parameter variables with sliders.
Feature Regression is not limited to fixed functions as in most other calculators. E.g., for a logarithmic model, not only the function y = a+b*ln(x) can be used, but additional parameters can be used, e.g., y = a+b*ln(x-c).
Feature Also available for iOS and as web interface. Documents from one device can be saved to the cloud and opened on another.
It is very easy to use and has a good user guide.
Grapher – Equation Plotter
This is a good 2D and 3D graphing app, however it has important disadvantages against, for example, GeoGebra and the app by Philip Stephens, e.g.
No “textbook notation”, and no keys for functions like sin(), they must be typed letter by letter
No implicit surfaces
When navigating in 3D, the graphs are updated only after the fingers are lifted
Feature It can draw complex functions using domain-coloring. Also, it can draw both real and complex parts for functions of a real variable.
Visual Math 4D
This app can produce beautiful 3D graphs, however it has important disadvantages against GeoGebra and the app by Philip Stephens, e.g.
Variable ranges cannot be changed by touch-navigation
Implicit surfaces are not reliably drawn, the algorithm seems not to adapt to the selected variable ranges
Feature It can draw 3D vector fields.
Graphing Calculator 3D
This is a 3D graphing app under development. It cannot currently be recommended because e.g.
Variable ranges cannot be changed by touch-navigation
Only one graph can be drawn at a time
Problems with Implicit surfaces
For complex plots, only one component is drawn at a time
No “textbook notation”, and no keys for functions like sin(), they must be typed letter by letter
CAS Answer Engines
WolframAlpha
This app stands out with exceptional calculation capabilities and the possibility to show in-depth information on mathematical (and other) definitions, concepts, and data.
Intermediate calculation steps can often be shown.
Graphing is very limited but still useful.
The user interface is unique in that natural language can often be used to input problems.
Numeric and symbolic calculation
Symbolic computation essentials
Feature Factorization and expansion
Feature Assumptions
Equation solving:
Feature Equation systems
Feature Specification of variable ranges
Feature Inequalities
Differentiation and integration
Good Very difficult integrals can be calculated. If the result involves special functions, these can be defined
Other calculus and analysis:
BUG Finding minima and maxima: For some (even easy) problems, it returns not all solutions, e.g., for minimize sin(1/x), it returns x = -2/(277pi)
Feature Taylor expansion
Feature Differential equations solving
Matrices and vectors:
Feature Vector calculus
Statistics and probability:
Feature Histograms and box plots
Feature Confidence intervals calculations
Feature Many statistical tests
Feature Many probability distribution calculations
2D and 3D graphing
Graph types:
Implicit plots, but more complicated implicit surfaces like 4*(x^2+y^2+z^2)+16*x*y*z = 1 (Cayley's cubic surface) cannot be drawn
Feature Complex plots, but not with domain-coloring
Display
Bad Plots are quite small and cannot be enlarged
Missing Navigation
Missing Analysis
Environment and user interface
Bad Internet connection always required
Good Nevertheless, results appear very fast
Missing Values cannot be saved to variables
Feature Intermediate calculation steps
Input and output:
Missing No input in textbook notation (however the web interface at wolframalpha.com has this possibility).
Missing No undo/redo
Feature Quick info
Adaption and customization:
Missing No dark theme
Documentation and source
User guide seems not necessary
Feature Very many useful examples
Advanced Learning Calculators
Please note that as I said in the introduction, I evaluate also these apps only for their ability to efficiently solve mathematical problems, not for their pedagogical values.
Symbolab
This app stands out with powerful symbolic computation and an easy-to-use and quite efficient interface.
Equation solving seems to work well, and many difficult integral can be calculated.
Intermediate calculation steps can often be shown.
3D graphing is missing and 2D graphing very bad.
Numeric and symbolic calculation
Missing Polar coordinates for complex numbers seem not to be supported
Symbolic computation essentials:
Feature Factorization and expansion
Equation solving:
Bad Some simple equations cannot be solved, e.g. sin(x) = x/2.
Good Apart from some cases (see above), equation solving seems to work very well, also for periodic functions
Feature Equation systems
Feature Inequalities
Differentiation and integration:
Good Symbolic integration seems to be powerful, quite complicated elementary and nonelementary Integrals can be solved.
(the complicated integral of x/(1+sin(x)) is not well simplified)
Other calculus and analysis:
Bad Minima and maxima often cannot be calculated, e.g. for sin(1/x)
Missing For infinite sums, it only returns if it converges, not the value, e.g. for 1/n².
Feature Taylor expansion
Feature Differential equation solving
Missing No random numbers and prime factorization
Statistics and probability:
Missing Only one-variable statistics, no data editor
Missing Regression
Missing No Scientific constants and unit conversion
2D and 3D graphingMissing No 3D graphing.
Missing Most important 2D graphing features are missing. Graphs are not always correctly drawn (try sin(1/x)). Navigation is juddery and inconvenient. Input of functions in the list does not work well.
There is also a separate app called Symbolab Graphing Calculator, but it does not work better.
Environment and user interface
Bad Internet connection always required
Good Nevertheless, results appear very fast
Missing Values cannot be saved to variables
Feature Intermediate calculation steps
Input and output:
The keyboard is quite well designed for phones and leaves a large area for the display. The fly-out keys work well.
Missing No copy and paste
Missing No undo/redo
Feature There is also an iOS app and a web interface. Problems can be synced across devices.
Adaption and customization:
Missing Display text size not adjustable
Documentation and source
Missing No complete user guide
Feature Very many useful examples
Maple Calculator
This app stands out with powerful symbolic computation and an easy-to-use and quite efficient interface.
Complicated integrals can be calculated, but there are sometimes problems with simplification. There are significant bugs and problems with equation solving. No calculation of minima and maxima.
Intermediate calculation steps can often be shown.
Graphing is very limited but still useful.
Numeric and symbolic calculation
Symbolic computation essentials
Bad Expressions are not always displayed in the simplest form, e.g., for 2x^2=pi, it shows the positive solution as √(2)√(pi)/2 instead of √(pi/2) (although in the solution steps, it shows ±√(pi/2) as “intermediate step”)
Equation solving:
BUG Equations involving periodic functions are not correctly solved, e.g., for sin(x)=1/2, only one solutions is shown (i.e., not even all solutions between 0 and pi are shown), for sin(1/x)=0, it shows the empty set as solution
Feature Equation systems
Feature Inequalities
Differentiation and integration:
Good Powerful symbolic integration, nonelementary integrals can be solved with special functions, but no further information is given and no graph is shown. There are sometimes problems with simplification, e.g. for x/(1+sin(x)).
Other calculus and analysis:
Missing No minima and maxima finding
Feature Differential equation solving
Missing No base-n calculation
Missing No random numbers and prime factorization
Statistics and probability:
Missing No data editor
Missing No regression
Missing No scientific constants and unit conversion
2D and 3D Graphing
Missing Only one 3D graph can be drawn at a time (in 2D, multiple functions must be entered in a vector)
Graph types:
Missing No polar plots, not parametric plots
Display
Missing No custom colors
Navigation
Missing Ratio of axes scale is set by the app and cannot be changed
Missing 3D: No complete navigation, graphs are drawn in a fixed variable range that cannot be adjusted
Missing No analysis features
Environment and user interface
Bad Internet connection required for most calculations. Even for the simplest problems, it takes about 1 second until the results are shown, sometimes a bit longer.
Missing Values cannot be saved to variables
Feature Intermediate calculation steps
Input and output:
Good The keyboard is well designed for phones. It is quite efficient to use while leaving a large area for the display.
Missing No copy and paste (although there is a special mechanism to select parts of expressions)
Feature Automatic calculation without enter, even graphs are shown and updated automatically.
Feature Quick Info
Missing No history
Bad When the app is closed, previous calculation is not restored
Feature Calculations can be copied to desktop Maple (did not test this)
Adaption and customization:
Missing Text size cannot be adjusted
Missing No dark mode
Bad Sometimes the app enters fullscreen mode for no reason
Documentation and source
Missing No user guide, just a FAQ that cannot be searched
Graphing Calculator + Math
This app stands out with very good (although not optimal) 2D graphing, quite good 3D graphing, and some useful user interface features that are missing from most or all other apps.
Its calculation capabilities are quite limited however (e.g., simplifications are often not done, more complicated equations cannot be solved, no symbolic integration).
While the user interface has very useful features, it also has significant inconveniences.
The user manual is comprehensive and excellent for people just learning math.
Numeric and symbolic calculation
Symbolic computation essentials:
Bad Limited calculation with exact values (e.g., logarithms are always evaluated numerically)
Bad Limited simplification, e.g. e^(x+1)/e is not simplified
(however, it simplifies 2x/(x^2-1)-1/(x-1) which Hiper does not simplify)
Feature Polynomials are displayed in both expanded and factored form
Equation solving:
Bad Equations involving periodic functions cannot be solved symbolically
Bad Equations with parameter variables cannot be solved
Feature Inequalities
Differentiation and integration
Bad For symbolic differentiation the simplification problems are an issue, e.g., the derivative of ln(√x) is given as 1/(2x^(1/2)* √x) instead of 1/(2x).
Missing No symbolic integration
Other calculus and analysis:
Bad Sums and products of sequences only numeric
Bad Limits only numeric
Statistics and probability
Missing Only 1 variable statistics, no data editor
Missing Only linear regression
Missing No bit-operations
2D and 3D graphing
Missing In 3D, only one graph can be shown at a time
Feature Multiple workspaces
Graph types:
Feature Implicit plots in 2D and 3D.
Good Also more complicated implicit surfaces can be drawn, e.g. 4*(x^2+y^2+z^2)+16*x*y*z = 1 (Cayley's surface), which GeoGebra does not draw. However, Scientific Calculator by Philip Stephens draws implicit surfaces in much better quality.
Display
3D: Perspective projection only
3D surfaces display: Wireframe only
Navigation
Feature Independent scale of axes in 2D, well implemented.
Missing No simultaneous pan and zoom with 2 fingers
3D: Complete navigation, but not very efficient (and unusual)
Analysis
Good Tracing is well implemented, also “reverse” tracing with a horizontal line
Environment and user interface
Variables and functions:
Feature Custom-named variables
Feature User-defined functions that can be used in numeric and symbolic calculations
Input and output
Bad Much functionality is hidden behind unlabeled keys (e.g., for integrals and derivatives, long-tap the x^n key!)
Missing Input of expressions in linear notation (simultaneously, they are displayed in textbook notation, which can also be tapped to position the cursor). The advantage over most other calculators is that parts of expressions can be selected and copied at least in this way.
Bad Very limited undo
Feature It has a limited “notebook interface” where elements can be rearranged and comments can be added.
Feature Multiple workspaces, however all variables and functions are shared
Adaption and customization:
The keys are quite small for phones (the keyboard can “resized” to fewer, larger keys, but then important functionality is missing).
Bad User interface does not adapt to different screen sized and orientations
Documentation and source
Good The user manual is really comprehensive and excellent for people just learning math, available online and as PDF.
Photomath,
Mathway,
Microsoft Math Solver
These apps are similar to Symbolab and Maple Calculator (they also recognize problems from photos and show step-by-step solutions), however their calculation capabilities seem to be more limited, as the following comparison shows.
SymbolabMaplePhotomathMathwayMicrosoftsolve sin(1/x) = 0correct not simplifiedwrong (empty set)xxcorrectsolve ln(x) = -xcorrectcorrectxcorrectxsolve sin(x) = x/2xonly 1 solutionxcorrectxsolve ln(x*y) = y*ln( y) for xcorrectcorrect not simplifiedxcorrect not simplifiedcorrectintegrate (e^x+1)/(e^x-1)correctcorrect not simplifiedcorrectxxintegrate x/ln(x)correctcorrectxxxintegrate 1/(1+sin(x))correctcorrectcorrectxcorrectintegrate x/(1+sin(x))correct not simplifiedcorrect not simplifiedxxx
HiEdu Scientific Calculator,
Scientific Calculator He-580
These apps may be good for learning math, however their capabilities are very limited, e.g.:
No symbolic computation
The equation solver can only give one solution
Graphing is limited to simple polynomials
Also, they hide status bar and action bar, and there seems no way to show them permanently.
Advanced calculators of other types
MATLAB Mobile
This app allows to create and execute MATLAB scripts in the cloud.
Feature MATLAB is a full-featured programming language, extensive numeric and symbolic calculation functionality is available, and 2D and 3D graphs can be created (but not navigated).
The standard editor seems to work well and provides a custom keyboard, autocompletion, and syntax highlighting.
A command-line is also available.
Feature For tablets, a “notebook interface” is also available, where the code is placed on an interactive document together with the calculation results, graphics, and formatted text.
While this concept is optimal for longer complicated calculations, the app has serious issues with this currently. E.g., a stable internet connection seems to be always required while editing, the cursor cannot be moved with the arrow keys, and when text is selected, the keyboard disappears.
Already for working with the standard editor, the dependence on the cloud may be a disadvantage of course. Even with Wi-Fi, the connection gets lost from time to time, and one has to wait until the program is executed, or until one can continue editing.
Maxima on Android
This is the long-established open-source computer algebra system Maxima (with roots going back to the 1960s) with a command-line interface.
Sadly, it was not updated since 2018, while Maxima is under continuous further development.
Features include
Autocompletion of commands
Results in LaTeX
2D and 3D graphs using Gnuplot (which cannot be navigated however )
User guide for Android and complete Maxima manual
Xcas Pad
This is the open-source computer algebra system Xcas/Giac with a command-line interface.
Compared to Maxima, it lacks graphing and a user manual (a command reference is available).
Note that GeoGebra is based on Xcas/Giac.
micro Mathematics
This is a calculator app with a “notebook interface”:
Feature Definitions of variables and functions, calculations, 2D and 3D graphs, text, and images can be placed on an interactive document.
While this concept is optimal for longer complicated calculations, the interface of the app is quite inefficient. For example, to enter sin(x)^2+1, you have to
Type sin(x
Long-tap sin
Type ^2
Long-tap sin
Tap the “expand selection” button
Type +1
(This could admittedly be done more efficiently by starting with the outermost operator, i.e. + in this case. But note that when modifying an expression, e.g. adding a summand, this will not work.)
The calculation and graphing capabilities are quite limited:
No symbolic calculation.
The equation solver cannot find more than one solution and does not work reliably.
Graphs cannot be navigated by touch, the variable ranges, and view angles for 3D, must be typed.
The z-range for 3D plot cannot be defined.
No implicit plots.
A good user manual is available.
Open Source, see here.
DYsolve Math Solver
This is another calculator app with a “notebook interface”.
While expressions are typed in standard linear notation, which is faster than the method of micro Mathematics, there are serious problems currently, e.g.
Selecting, editing, placing and moving elements does not work well, and sometimes not at all
A bug on newer devices, the whole screen becomes blue sometimes and working on is not possible
The keys are very small on phones
The calculation and graphing capabilities are quite limited as well. I has a numeric solver for equation systems and ordinary differential equations (I did not test this), however
No symbolic calculation
3D graphs can be navigated using sliders only, which is inefficient, and view changes are not persisted
Z-range for 3D plot cannot be defined.
No implicit plots.
It is stated that it supports if/else blocks and for and while loops, however this is not described in the help and I did not find examples.
The app is aimed at engineering students, and there are worksheets for example problems available online.
I will include screenshots when the user interface is improved.
SMath Studio
This is a further calculator app with a “notebook interface”.
It seems to support differential equation solving and programming, however the user interface is very limited, and I could not find out how to enter more complicated expressions.
TechCalc Scientific Calculator
This is a uniquely comprehensive “multi-function calculator” with many specialized calculation modes for mathematical, scientific, engineering, and financial applications.
Feature It includes many important mathematical, mechanical, electrical, chemical, financial, and other formulas, ready for calculation. Further custom formulas can be added.
Feature It also has reference sections, e.g. differentiation & integration rules, statistics formulas, the periodic table, etc.
Feature There are several further useful features, it is appropriately called a "Swiss Army Knife".
While it has some advanced functionality like symbolic integration and 3D graphing, it is in general unsuitable for advanced mathematics:
The calculation functionality is distributed over many modes and sub-modes, e.g. for symbolic derivatives, numeric derivatives, symbolic integrals, numeric integrals, limits, etc.
Expressions involving derivatives, integrals etc. are not supported, so that for example the divergence or curl of a vector field cannot be calculated in one step.
Similarly, the graphing functionality is distributed so that for example a function graph and an implicit graph cannot be plotted together.
Further, textbook-style input is not supported, and editing expressions is inconvenient: To make changes in places other than the end, one must switch to an “edit mode” by long-tap, and switch back again before the result can be shown.
The interface is idiosyncratic, but well-organized comprehensive help is included.
Scientific Calculator Scalar
This is a calculator app with a command-line interface, some advanced calculation features, some scripting functionality, and limited 2D graphing.
Feature Advanced calculation features:
Expressions can be saved to variables (“arguments”) and reference each other
Functions can be defined and can reference each other, also recursively
Variadic and piecewise functions can be defined
Sums and products with conditionals
“rep” statement for repetition with a fixed range of variable values
“if” function for simple alternatives
Very many special functions, like gamma, log-gamma, and digamma function, error function, etc.
Prime-counting function using the sieve of Eratosthenes, and approximations
Arbitrary-base numbers
Random variables for different ranges and distributions
Feature Scripts can be created, and the editor works well. However, the possibilities are quite limited since there are no flexible loops, no GOTO, and control structures cannot be nested.
Feature 2D graphing is well suited for discrete functions.
Otherwise, the calculation and graphing capabilities are quite limited:
No symbolic calculation
The equation solver cannot find more than one solution
Graphs cannot be navigated by touch, the variable ranges must be typed
(they can be zoomed and then moved by touch, but are not recalculated by this)
Only 3 functions can be drawn at a time
No parametric and implicit plots
No 3D graphing
The keyboard is quite well designed, with scrollable key rows. It is efficient for phones while leaving a large display area. However, it does not adapt to tablets.
The app is easy to use, and there are many in-app hints, examples, video tutorials, and a long user manual, which is quite repetitive however.
Source The expression parser is open source, see here.
Intermediate scientific and graphing calculators
I use the feature list for basic scientific calculators as baseline here (scroll down this post).
Graphing Calculator – Algeo
This app has a simple user interface but some advanced features like 2D graphing.
The textbook-notation input and the always visible calculation history are very convenient.
Calculation:
Missing Random numbers, prime factorization, lcm
Feature Fractions
Feature Complex numbers
Feature Very limited equation solver (returns NaN for sin(x) = 1 and 1/x = -1)
Feature Symbolic differentiation, Numeric integration, Taylor series
Feature One variable statistics
Feature Calculation with units and unit conversion
Feature scientific constants
Graphing:
Feature 2D cartesian, polar, and parametric plots with tracing
Memories/variables, functions:
Bad Only 4 memories, saving is inconvenient
Input and output:
Feature Input in textbook notation
Feature Automatic calculation without tapping enter key
Number formatting:
Missing No custom number of decimal places
Jade Scientific Calculator
This is another app with a simple user interface but some advanced features.
The textbook-notation input and the always visible calculation history are very convenient.
It has some useful customization options.
Calculation:
Missing Random numbers, prime factorization, gcd, lcm
Feature Calculation with exact expressions like fraction, roots, pi
Feature Simplification of expressions with variables
Feature Numeric and symbolic differentiation and integration,
1/(1+sin(x)), but not others
but no equation solving
Feature Complex numbers (rectangular)
Feature Scientific constants
Input and output:
Feature Input in textbook notation
Number formatting
Missing No custom number of decimal places
Adaption and customization
Feature Different keyboard sizes
Missing No user guide, and some things are not obvious
Graphing Calculator (X84)
This app is designed to closely resemble the TI-84, while making use of the touch-interface of Android devices.
It seems to do this really well, but graphing could be implemented better.
Also, it seems to include virtually all functionality of the TI-84 calculators, including programming in TI-BASIC (but not Python).
Calculation:
Feature Complex numbers
Feature Calculation with fractions
Feature Base-n calculation
Feature Numeric equation solving (1 real variable)
Feature Numeric differentiation and integration
Feature Numeric minima and maxima finding
Feature Sums and products of sequences
Feature Matrix calculation
Feature Base-n calculation: conversion and bitwise operations for bases 2 to 16
Feature One and two variable statistics with histograms
Feature Statistical tests
Feature Probability distributions
Feature Confidence intervals
Feature Regression with plots
Feature Unit conversion
Feature Scientific constants
Graphing:
Feature 2D cartesian, polar, and parametric plots with tracing
Bad No equal-axes-zoom, no simultaneous pan and zoom with 2 fingers
Bad Quality is unnecessarily low (visible for functions like sin(1/x))
Bad Grid not adapting well to zoom
Programming
Feature TI-BASIC
Memories/variables, functions
Feature Saving expressions
Input and output:
Feature Input in textbook notation
Feature Undo & Redo
Bad Status bar is hidden and cannot be shown permanently
Feature Function / command reference
Class Calc Graphing & Statistics
This app has a quite sophisticated interface, and statistics and regression seem to be implemented well.
However, it has serious bugs and problems, e.g.:
For the derivative of e^x, it returns something like (1196457)^-x*(32535443)^x (a fraction-approximation of e^x)
For the integral of 1/(1+sin(x)) it incorrectly returns ln(1+sin(X))
It seems not possible to solve equations
No complex numbers
Zooming of graphs does not work well
The web interface has the same problems.
NumWorks Emulator
This is an emulator of a good intermediate scientific graphing calculator, however it is quite inconvenient since it supports input over the emulated keyboard only.
Scientific Calculator Advanced
This app has some advanced features like 2D graphing, matrix calculations, and equation solving. However, the user interface is inconvenient for this functionality. Also the status bar is hidden and cannot be shown permanently.
Taculator Graphing Calculator
This is another app designed to closely resemble the TI-84.
Serious problems are immediately evident:
Lag between tapping a key and the reaction, getting worse with using the app (restarting helps)
Entering 2π gives 23.1415…
2D graphing: when zooming, the graphs are not recalculated, so that they get jaggy.
(The iPhone version has fewer problems.)
Also, the lifetime Pro version costs $64 (against $2 / $4 for the best apps).
Basic scientific calculators
I use the feature list for basic scientific calculators as baseline here (scroll down this post).
ChampCalc Scientific Calculator
This is a very sophisticated and customizable basic scientific calculator.
Memory/variable management is better than in most advanced calculators. Also, it has advanced base-n calculation and a large and well-organized library of units and scientific constants. There is a comprehensive user guide.
Calculation:
Missing gcd, lcm
Feature Fractions
Feature Advanced base-n calculation for different integer sizes
Feature Complex numbers
Feature One variable statistics
Feature Many scientific constants
Feature Many unit conversions
Feature Large numbers and high precision with up to 100 decimals of significand
Memories/variables, functions:
Feature Memory and variables manager
Feature Storage of expressions
Input and output:
Feature Syntax highlighting and highlight of matching brackets
Feature Automatic calculation without tapping enter key
Number formatting
Feature Repeated decimals
Feature Quick info with prime factorization and value as fraction, mixed, DMS, Roman, BIN, OCT, HEX
Adaption and customization:
Feature Many useful settings like long-tap time
Feature Many high-quality themes and custom colors
Panecal Scientific Calculator
This app may be very efficient for longer simple calculations.
In contrast to most other apps, parts of expressions can be selected and copied.
Calculation:
Missing Random numbers, prime factorization, gcd, lcm
Feature Base-n calculation
Feature Many scientific constants
Feature Many unit conversions
Input and output
Feature Parts of expressions can be selected and copied
Feature Large multi-line display
Scientific Calculator by CalcTastic
This is a quite sophisticated basic scientific calculator with advanced base-n calculation and a stack-interface.
The always visible history is convenient, however, the cursor cannot be moved within the input, and copy and paste seems not to work, so previous calculations cannot be modified.
Calculation
Missing Prime factorization, gcd, lcm
Feature Advanced base-n bitwise and bit operations for different integer sizes
Feature Calculation with fractions
Feature Complex numbers
Feature One variable statistics
Feature Unit conversion
Feature Scientific constants
Memories/variables, functions
Missing Variables cannot be used in expressions (only value inserted)
Input and output
Missing Copy and paste does not work
Bad History, but inputs cannot be modified
Adaption and customization
Feature Special keyboard layout for tablets
Feature Many high-quality themes
MathsApp Graphing / Scientific Calculator
This is a quite sophisticated scientific calculator with some advanced features.
The always visible history is convenient, however the keyboard seems to be unnecessarily small.
The price for the full version is quite high comparably.
Calculation
Feature Advanced base-n calculation for different integer sizes
Feature Complex numbers
Feature One variable statistics and Probability distributions
Feature Matrix calculation
Feature Scientific constants
Graphing:
Feature 2D cartesian and polar plots with display of coordinates of intersections, zeros, extrema, but no tracing
Feature Import / export of history
Adaption and customization
Missing No light theme
RealCalc Scientific Calculator
This is a basic old-style one-line scientific calculator. Its more “advanced” features include result history, 10 memories, unit conversion and physical constants, and fraction calculation.
reserved
If this review was helpful to you, I would appreciate if you would check out App Finder.
The review was in this form only possible with it, and it will enable the creation of comprehensive reviews of other kinds of apps, by me or by other people.
Further, App Finder can help anyone to find Android apps with specific features easy, fast, and reliably, as I show here and in the following post. This will also help the developers of innovative high-quality apps that are not yet very popular.
Note that I provide this review and possible future reviews for free and without ads, and the essential functionality of App Finder is also free and without ads.
However, operating App Finder is quite expensive (since Google does not provide an API, the data must be scraped regularly, a page for each about 2.4 million apps for 180 countries = 430 million pages, plus more pages do discover new apps, which is about 73 TB of data. Further, a high-performance database server is needed to handle the search queries), and the creation of App Finder and this review obviously took a lot of time.
Therefore, I would appreciate a review on Google Play and the purchase of an App Finder Plus license, it would contribute to the operation and improvement of App Finder and the creation of other innovative high-quality software.