Back in 5th grade I, like a lot of kids, was pretty fascinated with calculators. While I was growing up my dad had an older one with LED numbers that gave me lots of nerdy enjoyment while I multiplied and divided random numbers together. Later, as my math skills progressed, I asked my parents for fancier scientific calculators so I could do trigonometric functions, calculate logarithms, and do things like arbitrarily raise numbers to the 5th power. By the time I was in 7th grade there was rumors that we would be required to buy graphing calculators for that year's math classes. Sadly, it never happened (and I never did get a graphing calculator).

Photomath - Camera Calculator    

Photomath - Camera Calculator


So, I can't help but think about what the nerdy 10 year old version of me would think about my calculator options nowadays. Of course, most of us don't carry around standalone calculators, but we all have pretty good ones built into our phones. The iPhone's built in calculator (while in landscape mode) is already better than that scientific calculator from my youth.

However, there are tons of great calculator apps out there that do amazing, out of the box things. I've actually tried very few of them (after all, how many calculators does someone need?). I've liked CalcBot as a small step up from the built in calculator, and PC Calc seems to be widely regarded as one of the best full featured calculator on the app store. Soulver is kind of a cross between a spreadsheet and a calculator that I find really useful for certain tasks.  MyScript Calculator has the amazing ability to interpret mathematical symbols and numbers that you write on the screen with your finger and then solves the problem.

All that being said, the app that really blew my hair back is Photomath. This app lets you type in math problems in a pretty convenient way, which is no small task, because entering formulas with parentheses, exponents, numerators and denominators, etc, can be a cumbersome process.

Even more fun, though, is the fact that you can actually take a picture of a math problem and it will interpret the math symbols and numbers, clean it up, and solve the problem. If there's a variable in the math problem it will intelligently solve for x.


The really really cool part, however, is that it this app does what all my teachers reprimanded me for NOT doing when I was in school: It shows its work. If you click on the answer the app will show you a long list of steps that it used to solve the problem. Clicking on a step will give a little explanation of which mathematical principles were used for that step.



Whenever I see something like this I imagine voices rising up in protest, crying out  "Wait, kids should be doing this on their own, not letting an app do it for them!". In fact, I can see my 10 year old self discovering something like this and, with an evil laugh, saying "This app will be able to do all my homework for me - ahh ha ha ha ha!".  My adult self, however, is of the opinion that this is an awesome way to acquire the fundamentals of math. In my experience one of the best ways to learn is to break down how someone else solves a problem. Unfortunately not every student has access to someone proficient in math, but with an app like this kids (and adults) can have access to a robotic math tutor. Plus, I think this would be a great way to check your math homework and, if you got the answer wrong, figure out where you went wrong.

Could this be abused? Probably. But I think the upside is a lot greater than the downside.

Also, it's worth noting that the app isn't perfect. Knowing it's limitations can be a learning experience too. For example, I scanned this trigonometric problem from one of my optics textbooks:


From the white box at the bottom it appeared to be scanning the formula correctly, but the answer it was giving was different than the answer in the book (the yellow arrows in the picture above illustrate this). At first I was puzzled, but then I realized I've run into similar problems when writing optics calculator programs. Programming languages usually accept radians for trigonometric functions, and this textbook problem was using degrees. Sure enough, when I converted the degrees to radians the answer agreed with the textbook. So, lesson learned: Computers are great tools, but you can't blindly trust them. Programs take an input, process it, and return an output accurately, but sometimes they process things differently than you expect them to!

To summarize, I continue to be amazed at what app developers are able to do. This is an impressive app and I think it could be a very useful tool for anyone learning math concepts. We live in such exciting times!


AuthorTodd Zarwell

I've rewritten my contact lens calculator on EyeDock. The new version does a better bob of showing its calculations by displaying information on optic crosses. It's also more flexible with how it accepts keratometry and refraction input. Lastly, I've added a SPE / CPE lens calculator that uses Thomas Quinn OD's nomograms (the same ones we used to create the GPLI calculator). 

Here's a little video introduction. I hope you find it useful!

- Todd

AuthorTodd Zarwell

I won't dispute the fact that I am a nerd, but if you called me a weather nerd I'd probably mildly protest. You won't find me debating whether the puffy cloud up there is a nimbus or a cirrus, and I'm not the type to while away my day watching the weather channel.

However, if you looked at my app history, I couldn't blame you if you thought I was a little obsessed about weather apps.  I've probably downloaded at least a dozen of them, most of them I only used for very short period of time before reverting back to the stock iPhone app and Dark Sky. 

So what's my beef? Why have I rejected nearly every app I've tried?  

It seems that every app would fall into one of two unacceptable categories.  

1. The app that goes into a ton of detail about the weather, but makes me dig around multiple screens before I know if I need my coat or my umbrella today. 

2. The app that immediately tells me the temperature and the rain, but I have to dig too deep to get the details. What's the dew point gonna be today? Will I be sweating through my dress shirt on the way to work this morning? 

WeatherNerd Today View


A couple weeks ago yet another weather app caught my eye and I felt compelled to buy it, as I am prone to do. The app, WeatheNerd, definitely had a name and an icon that appealed to me but I figured it was destined to end up in the same graveyard that the rest of my discarded apps have ended up. 

My first impression was that this one definitely had an attractive interface. It gave a nice line graph of the days weather, and had a nice animation of the probability of the rain throughout the day, as well as spinning windmills to indicate the wind speed.

It also had the current temperature in a big font at the bottom of the screen, with highs, lows, dusk and dawn time, humidity, and other pertinent data available at a quick glance.

It also gave a quick summary of the temperature: "2 º cooler than yesterday"? How helpful! The biggest thing I want to know when I check the weather is, how should I dress my kids today? The temperature is nice, but what better reference is there than yesterday? I was there yesterday, and I know now that dressing my kids in snowmobile suits on a 60º day was a mistake. I'm not going to make that mistake again now that I know it's even 2º warmer.

I also like the fact that the bar graph has a lighter line that indicates yesterday's temperatures. Again, it gives me a good sense of how similar or different today will be from the prior day.

A good app needs to tell you what to weather to expect in the future too. WeatherNerd's tomorrow view looks very similar to the today view and, as a reference, it tells you how the weather will compare to today. 

Of course, there's a week view with a quicker summer of all days, and even longer term weather predictions. As you get further out it will give you predictions based on historical data, which could be helpful if you're planning a future trip to a different geography than you're used to.

Like most modern weather apps, it also incorporates a Dark Sky-like, to-the-minute rain and snow predictions and has local area maps for watching storms move in on doppler radar. 

Additionally, it can send you a morning alert to give you an early message on what to expect for your day.

And, if you really want to nerd out, there is a button named . . . well, "Nerd Out". Clicking it will show all the fine little weather details to make the geekiest weather nerd scream like a little girl.


As you might have guessed, I really like this one and I think I've finally found my weather app.


AuthorTodd Zarwell

I like Siri. It's far, far from perfect, and I think people hold it to a very high standard (it's easy to do when your basis for comparison is human intelligence). But there is a limited set of things that it does do well, and I find those things extremely helpful.


Set a timer for 10 minutes (so I can kick the kids off my iPad).

Remind me to bring Drew's snowpants to school on Monday morning at 6:30.

Remind to place that order when I get to work.

Basically, it supplements my brain and helps me remember things I'm almost certain to forget.

Perhaps my biggest use of Siri, however, is managing grocery lists. This helps me in innumerable ways, which I will now outline. In a numbered list.

  1. I never forget to add something to a list. I use the last of the peanut butter, I pull out my iPhone, hold down the home button, and say "add peanut butter to my grocery list". Bam. Not gonna forget the PB.
  2. I always know what I need when I'm at the grocery store. I never have that nagging feeling that I'm forgetting something, and I never get home and kick myself for neglecting to pick something up. And my six year old never has to reprimand me for forgetting to pick up his apples.
  3. I always know what my wife needs at the grocery store, and she knows what I need. I might just stop in to buy donuts on a Sunday morning, but a quick look at my phone let's me know that Lisa just used the last of the garlic powder and I might as well grab that too.

Now, there's a few things that make this easier.

First of all, I have a list that's named "grocery". To do this, open the reminders and hit the "+" button to make a new list. If you open the reminders app and don't see the "+" button you might need to tap the area at the bottom of the screen that looks like a bunch of stacked index cards.

If you're looking at a list, click the bottom of the screen to see all your lists - and get the option to create more lists.

If you're looking at a list, click the bottom of the screen to see all your lists - and get the option to create more lists.


To share with your spouse, go into your newly created grocery list and click the edit button. Then click the Sharing opinion, then Add person.., and find the person upon whom you'll bestow your list sharing privileges.





This all works very well, but we decided to take it to another level with a third party app called AnyList.  AnyList has a number of nice features, including:

  1. It separates your grocery list into groups such as "produce" or "meat" or "dairy". That way, when you walk through the grocery store, you can get everything you need in each section without having to repeatedly zigzag  back and forth throughout the whole store.
  2. It also has the option to share with a spouse and sync with desktop and browser apps.
  3. And, for my favorite, it can import lists from the built in Reminders app. In my case, from my Grocery list. This has the awesome result of letting you use Siri to populate your AnyList list. To import from Reminders, go to AnyList's settings and turn the "Reminder's Import" option on. Just make sure the name of your list in AnyList matches the name in Reminders (in my case they're both named "Grocery")


By the way, the things I'm describing here don't have to be limited to groceries. I've followed this exact same process to make a Target list, a Home Depot list, and a Costco list.  

Here's a short video on how I use the lists. The one thing that I don't include is perhaps the most useful feature of all: The fact that all these additions are almost immediately present on my wife's phone as well.


In my next post I'd like to talk about something very closely related to groceries: recipes. Stay tuned.

AuthorTodd Zarwell
9 CommentsPost a comment

I just released a new app to the App store, and is now available to download. It's a Park's Three Step app, similar to the one I have on the EyeDock website

It's been a long time since I made a new iPhone app. I wrote the original EyeDock and CLCalcs on a very early version of iOS (it was iPhone OS at the time). Back then, iPhones only had 3.5" screens and iPads didn't exist.

I've opened up XCode and modified those apps a few times since their inception, but mostly just to fix things. It usually worked like this:

  1. new version of iOS comes out
  2. Crap, my app doesn't work!
  3. Hurriedly,  with a thin sheen of sweat on my brow, try to fix app before I got too many complaints

My apps were pretty much like an old watch: I fixed them when they broke, but I broke out in a cold swear whenever I opened them up and looked at the insides.

I decided a few months ago I really need to make some changes to the EyeDock app. I don't like the way it downloads its data, it's not optimized for the 4" iPhone screens, and I really need an iPad version. 

I'd stayed tuned to the developments in iOS and knew that things were evolving rapidly. In light of Apples has added or changed their APIs, in conjunction with the major changes I wanted to make to my old apps, I thought it might be best to relearn the ropes. What better way to do this than to make a new app from scratch.

In conclusion, I bring you the Parks Three Step app. It's my first universal app (it works on both the iPhone and iPad). I too advantage of many of the new things that have come along with the last 3-4 versions of iOS, including parallax, blocks, autolayout, and ARC.  These things may not mean a lot to my non-iOS-developer readers, but this essentially means I'm caught up on the modern way of doing things.

Now time to rebuild that watch.


AuthorTodd Zarwell

Another day, another convoluted workflow to accomplish something simple.. .

I wrote in my last post about how I was using as my GTD (Getting Things Done) app. It might be less feature-rich than Omnifocus but it seems to do almost  everything I need.

I say almost because Omnifocus does have one feature that I covet: The ability to use Siri to capture tasks. In other words, a person can trigger Siri and say "Pick up my pants" and that task will be added to Omnifocus. To do something similar in I need to open the app, create a quick task (very easy - just swipe down), click the microphone on the keyboard, and dictate my task. Since I'm often thinking of things I need to do while I'm driving I'm not comfortable with this many steps.

From their user forum it sounds like the nice folks at may be working on a solution to this, but I'm not sure when we'll see it.

While we wait for this to be built into the app there may be another [roundabout] solution. I learned today that IFTTT (IF This Then That) now has an iOS app that can use triggers from some of the native iPhone and iPad apps. The apps that can trigger events include Photos, Contacts, and, of interest to us, Reminders.

I took advantage of this to capture tasks with Siri. 

Reminders app icon   

First, I decided to create a new Reminders list on my iPhone called "Do it". This can be done by opening up the Reminders app, clicking "Create New List...", and calling it "Do it".

You'll also need your email mailbox. If you haven't used this already I'd recommend it - it let's you add tasks to your inbox via email. For example, when I get a statement from my daycare I have a rule set up in Gmail to forward it my task mailbox. It shows up in my inbox and I can process it as I see fit.

Your task mailbox can be found on their website or in within the app by going to settings -> account info. For this example let's say my address is

IFTTT mortar and pestle icon

Then, I downloaded the IFTTT app onto my iPhone.  You can create a new recipe by clicking the mortar and pestle icon in the upper right corner. This will expose your recipes, and you can add a new one by pressing the "+" sign. For the trigger, scroll through the options until you find the Reminders app. 

We'll want the option that says "New reminder added to list". The list we want is the one we created earlier, "Do it".

Note: you will probably have to "activate" the Reminders "Channel" to give the IFTTT app permission to access its content.

Next, we'll select our action. I'm going to use Gmail, so I'll make that selection and enter  as the "To address". 

Save the recipe.

I did make one little tweak at this point. Your task in is going to be the subject of the email that you're sending, and I want to keep that as simple as possible. I opened the recipe, clicked "edit recipe", and changed the subject from what it was to just "{{Title}}"

IFTTT: Editing the email subject 1

Now, I can grab my phone, trigger Siri, and say "Remind me to change my socks in my 'do it' list". IFTTT will see this and email the text to, which will add it to your inbox to be processed the next time you open the app.

So, it is a bit of a workaround, but I think it'll get the job done until DoIt comes up with a native solution.


AuthorTodd Zarwell
3 CommentsPost a comment

I've implemented a loose Getting Things Done (GTD) method of task management, and it really is helping me keep my life in order. These days it makes sense to use our technology for GTD and there's a plethora of options to help you do that. icon

All the cool Mac users swoon over Omnifocus. Omnifocus sure seems great, although a bit pricey and complicated (neither of which I mind very much). The biggest issue I have with Omnifocus, however, is the fact that it's Mac and iOS only. I try to spend as much time as I can in the Apple universe, but for a big chunk of my day I'm using a PC and Android phone for work. 

After trying a few apps I settled on I like the fact that it has apps for all the major mobile platforms and it has a nice web app for me to use in the office.  From a GTD perspective is has all the things I need. I can quickly capture tasks, assign them to contexts, group them into projects, and create reminders and alerts.  I can even create tasks by forwarding important emails to 

There are definitely fuller-featured apps out there, but this one is scratching my itch.

AuthorTodd Zarwell
Google Maps icon

Google acquired Waze earlier this month. I've played with a lot of the GPS / navigation apps on the iPhone and they all have their pros and cons. However, I discovered and wrote about Waze last summer and it has emerged as my favorite.. 

Waze icon

So how do I feel about Google buying Waze? There's always the concern that a big company will screw up the services they acquire, of course.  However, if these two companies combine their strengths I think this could be a good thing for consumers.


This got me thinking. What would be my ideal app?  I think it would be a hybrid of the most popular apps.

I'd take the search capabilities of Google. That's a no-brainer. In fact, this was the major weakness of Waze, and it's the thing that makes me the most excited about the collaboration of the two.  

I'd also take Google's maps and driving directions.  It's really the standard, and as Apple's well documented mapping problems demonstrate, you can't just pull mapping out of thin air.

I'd take the social aspects of Waze. Most of the major navigation apps try to provide some traffic data, but nothing beats the reporting in Waze: Speed traps, accidents, traffic slowdowns, detours - you name it. Adding all the Google users will only make this crowdsourcing better. 

Twist icon

I would, however, add one social aspect of Twist. Twist is pretty much a one trick pony, but it has a nice trick - it lets people at your destination know how soon you're going to be there. Waze has tried to do something like this, largely via Facebook, but I like Twist better.

Find my friends icon

Of course, this feature would also really work well if it could be combined with the iPhone's Find My Friends app. 

Apple maps icon

Despite how widely panned Apple's foray into mapping has been, I actually kind of like it.  I haven't had any issues with navigation, but I know it IS an issue (that's getting better, but it's still an issue). However, it has a very nice aesthetic and, of course, it's nicely integrated into the operating system (read: Siri).


So, make me an app that combines all these features and I'll be happy.

Make sure it's easy to use though  :) 


AuthorTodd Zarwell