Pi Cubed 2.0: Now for iPad
After an embarrassingly long time in development, version 2.0 of Pi Cubed is now on the App Store. The big new addition in this version is an iPad interface (free for paid users as part of a universal iPhone / iPad application), but this release also brings undo / redo throughout the application, a revamped user interface, and other tweaks.
Pi Cubed 2.0 brings an interface optimized for the iPad as part of a universal iPhone / iPad application. Existing customers of the full version of Pi Cubed will get this for free.
I think you'll find that the larger working area of the iPad makes it even easier to run calculations and build custom equations. While the interface is similar in many ways to that of the iPhone version, larger menu items and equations will be easier to touch on the iPad's display.
In other ways, the interface has been changed to work better on the iPad. In particular, you no longer need to switch screens to work with your saved calculations and equation libraries. In landscape mode, you have a listing of equations on the left side of the screen for quick access or editing, and in portrait this same listing pops down from a menu item.
Being a full-fledged iPad application provides some opportunities for integrating with other applications on the system. For example, this version now lets you copy equations as PDFs (through an option you can set in the Settings application) so that you can paste them into Pages or Keynote.
I'm working on better custom equation sharing support, but if you would like to copy across your existing custom library from the iPhone to iPad, you can use iTunes file sharing for this. Your iPhone must be running iOS 4.0 for this to work. To do this, install a fresh copy of Pi Cubed on your iPad and update the version on your iPhone. Connect your iPhone to iTunes and go to the Apps tab. Scroll down to the File Sharing area and select the Pi Cubed icon. Copy the "epsilon.sql" or "epsilon-imported.sql" file to your desktop (renaming the latter to "epsilon.sql"). Connect your iPad to iTunes and use the same File Sharing area to copy this file into Pi Cubed. When you next start Pi Cubed on the iPad, it will import the old equation database into the iPad version.
What caused this update to sit in development for more than a year is the new data model used under the hood for the entire application. I switched to using Core Data to enable undo / redo functionality everywhere in the application.
Every editing action can be undone, from the typing of a number to the deletion of an entire equation. This makes entering and editing calculations a lot more forgiving, and I think it makes using the application a lot easier.
Undo / redo can be triggered either by shaking the device (the standard gesture Apple uses for undo) or by tapping on the appropriate button or icon on the iPhone or iPad. You'll probably use the buttons most often, because shaking something like the iPad isn't the most practical.
The new data model also should reduce memory consumption and improve performance in several areas.
I've refined the interface throughout the application, from applying more descriptive colors in the menus to using a new look in the tables. In particular, I've made it much easier to edit the names of custom equation categories by letting you edit them within the table listing itself, rather than having to switch to another screen.
I've added three new enclosure types: absolute value, floor, and ceiling. These are represented by appropriate symbols within the enclosure menu.
This new version also fully supports iOS 4.0 multitasking, as well as the Retina displays on the new iPhone 4 and 4th generation iPod touch. The equations look very sharp on the new displays.
Once again, I apologize for the extreme delay in this release. I tried to do too much at once with the data model change, which was then compounded by the release of the iPad, iOS 4.0, and iPhone 4. Ironically, teaching a class on iPhone development has also interfered with some of my actual iPhone development. Going forward, I should be able to turn out updates faster now that the application's foundation is solid.