Tuesday, March 29, 2016


So we released apps for Android and iOS earlier this month, seeing that many people are using their phones for the application, and an app seems to make sense.

Since 90% of the work is done in a service application, I figured it'd be easy enough to just put a new face on the app, and there are lots of cool frameworks out there to get you started.

I narrowed it down to three based on what I needed, which was a framework for building the app, packaging the app, and ultimately worked well in my development environment (Visual Studio 2015):
  • Cordova
  • PhoneGap
  • Ionic
Both PhoneGap and Ionic are built on top of Apache Cordova, which has great support in Visual Studio.  After playing with them all, I thought Ionic was a little easier to use, had some nice features I liked (e.g. their Javascript and CSS components), and seemed to fit nicely into my dev environment.

So I made the decision to use Ionic and got going.  The following blog was super helpful getting started:  https://taco.visualstudio.com/en-us/docs/tutorial-ionic/

About three weeks later I had the app working nicely in the Ripple emulator which was great!  

But packaging the apps took more work than I anticipated.  I could build Android packages in Visual Studio pretty easily, but you can't build iOS packages.

So in comes Ionic Package to save the day - it basically allows you to upload your security certificates, run a command from you command line, and it runs a build on their servers and delivers you an Android .apk or an iOS .ipa file.  It worked beautifully!

So now I could drop my file into iTunes and I had it running on my iPhone.  Awesome!

I wanted to make sure it work on a few different types of phones, so I found TestObject, where you upload your files and it loads it on actual devices for testing, which was sweet since I didn't have any Android phones of my own (and it's free!  http://www.testobject.com)

Next steps were to upload it to the respective stores.  Google makes it easy - everything is wonderfully automatic and I could upload and have my Android friends testing it immediately.

Apple on the other hand, even though I had the application all packaged up and working on my iPhone, still require you to upload it to the App Store via Xcode...on a Mac.  Grrrr. 

So had to borrow a Mac (thanks Z!), and finally after a little bit (read: a lot) of effort, finally got it to the app store...for review.

Four days later, a rejection letter.  I gotta admit while the wait time is annoying, Apple really does good QA on each app.  They found a bug where my links weren't setup to have a back button back to the app when Safari opens up.  So I fixed that and sent it back annnnnnd....rejection #2.  

I discover they must have been looking at the wrong build number, I email them and a few days later they agree and I'm officially in the App Store!!!  [two beers clinking emoji]

Overall, it was fun to go through the process -- definitely learned a ton, and happy with the results.  I think an app makes more sense for this tool, since it's often used on the phone, and next we can incorporate things which can make use of the camera (e.g. barcode scanner, etc.)