One of the first things I did upon getting an iPhone last year was to fork over an additional $99 to Apple Developer Connection, to get access to their iOS development tools and the right to run my own apps on my own phone. This has been exciting because programming for the phone has involved learning a lot: a whole new programming paradigm, touch-based UI design, a new programming language and a host of new APIs. It is in the midst of all this manic learning that I started working in earnest on my first iOS app: an as-yet unnamed computer algebra system.

Differentiating the inverse of a matrix on the iPhone.
Differentiating the inverse of a matrix on the iPhone.

Its backend symbolic algebra engine is powered by GiNaC and frontend equation renderer is MathJax. While the core functionality has been in place for some time now, I am still trying to arrive at an intuitive user interface. If you have any ideas, I’m all ears!