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

Well, I've been pretty quiet lately. Things have been a little busy at home, and I've been spending what free time I have finishing up my new soft lens searches for EyeDock. It's taken me about 18 months (way too long!), but I'm pleased with the results. 

I've written a short page on EyeDock about the new features in these searches so I won't repeat here. I will, however, include the screencast I made introducing the new searches.  

I'd love to hear your feedback! 


A new feature for EyeDock's soft lens searches: Enter a refraction and EyeDock will take care of vertexing to the corneal plane, transposing (if needed), and will find appropriate lenses. Even more helpful, it will find the closest available power for the chosen lens and give an estimation of the best potential VA.

AuthorTodd Zarwell

While writing my recent post about Android development I meant to point out that big companies, such as Google, Yahoo, EA Sports, Zynga, etc can devote resources to developing on all platforms, whereas individual developers and small companies pretty much have to choose one platform or another.

However, it seems that even the big companies have issues with multi-platform development. For example, yesterday the BBC responded to a complaint that the British broadcaster prioritizes their iPhone app over the Android version. Their response? Yes, we do. And for logical reasons.  Their inquiry found that:

It noted that developing for Android was different from developing for iOS; while iOS provides a relatively homogenous environment, Android is fragmented with almost 4000 devices from around 600 manufacturers," the report said.

This is the issue that really intimidates me. When I made the EyeDock iPhone app I had to design for one screen size, and I had to program for a couple versions of the OS. Eventually they made a larger iPhone screen, but you didn't necessarily have to change your app (I actually haven't yet).  As time has gone by new versions of iOS have been released, one of which forced me to make some changes for my app to work. It was a pain, and I can't imagine programming for (and providing support for) thousands of devices, all with their little idiosyncrasies.

Android development is complicated and expensive, even for a big company. For an individual, especially one that spends most of his day looking at eyeballs, it's nearly impossible.

AuthorTodd Zarwell

I get asked this question a lot. It's a very reasonable question. After all, I have an iPhone app, so why shouldn't there be an Android app?

As much as I love my smartphone (OK, OK, it's an iPhone), I kind of wish they'd never been invented. And this isn't a new feeling - it actually started more than a decade ago...

Perhaps a little background will help. I'm an optometrist, for anyone who didn't know that. While I was in optometry school a funny thing happened: A little thing called the internet started getting popular. I thought it was fascinating, and I wanted to be part of it. I started reading beginner HTML books, then programming books, database books, whatever I felt would help me make the website I had in my head. 

At the time my wife was working as an OD in a retail setting, and I was working in a clinic. I had a lot of free time on my nights and weekends, and they were all spent developing the first version of EyeDock.

Eventually I started showing people my little creation, and the feedback I received was very rewarding. However, it wasn't long before I received an email asking "where's the Palm version?" Whoa! Palm version? I'd never considered that, but it sounded cool. However, I didn't have a Palm pilot, didn't know how to program for it, but most importantly, I had so much more I wanted to do on the website.

As more time past, the question changed. "Are you planning on making a Windows phone version?" "When is the BlackBerry version coming out?"


In 2007 the iPhone came out, and it was amazing. A year later I decided it was time to get my first smartphone, and I decided it was time to make my first iPhone app. I bought a book about programming in Objective-C, read the first four chapters, and . . . was really, really confused. By this time I'd learned Javascript, PHP, Actionscript (Flash), MYSQL, dabbled in Visual BASIC. Objective-C was a whole other animal. I knew I could figure it out. After all, I've learned a lot of difficult concepts in that I initially thought were insurmountable during my collegiate career.

In 2008, my life was starting to change in many ways. Most importantly, we had a son who quickly became the light of my life. Of course, spending my entire evenings and weekend maintaining a website and developing an iPhone app wasn't going to happen anymore. Still, I kept plugging away and, it took me about 18 months, but I finally published my iPhone app in iTunes. I was very proud of it: It was the most difficult programming task I'd undertaken.

While I was working on the iPhone app I started hearing rumors of a Google phone. Android was released, and the initial reviews were that it had potential but was laggy, didn't have the apps, and lacked the fit and finish of the iPhone. We all know what happened from there. Android got better fast. It became the number one mobile platform.

By this time, I was feeling like the time I'd spent on the iPhone app had caused me to neglect the web site for far too long. In addition, the upkeep had drastically increased. I had to maintain a database for the Web site and a slightly different one for the iPhone (some day I'd like to consolidate them - wish I'd figured out a way to do that the first time around). I had support emails because passwords with certain special characters didn't work on the app for some reason. Apple introduced a new version of iOS that totally broke how I was uploading my databases. That one happened around the time my second son was born - talk about stress!

So, where's the Android app? There really deserves to be one, I know. I'd really love to make one. I think it would be easier to create than the iPhone app: I sorta have this mobile thing figured out now, and if I could learn Objective-C I'm pretty sure I could learn Java. 

So why isn't there one? Well, it's certainly not because I have a prejudice against Android. I'm amazed at the the passion people have for their phones. You're either an iPhone fanboy or a h8ter. I can't think of anything like it. Maybe Ford vs. Chevy trucks? Nah, not even close.

As you might have guessed from the novel that this blog post has become, the issue is time. I spend my life as a father (of three great little boys now). I spend days as an optometrist. At night, after the kids get to bed, I do programming, data entry, and answer support emails. I've also done things with nearly every vacation day I've taken since 2002.

After doing this for so long I've worked out a lot of efficiencies that allow me to make great use of my time. It's helped me keep quite productive as my free time has declined. However, the thought of learning a yet another programming language and developing another app that will only further subdivide my time is, well, very intimidating.

As a consequence, I've spent the last year concentrating on the website. Soon I'll be releasing some new features that I'm very excited about. I'm also trying to make it more mobile accessible and have been slowly removing things like Flash. I'm hoping I can make EyeDock very functional on iPhones, Blackberries, Android phones, the new Windows phones, and whatever comes next.

I can't put into words how thankful I've been for our users over the years. EyeDock is my baby, and my #1 goal has always been to make a great resource for eye care professionals. I love building things, especially things for my fellow optometrists. That would have never been possible for all this time without the support of the people using the site.

- Todd

PS I think there may be one other question that may need to be addressed. Why can't I hire someone to make an Android app?

First of all, I've had some troubles contracting out EyeDock work in the past. As an OD, I know exactly how I want things to work. I've had a really hard time communicating this to non-OD programmers (let's call them eye-muggles). It's usually ended up being a mess, and I've either had to 1) spend an ungodly amount of time explaining how I want things to work or 2) I've just ended up doing it myself anyway.

Secondly, I actually did contact a large company that  does app development. They actually spent a lot of time trying to talk me out of an Android app - too many different screen sizes, too much fragmentation, etc. When I persisted they quoted a fee that I was, to put it mildly, unprepared for. The website does pay its bills, but being an optometrist is primarily how I make my living. EyeDock is my passion, but I have to make practical decisions.

AuthorTodd Zarwell
2 CommentsPost a comment
Marco Arment, the host of the podcast Build & Analyze, had this to say regarding converting his popular iPhone app to an Android app:

By the way, it's not like I hate Android.  I just don't think there's much business for me there. And again, I don't think there's zero business, I just don't think there's enough to make it worth the investment I have to put into developing and maintaining that . . .  I just look at the realities of the market, and the realities of the market - and my time - are that I barely have enough time to manage the apps on the platform I support now . . . I have to focus on the platforms I have time to focus on.  I can't add a whole bunch of them.

This pretty much mirrored my own thoughts on the subject.  From the day my iPhone app was approved in iTunes I've received requests to make it available on other platforms.  First it was BlackBerry and Palm, but the overwhelming request nowadays is for Android.  And, I fear the next Windows Phone 8 will be the next big thing.

I feel bad that I don't have an Android app. I really do.  I know it's become a very popular platform.  I'm not neglecting it because I'm playing sides.  I haven't made it because I'm already stretched so thin.

Marco suggested it would take him months to create an Android app, all while ignoring the upkeep on his Web site and iPhone apps.  Marco is a full time developer.  I, on the other hand, am a full time optometrist.  I think it would take me at least a year to create an Android app, probably more.  Why do I think that?  Well, the iPhone app took about 18 months from the day I bought a book on iPhone programming to the day I "shipped" my product.  Although I'm really proud of it, it was by far the toughest programming task I've undertaken.  

Since then I've had a couple children, still work full time (well, I've cut back a little), and still have a website and an iPhone app that I work on nearly every night. I just don't have any time left.

The other consideration is the financial aspects.  As I said, Marco Arment makes his living as a developer.  My income comes from looking at eyeballs.  I've managed to make EyeDock profitable enough to justify to my wife why, when my children get down to sleep in the evenings, I plug away at my computer instead of watching Dancing with the Stars like everyone else.  

However, the biggest reason I design websites and program is because I enjoy it.  I enjoy creating things, I enjoy making something that's useful, and, I'll admit it, I enjoy the positive feedback I get.  I have no idea how many people subscribed to my site because of my iPhone app.  I'm sure some did, but I've always thought of the app as a supplement to my EyeDock.  Perhaps I'm way off base on that - if I created an Android app maybe I'd double my subscribership and it would be well worth it.  That's an unknowable thing, unfortunately.

Even if I could justify it financially, there's still the issue of time.  I've often thought about farming out the development of an Android app to a professional.  However, my experiences with having outsiders do my coding has been less than desirable.  I feel like I've made good things because I'm an optometrist and I know exactly how I need things to work when I'm seeing patients.  An outsider just doesn't understand at the same level.  I can't justify investing my limited resources in something that I'm not confident is going to be made to my satisfaction.

I sincerely do apologize for my lack of an Android app.  I have nothing against the platform.  It's just that the iPhone came first, and I can currently only support one.  This will change if EyeDock grows to the point that I can dedicate more time and resources to it.  Believe me, nobody wants that more than I do.

AuthorTodd Zarwell