Recently (in March) I took on a side project. My wife is nearing the end of her Family Medicine residency, however in talking with her I learned about a need for an app. The ACGME has requirements that residents in Family Medicine must have a certain number and type of patient visits completed to finish residency. For example one such requirement is performing 40 deliveries.
Building the App
Ionic uses AngularJS and Cordova to handle building apps for phones. I chose Ionic because I'm already familiar with AngularJS. The actual app development was quite simple:
- setup a form in AngularJS
- write form data to a sqlite database
- query the database to display statistics
- export the database to a CSV file and attach via email
Another user wrote a tutorial on how to build and sign apps for Android. This was extremely helpful since I'm less familiar with the Android submission process. To top it off I lost my app's keystore (which is required to make app updates) and had to dig through my Time Machine backups to find the file. I now have it more thoroughly backed up.
Once I reached a point where the app worked on my iPhone, I still needed an app icon. Instead of trying to make one myself I used 99designs. After about a week of commenting back and forth with designers, I picked an app icon. What I actually received was a 1024x1024 PNG file.
Taking this file and creating all the various image sizes could have been a pain, but Ionic comes with the
ionic resources command, which automates this process.
However it became clear that I didn't think this process entirely through, as I was missing a splash screen (for when the app is loading). I found a template and made a simple "Log Encounter" text splash screen. It is boring, but it gets the job done.
So now the app is available for both Android and iOS:
I've had a few sales (10?) on iOS and none on Android. Now that the app is done and works, figuring out how to increase sales is an entirely separate process. Mission accomplished but not finished. I've also received plenty of (unsolicited) email spam for app promotion services. I can only assume those services comb through the new app listings and email everyone.