Greetings! A while ago I have made a post about the demo android app which measures diopters. Since then many things has happened in my personal life, however, I’m now determined to finish this project.
The app works in a similar way to the endmyopia diopter calculator . The user is shown static text. He is then prompted to move as far from the phone screen as possible until the text becomes little blurry. After that, the user either presses the camera button or covers his face with two palms which triggers the measurement action. The app measures the distance from the phone screen to the user’s face using augmented reality and uses this information to give the user approximate amount of optic correction in diopters which the user would need to see clearly.
The app currently consists of two screens: the capturing screen and the result screen. However, I plan to add more. I’d like to add at least the following features in order to consider it to be the most basic release candidate:
- tracking progress (simple interactive chart)
- settings (reference text value (currently “FOCUS”), text size, ability to calibrate the distance etc.)
- ability to make backups of the progress (upload to google drive)
- help section, to teach people how to use the app
- (@brett 's idea) configurable notifications to remind the user to take the measurement
I feel that the last one might be the trickiest one.
@jakey was kind enough to create the Endmyopia developer account on Google Play and to grant me access so that I can prepare and publish the app.
The app is open-sourced, which means that there will be no ads, ever. Source code is available here, along with the history of all changes:
Things to be aware of:
- The app requires google’s ARCore framework (it will launch its play store page the first time the app is launched if ARCore is not installed). ARCore, however, is currently available on a limited number of devices, and many people reported that their devices can’t run the app because ARCore is not available. There are some hacks which might allow such users to install ARCore manually (not from the play store) and still use the app, I just don’t have a decent phone which does not support ARCore to test it. I might find one though.
- The app measures the distance from the phone camera to the tip of user’s nose (not the eyeballs), this might give slight inaccuracy. I plan to add a setting where a user will be able to calibrate the final result by adding a static number to it.
- The user needs to look straight at the phone, so that his face is approximately in the middle of the screen, no head tilt. Otherwise the measurement might become highly inaccurate. I have built a prototype which would display the guides on the screen which would prevent the measurement from being taken if user’s face is too far off from the center and/or the head is tilted, but I have considered to be too restrictive, and most users will likely find it too distracting. So I just left it as-is, let me know if you think it’s still important to add the guides.
Please post your thoughts and any issues that you have.