Hacker News new | past | comments | ask | show | jobs | submit login
Tydlig – Calculator Reimagined for iPad and iPhone (tydligapp.com)
411 points by Istof on Dec 15, 2013 | hide | past | favorite | 147 comments

Great to see more people attacking the underserved math app segment on the iOS.

I'm the author of Scalar (http://scalarapp.com), another calculator replacement for iPhone / iPad. Just tested both versions of Tydlig very heavily, looks like the author ran into lots of the similar math/UI problems as I did when I was working on my app. :) Some approaches he has chosen look similar, some are unique.

Great work, good luck!

I'd love to hear you highlight a few of the unexpected challenges.

For example:

1. When someone enters "1 / 3" how many decimal places you display in the result? My approach: use MAX(4, MAX(decimal_places(entered_values))). His approach: use 3 everywhere.

- Bonus 1: how many decimal places you display when someone enters "sin(3.14)"? What about "sin(1 / 3)"? My approach: use as much space you have on the screen.

- Bonus 2: how do decimal places propagate when you're using refs?

2. What to do when someone taps "=" on the expression where we already have a result? Chinese $2 hardware calculator approach: redo the last operation. My approach: do nothing. Tydlig's approach: insert last result as a ref.

3. What to do when someone enters huge numbers? My approach: trim them to the width of the screen, clearly displaying that, but keep the full figure when doing copy/paste or export to text. His approach: start using E-notation somewhere around 16th figure.

4. In an app like this there's a temptation to stop using cursor because calculators don't have it and you want to be backwards compatible with them. When you create a ref, how to make sure the destination of the ref is at the right position in the expression without introducing a cursor? I.e. how to make sure you're not getting "2 + 3 [ref] + 12" (you need an operator before "[ref]")? My approach: use a semi-rigid table, where operators are separated from operands. Tydlig's approach: use a little cursor, a part of the app I don't like, because your finger normally would block the cursor.

I can go on and on. Math-related stuff is hard.

More to the point, I guess: UX is hard ;-)

The switching to scientific notation around x · 10¹⁶ hints at using IEEE 754 doubles underneath. I wonder what they are using underneath for the math functions (they make it sound like it's custom-built). I spent a while in uni porting math function implementations from C to Java for a simulations framework and noticed that they usually all have the same pattern of selecting many different ways of calculating the result based on the intervals of the operands (to more or less guarantee 15 digits of precision instead of 0–15 as would otherwise be the case).

Cool problems I never would have anticipated! Thanks for sharing!

This looks rather good (sadly no iDevice). Looks as if Apple came up with it, if they weren't so silly with the way they applied their skeumorphism.

I always imagined that if you were aiming for the mathematician market (huge market!!1 /s) you could have an app like that except on a tablet you'd use with a pen. Then you'd just write down calculations and OCR would figure out what you are trying to calculate and do the number crunching (where applicable), and intelligently recognise variables and a lot of different mathematical functions (I just don't like the whole process of going back and forth between my TI and my legal pad). That'd be a mathematician's (or just mine) wet dream.

Something like that exists(for android): MyScript Calculator. It's probably not powerful enough for a matematician, but works for me.

There is a Windows / Office component called "Math Input Panel" for writing equations with a pen and OCR'ing them, and Surface Pro is a tablet you can use with a pen.


But it doesn't do any of the number crunching, mathematical work.

For research mathematicians, working on a tablet would probably just feel cumbersome; why not use a computer?

Some of the copy on your page is not quite right. "Each value could be . . ." -> "Each value can be . . .". There are one or two other places with this improper word usage. Just a heads up.

Thanks! It's hard to be a non-native speaker!

I figured that's what it was. Glad I could help.

How does your app compare to Soulver?

I think very well. :)

Scalar does not deal with plain text as math. At all. Plain text is good on Macs with keyboard as it allows very quick, familiar and intuitive copy/paste and document restructuring, but is terrible on touch screens. That was the main motivation for me to start the project, BTW.

Commenting system is different as well (Soulver simply ignores all non-parseable text).

No RPN. Neckbeard status confirmed.

Calculators are still an unsolved problem for me on glass devices to the point I still religiously carry around an HP50G even though its 6x the size of my phone. Also from some bad experiences, it appears that some "app" calculators are also seriously badly implemented. Even basic trig ops can return stupid values at extremes which makes them untrustworthy. Plus none are reasonably programmable.

My use cases are base conversions, simple CAS stuff, basic engineering calculations, unit conversions, financial (TVM etc) and generic math. I also canned a lot of knowledge in RPL programs over the years from fuel calculations to diagnostic tools and dice rollers etc.

Please can someone solve all these problems (without doing half arsed HP calc emulation).

Yes. I really want a decent, pretty, RPN calc on all the platforms I use. Which rules out any HP emulator. I've got several amazing HP calcs gather dust in a drawer; I want something better than that.

I've been pleasantly surprised with the built in calculator that ships with OSX; it's got a decent RPN mode, good keyboard support, and a nice stack display. Not brilliant, but better than what I've found for Windows or Android. :-/

I use m48+. It's a decent replacement for my trusty old HP48.

Yes m48+ is the best way to have HP 48x. I'd also like to have the emulation of my HP 28S, I'm more used to it.

Actually, I found HP emulators to be really good.

On my iPhone, I use HP-12C emulator from RLM Tools (I found most other emulators to be inferior). When I really need it, I use HP50G.

On the iPad, I use either m48+ or HP50G (it seems to be another fork of the emu48 code). Both work really well given the size of the iPad — very comfortable to use.

In same boat as you. Don't laugh too loud but most of my "math" work is done via ssh (and ssh app on phone) and running octave or R on gigantic datasets.

I went thru the same annoyance on my phone/tablet and although I have droid48, free42, and hc-16C on my android devices I mostly just ssh into a real machine.

I have toyed with the idea of graphical environments like mathematica/maple on a real machine via rdesktop/vnc on my tablet, but I don't do CAS so much as stats where I stick with R anyway. And those apps cost lots of money for something I don't do much of anyway.

Eventually with any problem, either you solve it or reach an event horizon where the UI is too horrific to use anymore. So when I can no longer handle the touch screen keyboard I just disconnect from the screen session (yeah, yeah, I know kids these days use tmux) and reconnect on a real computer complete with keyboard and big display.

For medium sized arithmetic problems (as opposed to math problems), just use google drive's spreadsheet and then I can access it anywhere in the world on any kind of machine I have access to. So that's where "total of this column vs total of that column" level of problems live.

An add on android keyboard built specifically for math, or more specifically for R or octave, would be interesting.

Right: calculator apps still don't compare to Casio hardware.

It's surprising: when smartphones came out I said calculators would be first against the wall.

I use an HP-41CX app for my iPhone. I don't use 90% of its capabilities and it doesn't have the keyboard feel (obviously) of the original but it's pretty good for my purposes. I've used RPN since the late seventies when I got an HP-55 my sophomore year in college so I'm pretty wedded to it.

Couldn't agree more. I regularly use a HP12c, HP48 and HP50G. However, the emulators for all of those are really quite good (for hp12c, get the one from RLM Tools), especially when ran full-size on an iPad.

I am glad to see this effort because we really need some innovation in the world of calculators. The science of making them has stagnated in the late 1990s. HP50G isn't really different from HP48, first introduced in 1990.

I think there is a widespread perception that calculators are no longer needed, because we have all those computers around us. But that simply isn't true. Many people still need to calculate things quickly, and that requires a good tool: a calculator with a well designed user interface. This is where most devices and programs fail. HP worked on this for more than 20 years and got really good at it, until the unfortunate reorganizations that got rid of the calculator division.

I can't think of any other tool that will let me equally easily multiply numbers, convert hex to decimal, work with complex numbers, and compute a Laplace transform.

And even if you are in front of a computer and have a powerful mathematical package available, there remains the problem of the user interface. For example: I use Mathematica for lots of things. But just try entering numbers using engineering/scientific notation: 4.7*^-6 and you'll see this isn't good at all for rapid calculations.

I hope that someone will start where HP left off and design a better calculator using the huge computational power that we now have at our disposal. Without throwing away all the experience we already have.

To be fair both HP and TI have tried their best to do something better than their older lines but it's resulted in the following:


I've used the emulator, but it's less productive than the 50g. Also TI's nSpire offering is just horrid.

I don't use my calculator in education which means I'm completely forgotten.

Haha! I was going to suggest Droid48 until that last sentence. Yes, I emulate my HP48G whenever I feel the need to fire up a calculator.

HP RPN can't be beaten for serious number crunching. It's not pretty, but by god, it is EFFECTIVE!

I just replaced the batteries in my 48GX. I think in stacks and RPN is a better system for how I think. I have 48GX emulators for my phone and still use them over more modern calculator apps. That being said, I appreciate the design considerations they've applied to this. I wish they'd make an Android version, because I might have been interested in trying this out.

It's funny how, for some things, you tend to be more comfortable with whatever you're used to even if nothing newer is objectively better. I used an HP-55 for years and then an HP-41. The newer HP graphic calculators never did a lot for me and I still use an HP-41 emulator on my iPhone for most of my calculating--though I'll pull out a physical HP calculator is I need to do a lot of calculating.

I'm working on an RPN calculator (with some pretty sweet gestural functionality) which solves approximately half of those problems. Wait, no, more like a quarter. Welp.

It does return the correct value for sin(π) though (you gotta call __sinpi(x / M_PI) if you don't want to return -8.74e-8 or some ridiculous value).

> It does return the correct value for sin(π) though (you gotta call __sinpi(x / M_PI) if you don't want to return -8.74e-8 or some ridiculous value).

This is ridiculous. Your calculator (most calculators) cannot apply sin to π, because π is not representable is their system (typically base-2 or base-10 floating-point).

What you have done here is make sine worse for all values, including the representable value closest to π, in order to obtain what you think is a cosmetically satisfying result for the latter. Note that seeing the closest representable value to π does not mean that the user intended π. Perhaps the user obtained this value as the result of a computation and it's a coincidence. Or perhaps the user really wants to know what the sine of 0x1.921fb54442d18p+1 (the double closest to π) is. Hint: it is not zero.

> because π is not representable is their system (typically base-2 or base-10 floating-point).

Casio scientific calculators do have an internal representation of π (it's treated differently from the closest possible typed value) and very nuanced representations of numbers in general.

As you say, this is where calculator apps almost inevitably fail - representing numbers properly is really crucial to the UX, and floating point numbers are not sufficient.

Spot on. This is one reason I still use my 50g - it uses decimal internal representation with known precision on every operation.

Casios are a mess. They are actually made my Kinpo which do a shitty job of pretty much everything. The notable exceptions being the FX991MS and Fx5800P which are very very close to my 50g (which was laboriously tested on paper before I trusted it)

I favor the 48GX with several modifications. I have a library that gives me 5 stack lines, but also shows a symbolic representation. In other words, typing "5 6 /" is represented as "5/6" rather than a decimal equivalent. If you multiply that by 2, my calculator maintains the symbolic representation as "(5/6)*2". By retaining values as symbolic representation for as long as possible, when you finally evaluate, it will result in "5/3". This is great for when things cancel out and it allows me to carry precision further since I'm not working with approximations. I can also request the decimal representation at any time. This is what no other calculator app is giving me.

The 50g already does that as it has a built in CAS so symbolic is default. This are represented in their rational form or with respect to pi.

50g is basically a 48GX emulator with 400MHz ARM core that emulates Saturn, MetaKernel and a CAS. Goes like lightning. Oh and a bigger screen so you get 7-9 stack lines. Also you can use SD cards as ports. Mine has 256Mb of Flash. Eats a set of batteries once a month but it's worth it for the power.

I can create a symbolic list with 50,000 entries in quite happily on the device then do all standard two-variable stats on it in 1-2 seconds.

Phooey, I thought I'd solved this. What would you recommend I do instead?

I should clarify for other readers: __sinpi() is an Apple-created addition to Math.h, what it does is multiply the argument by M_PI before calculating. When you consider that my calculator has a key which inputs the constant pi (which is, of course, not actually pi, but M_PI), it all comes out in the wash (cosmetically speaking).

However, what would you do instead? Test before each trig function whether the argument is a multiple of M_PI and then choose which function to use? I would imagine this would fall apart at higher values...

Also consider that 'cosmetically satisfying' is not an unreasonable goal (in my mind) when the calculator really only has horizontal space for 12 digits in 36-point Helvetica, but you're right, as the user could arrive at arbitrary values by other means.

Nailed it. Nice to see someone who understands the situation properly.

Frink fills in some of those holes:


(but not RPN and trig functions are floating point)

I just have an HP48 emulator on my android phone. It's pretty sweet actually.

Graphing functionality on a phone reminds me of an old TI calculator. I really don't know why recent OSes (be it on PC, smartphone, tablet) always came with such feeble calculators. It's not like TI calculators are difficult to use. Sure if all you want is add/min/mul/div functionality the TI is essentially a traditional calculator, and then behind that you've got all these nifty graphing utilities. It's not like a graphing calculator app is going to be that difficult to program, or going to be large in size. But no, in 2013, vanilla OS installations are stuck with a calculator app that has less features than that of a computer a few million times less powerful.

(Now I feel bad; bitching and complaining is against the Open Source Spirit).

Edit: I do recall that OSX comes with something similar, except that not many people actually know of it (as far as I can tell, from my friends with OSX).

"It's not like a graphing calculator app is going to be that difficult to program"

It is surprisingly hard to get something that produces reliable plots. It starts with getting something as simple as sin(1/x) or x/(x^2 + 5x + 1) to plot reasonably well, and gets harder from there soon (edit: if you want to complicate things, pick a function that is only defined on some numbers, such as sqrt(x^2 * sin(x^3 - x). Adding a pair of || around subexpressions also complicates things)

For example, at https://www.desmos.com/calculator (one of the top results from a google search) zooming in on sin(1/x) shows a plot that sometimes doesn't go up to 1.0 for values of x close to zero. Its plot is decent, but deceiving.

And you will have to do those well, as the target audience of students encounters such functions every day.

And the Mac OS X one is Grapher (http://en.wikipedia.org/wiki/Grapher)

Just a musing: perhaps its considered not as valuable an investment to program since a (the?) primary market is students, and students are probably not allowed to use phones on tests for obvious reasons (internet connectivity, texting questions to each other, overall distraction). However, TI's are state approved or whatever.

It's so sad that kids with iphones aren't allowed to use phones on tests. They're being tested in an archaic context for archaic purposes. Under what circumstances are people going to be working without internet access? School has a lot of catching up to do with the real world. :(

For any field, there's always some basic knowledge that anyone studying or practicing it simply has to have if they're going to be at all effective. A well-written test should be checking that the students have acquired that knowledge (which can be much of the course content) and can apply it appropriately to problems.

Anyone with an internet connection can easily find out, for example, how to add together two ints in Java. But if someone took an introductory Java course and couldn't do that at the end of it, then they don't deserve to pass because they've clearly not learned what they were supposed to. If they were actually trying to program something and had to look up basics like that every time they used them, they would be so slow as to be completely useless. Or consider someone with a more time-critical job like a surgeon - they can do specific research beforehand but some level of knowledge (surgical techniques, how to use their tools, anatomy, etc.) is simply going to have to be in their head at the moment they need it or their patient could die.

Also, phones and internet access don't just provide knowledge, they're a way to communicate with everyone else in the room. If you want to see if any particular person has actually learned the material, you obviously can't allow that.

> If they were actually trying to program something and had to look up basics like that every time they used them, they would be so slow as to be completely useless

Isn't that the point of timed tests? You can structure a test such that the person who needs to look up how to add two ints in Java will waste so much time that they wouldn't be able to finish the test. And if they can search for and apply this knowledge quickly enough, then maybe they've proven that they won't be slow if they have to do it in the real world.

My favourite exams were open book but still hard/long enough that if you didn't already know 95% of the material, you simply wouldn't have time to complete it.

On the other hand, if you allow outside communication (such as unrestricted access to the internet), you open the door for "I'll pay someone who already knows this stuff to phone in the answers for me" - which isn't generally an applicable skill in the real world.

As an aside, I hated open book exams - if you were talented and knew the material, you could typically blast through a closed-book examination in half the allotted time and get out of there, while the open-book exams were far longer and more tedious.

>"I'll pay someone who already knows this stuff to phone in the answers for me" - which isn't generally an applicable skill in the real world.

I would argue that this is also a valuable skill. Knowing who to hire, assessing the person's abilities, figuring out if they can actually get the job done in the time allotted. Sure it's not at the same level that a hiring manager at a tech company in the real world would have to make, but then again the normal CS test questions aren't at that level either.

Agreed with your reasoning within your framework. But I'm a little skeptical of the utility of this framework for thinking about learning. Why do we test people without communication, when most of what they're going to be doing throughout most of life is going to involve communicating with others, one way or another?

I think there IS utility in assessing people with the constraint of "you can't talk to anybody else", but I'm not comfortable with that being the dominant, primary means of assessment. It should be consistent with the likelihood that you'll actually be forced to work stuff out on your own- maybe 10, 20% at most?

Your thoughts?

It probably depends on the subject but if they don't have that basic knowledge they're not going to be effective filling in the test either, even with Google it always takes longer.

Ideally tests should check the deeper understanding of the student and not just his memory skills. In that case Internet access is also not a problem.

Here's the thing about calculation in particular: Yes, if your ultimate goal is to perform the calculation and nothing more, you'll be able to use a tool for the job in the real world.

However, many times the calculation is just a very small piece of a much larger puzzle. In such situations, being able to perform small computations rapidly in your head makes a qualitative difference that can really give you a competitive advantage.

What about the kids without iPhones? Are they handicapped because they can't afford one? Or is the school expected to provide hundreds of iPhones?

I'd suggest that they do what we do when we don't have the resources we need in the 'real world'- figure out some way to collaborate with others!

Collaborate during a test? That usually leads to cheating. It would also likely disadvantage the person they are working with who now has to share resources. Not to mention the fact that if this person doesn't own an iPhone they either won't know how to use it or won't be quick at using it slowing them down (bad in an exam situation). The students who do own iPhones will be faster and will be better because they are more experienced with the tools - not because they are better students.

Not necessarily, although it might be difficult for math tests.

In school we had one larger test in German where the teacher left us alone for 4 hours. What I noticed was that we did collaborate to some extent – we shared and discussed ideas. But since we had to write an essay with our interpretation of some piece of literature there wasn't much possibility of "cheating" per se. Simply copying the text from another would not work and copying their ideas outright wouldn't either. And to get at least something of decent length there wasn't the option of fooling around for three hours either. Granted, this was in 11th grade, so we were a bit older already. It may well fail spectacularly in other environments. The teacher knew us for a few years and trusted us, and it worked out.

I think it's a shame computer like devices (iphone, ipad, what you want) are not allowed. Learning to use them efficiently in a time constrained context would be a really valuable skill.

Internet access is a lot more complex though, you'd have to filter what they can access and monitor everything every student is accessing, and that doesn't seem worth it for most tests. Image a scenario where the students just throws any question on a random looking site and some hired expert on the other side writes appropriate answers on the fly. Your test won't have any meaning anymore.

In which case I think the flaw is with the test, not the student. Why does a kid need to memorize something that he can get on-the-fly expert answers from? Why memorize something you can look up? =\

The memorizing part is where computer could be allowed. You'll still have to remember how to get the information back though.

Now test are flawed by definition, you'll always have to create some artifical restriction to control what aspect you are assessing. Idealy you never test someone by putting him/her in a room with a pncil and paper, you'd assess how good the students cleared real tasks in realistic conditions.

Except that standardized tests are reused, which is another difference from real life problems. In real life, you're not always solving a problem that numerous other people have already solved, and posted solutions to.

In my experience, if you are really prepared for an exam, you know the formulas by heart anyway. I myself passed tests designed in a way that calculators could be disallowed. Some of them even had a reminder section with all the needed formulas. But unprepared students still failed them, because they were simply not used to use them and they therefore ran out of time. This translates in the real world: knowing things by heart and their mechanic is the difference between the guy that spends one hour on a problem ans the guy who spends 10 minutes on it.

When I was in college in the 80s there was an explosion of creativity in the calculator market (kind of like the TV and camera markets today -- they're all going broke and trying to come up with new killer products). One of the things that became very popular was calculators with 32kB or 64kB of RAM, a QWERTY keyboard, that ran BASIC.

Anyway, I was pure math major and we could bring pretty much anything short of an actual desktop computer into exams -- it was pretty much useless. (Now, a few years later, and Mathematica running on a maxed out Mac would have been pretty darn useful.)

We were actually allowed to use Mathematica on our Linear Algebra exams this semester. I think it made the tests a lot more effective because you didn't have to go through the algebraic trouble of finding eigenvalues and eigenvectors, so the professor could focus more of the testing time on applications of those values.

Having a computer in class opens the door for cheating, but in smaller classes it would be easy to tell if a student were browsing the Internet rather than finding a determinant.

Just... Wow. I suppose essays are the same, cut and paste from Wikipaedia?

Never been allowed to use a TI for exams in the UK. I've only ever been allowed to use a Casio.

It's incredibly common for TI calculators to be allowed on exams in the United States. Several standardized tests specifically allow only TI calculators, along with a few others. I think GP's comment makes a lot of sense. Most students just aren't going to put the effort into learning how to use another graphing calculator program if they can't even use it in class.

I am currently in Year 13 in London. You are definitely allowed TI in the mathematics exams (A-Levels). TI-89 is one of the only that is banned because of its CAS.

Friends in the French system are allowed the TI 89 though.

Just an hint, you can swap the guts of a TI-89 into the body of a TI-83. Don't ask me how I know :)

Yep, I did Maths A-level in the UK back in the 90s, and a TI graphing calculator was basically a requirement for the exams.

Interesting, I wasn't allowed to use one in A-Levels or university exams.

I think it depends on the modules/exam boards.

Yeah, I used a Casio (non-programmable, but does integrations) for my (British) IGCSEs, a TI for the (International/Swiss) IB, and am back to using 'university approved' Casios at Cambridge.

Casio also has some powerful calculators, including my beloved Algebra fx2+ and the ClassPad line which slowly converges to a kind of specialised tablet.

On that note, iPad doesn't even have the iPhone Calculator app, and it's _impossible_ to get it (without hacking) because it's a built-in app; one you cannot remove nor acquire from the App Store.

It's also missing Compass, Voice Memo and Passbook apps. Edit: Weather app too.

yes weird, plus the weather app is missing too.

What's the reasoning behind the decision? Was it Steve Jobs who decided that?

They just haven't created the full size iPad versions for them at this time. iOS 6/7 added some previously iPhone-only built-in apps.

I've always had a feeling that it's to differentiate iPad from iPhone. If they had the exact same apps, right down to a scaled up Calculator with gigantic buttons on the 10" display, it might make it less likely for consumers to think of iPad as a separate concept from iPhone. Calculator and Weather wouldn't really translate that well to a huge screen, anyways.

And, of course, there are several great third-party apps to fill the void if you need them.

Missing compass because the WiFi version does not contain a GPS or magnetic compass.

There is a cellular version of the iPad too.

Bitching and complaining is good for products, makes them better. Don't know much about OSS spirit, but doesn't their work need any improvement??

By OSS spirit I meant that it's better to get coding than start complaining. But I see your point -- indeed we should do both, and plenty of it.

On OS X it's Graphing Calculator. See the amazing story behind it: http://www.pacifict.com/Story/

I was just going to write this comment myself before checking to see if I'd been beaten. It's definitely one of the great stories of computer history.

Yep, Grapher is a nice app with an interesting history:


Does Grapher share any source with Graphing Calculator?

I guess it might, given that Apple shipped Graphing Calculator with Mac OS before, and given Graphing Calculator's interesting early history (http://www.pacifict.com/Story/)

(I wonder how Apple negotiated that deal originally. I guess some lawyers spent quite some time arguing whose intellectual property it originally was. The programmers weren't paid by Apple, but worked at Infinite Loop)

It's depressing to me that the closest I can get to the TI-92+ I had in college is to emulate a TI-92+ on my computer or Android devices (actually on a tablet it's not too bad). My other options (Octave, Matlab, etc.) are way too heavy for what I want to do and require too much time to learn.

They don't have that sort of pickup-and-use feature my old calculators used to have. I think it's the presence of most of the buttons I'm ever going to be interested in on the keyboard rather than having to figure out how to type something that means the same as an integral or some such. The discoverability of those buttons beats most modern software hands down.

I also suspect that writing simple to use general purpose solvers and simplifiers for the things the TI calcs do (the CAS) is likely very hard. I remember putting even pretty complex physics equations with all sorts of trig functions and exponents and integrals and such in during college and it handled most of them without trouble and pretty printed the result.

I miss my TI-92+ as well. It feels like an iPad has enough screen real estate to be able to simulate the same experience, and I was surprised that nobody has done it yet.

Edit: looks like there are some good options for Android that actually emulate TI calculators, and apparently TI has Nspire for the iPad.

Ha I had a TI92 (not plus) a number of years ago. Weighed a ton - you could kill someone with it. Sold it and got an HP48GX after I discovered that you couldn't get the plus module for it in the UK for a reasonable price. Never looked back.

This really seems much more like a freeform spreadsheet than a calculator to me. Which is also a cool idea, obviously, but I find it interesting no one else has made the same observation.

I basically stopped using "calculators" when Soulver and more recently Calca came out. Much easier to use and a lot more flexible.

That said the graphing in this looks quite nice.

Wow, Calca is amazing. Thanks for the tip. :)

Calca is such a great calculator. I've encountered some issues where it refuses to recompute (systems of equations confuse it when you keep redefining variables), but I suppose that's not what it's for. I love being able to define real functions in it. The documentation is also all composed in Calca, which is helpful.

I've seen it be really awkward with whitespace, usually when I think it's not recalculating it's because of a stray or missing space somewhere that's keeping it from seeing that something is an equation (it tries to auto detect between equations and markdown).

The common case for me is that I keep a very short-term personal ledger in it, just the stuff that hasn't hit the bank account yet, like this:

    chequing = (1,000 # current balance
      - 2  # coffee
      - 15 # groceries
      + 2  # Joe paid me back
      ) => 985
But messing up the spacing in any way, for instance like this:

    chequing = (1,000 # current balance
      - 2  # coffee
      - 15 # groceries
      + 20  # Joe paid me back
    ) => 985
(note one fewer space before the closing paren) and now no changes to the values inside the parens take effect on the total after the => (which for non-Calca-using spectators should always auto-update based on changes). I copy-pasted this out of Calca just now and you can see the the total is incorrect.

Sometimes this messes up the syntax highlighting so that it's obvious, but usually it doesn't, and I'm left wondering why it's not updating.

Calca is amazingly good for its simplicity. It's replaced my use of Excel for the cases that Excel was overkill. Well worth the $5

Great work. A few thoughts from the initial experience:

I like the linked numbers design. As it reminded me of Bret Victor's work, I was expecting scrubbing to work directly with numbers, which caused occasionally a bit of havoc, but I think you did a right choice of putting linking as the main action - touch design is hard.

The free-form infinite layout gives a mindmap vibe: it's potentially great when you are trying to understand pieces of a problem that you need. The downside is that the canvas becomes a bit of mess quickly.

The other alternative could be a Mathematica style, free-form document, with more restricted flow of equations (and text).

Because the organization becomes a bit of problem, undo is a must and solves a bunch of other problems. I'd implement area selection of equations (initiate with long tap?) to quickly move things around.

Y-axis could auto adjust by default or quick slider scrubbing should work directly for axis max-min values.

You probably want a simple document model as this is something between calculator and full featured computation software. Maybe just save every canvas when user clears/starts new one

All in all, great work!

Good to see that Bret Victor's ideas outlined in "Inventing on Principle" start taking some foothold.

Impressed to see only one comment, with no discussions, mentioning Bret Victor. His influence is clear on this work.

As a Matlab enthusiast, this is probably the coolest thing I've seen in years.

Good job guys, I have high hope for this in the future!

The linked numbers are brilliant. Lacking the "in my head" math skills I should probably have, I regularly whip out Excel to solve the kind of use cases you can imagine from the linked numbers in the video.

And now for the majority market share, the android version?

Just because an OS has a "majority market share" doesn't make it a suitable market. Elegant, minimal premium apps like Clear have done well on the iOS app store, but it's hard to imagine a $5 calculator app getting much interest on Android.

Why is that hard to imagine? If the application were released for Android, I would have considered it. I've already purchased several Android calculators. There's no real basis for your claim, but I say this while I also realize I haven't provided sufficient evidence to support why Android would be a better platform. The reason I think a lot of applications like this fail on Android is that the developers first target iOS and then try to port it to Android without really designing for Android. The result is something lackluster that doesn't really work for Android devices.

Although you may personally have considered purchasing this calculator on Android. I think he was hinting at the fact that an IOS user is more likely on average to purchase an app and pay a premium for it, hence being more lucrative for developers even with less market share.

"the App Store generated 2.3x more revenues than Google Play."


It's probably not a good idea to make a decision for a specific app based on the average behavior across all apps, unless your app is "average."

A calculator app is an outlier; it is not an average app. It's also an outlier with real utility --- so it's something people are more likely to pay for.

This is great, though there are 15,230 calculator apps on iPhone alone. Tydlig ranks as #443 in the US for 'calculator', quite a tough fight!

Looks great. Just needs a new name. Tydlig?

It means clear/apparent/obvious in Swedish.

I was just thinking about IKEA after seeing the name.

(Edit: it is swedish and...) Almost danish/norwegian: Tydelig == Apparent/Clear

In German the slang word tüddelig means fiddly or flimsy.

Litt mer øst...

It is Swedish for apparent (clear).

As opposed to the weekly hipster-named gxstmo.io or whatever similar comes along?

Tydlig at least means something in a real language ;)

This looks much worse than symcalc.

SymCalc has pretty much all the functionality of a TI-89 including solving calculus and algebraic equations.

Tydlig looks like it has a nice ui but it doesn't even seem to support variables....

Thanks for the recommendation for SymCalc, I've just downloaded it. I had been using TouchCalc and GraphCalc but this is much better!

I love this app, and it's interesting to see the innovation in this familiar space. Oovium for iPad is a great example of fresh thinking. And coming soon, apparently, is the Wolfram Calculator for iPad, featuring user-programmable functions:


That interface is a bag of hurt, but it looks powerful.

If you're mainly interested in having all calculation steps visible and 'linked', there is also a great app called Digits (https://itunes.apple.com/us/app/digits-calculator-for-ipad/i...) which is at $0.99 right now.

For the iphone and ipad? You mean for direct interface devices? (is there any reason this couldn't be applied to non idevices?)

Because it's written for UIKit for iOS, presumably in Objective C?

Tydlig supports external Bluetooth keyboards or numpads for really quick entry

It's been a while since i did any ios development and this was never a requirement for me. Can someone explain why an external keyboard is something that had to be explicitly supported at an individual app level? Surely this should be an OS-level thing?

It's not an explicit requirement, but you definitely need to test your app with an external keyboard to polish the experience.

Here's a couple of situations that can get you when supporting an external Bluetooth keyboard:

- Input accessory view. If you use an input accessory view (bar that sits atop the regular software keyboard), then connecting an external keyboard will cause the software keyboard to hide but keep the accessory view on screen. This is great — but if you had any controls underneath the keyboard (especially on iPad) that required the user to dismiss the keyboard to get to them, then you have to build a way for them to 'dismiss' the keyboard when using an external keyboard.

- Custom keyboard. You might build a custom keyboard for your app. Connecting an external one will not show your custom keyboard. You'll need to ensure that functionality is still provided when an external keyboard is connected.

There are a few other things like making sure your keyboard view resizing code is robust enough to handle all the possible state transitions ("no input -> software input -> bluetooth input", or "no input -> bluetooth input -> software input", and so on).

If you're just using a standard text view you probably don't need to do anything special. But in this case Tydlig seems to do a lot of special stuff and probably required a bit of extra work to get Bluetooth keyboards running without issue.

I love it! Great design and should be very flexible to create simple functions through linked numbers.

Is it really a good idea to allow 96 + 15% though (at 0:45)? Might cause some problems for people learning maths, as it won't work on normal calculators and doesn't really make it obvious what percentages actually are.

The New Old Thing has an article on this topic [1]. Personally, I avoid ever using the percent button simply because I can never remember exactly how it will behave.

[1] http://blogs.msdn.com/b/oldnewthing/archive/2008/01/10/70474...

I was actually working on something really similar. (http://i.imgur.com/w4F8ms4.gif)

It really is true that at any moment there is probably 4 other teams working on a similar idea as you are.

Well I will not give up. Good luck to you too!

Dope interface, I would use that

Can we have something other than jingly guitar music for tech videos?

Handsdown it has pretty good ui. But i regret buying it, because i can't calculate % seriously why isn't on the front. I have to press folder button to find it.

additionally, I am baffled why do i have to press = to find end result, it should automatically calculate as i enter figure just like my $3 citizen calculator does.

So I bought it

Here are my thoughts as I use it (I will add to this comment. Hopefully the kids won't wake up soon.)

Wish there was an UNDO. I just moved a number and didn't want too. Shake to UNDO?

Pinch to zoom in and out. I'm using this on an iPhone.

Can I save a canvas? It doesn't look like, but maybe I'm missing it.

This looks closer to Mathematica/Maple/MATLAB than a basic calculator, although still nowhere near the power of those.

Of course 1/0 should be +Infinity, not ?...

(Disclaimer: I have a Mathematica console always open on my desktop, and regularly use it for all kinds of calculations.)

Why do you put that down as "disclaimer". This is why people make fun of us.

Why should 1/0 be +Infinity? Think of 1/x at the limit as x->0 from the left and from the right

I still think the 1/0 problem can be solved if we step outside Euclidian geometry. It is undefined for the very reason you give. The Numberphile YouTube channel has an excellent video [1] discussing why x/0 is undefined and worth watching.

[1] https://www.youtube.com/watch?v=BRRolKTlF6Q

With IEEE floats, 0 has a sign which can be used to denote the direction of the limit; if you try 1/(-0) in any program or language with sane numerics (i.e. not Excel or other dumb calculator emulators), it should give you -Infinity.

Bingo. If I'm in front of a computer, Mathematica. If not near one, then Wolfram|Alpha app/PCalc Lite on my iPad, else TI-83. But I've had my eyes on the HP Prime for a while. That'd be a huge jump from the 83!

This looks great, for some uses, but I know myself (and a lot of my coworkers) would much prefer a beautiful iPhone calculator that behaves more like a 10-key/adding machine than an iPython notebook.

Seems sort of like a slicker Soulver, I'm going to give it a shot.

This looks very nice, and I'll probably buy it and Scalar this week, but it did get me to wondering. It would be interesting to see how an APL app would fair these days.

Nice work! Would be nice to have more tips on graphing. I spent 10 minutes and still can't figure out how to do graphs. The video on website is pretty helpful though.

Never mind... The video is in intro guide!

Just a heads up, the inverse hyperbolic trig functions are arsinh, arcosh, and artanh. That's "ar" and not "arc" which stands for area.

Which number system does it use? 8-byte doubles or its own library? What are the ranges? On which libraries is it based? Does it have complex numbers?

Very cool. Unfortunately, I think the price point is a bit too high (at least for me).

$5 for a calculator with updateable functionality?

It would be fun to build this as a webapp in JS + canvas/SVG.

excellent new idea.


I would just a ipython console Gone is the age of calculator

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact