In this project, you'll update v1.0 of the "CallMeInChina" Android and iPhone app. This is a VoIP service app. This is an easy job for a seasoned developer. It can be done in just a couple of days for each. You don't need any experience in VoIP, but you do need to be a quality iPhone and Android developer.
1) Switch out old screen images (only five) with new ones and change the service name where applicable. We have changed the name of our service and need to update all images and manifest text for the app. The images are all ready to go; they just need to be switched out. If possible, we'd like this 1.1 release to be an official update to the 1.0 release. Please advise if this is possible with a name and domain change.
2) Minor useability changes:
a) Change the “Set Destination” select box to show the country plus country code. This is accomplished by a calling our new 2.0 API instead of the 1.0 API. If you look at the current select box, it's full of just numbers (country dial codes). We'll make this look better by adding the country in the select box as well.
b) Make the same select box default to the currently selected destination country. This will help users save time when setting their destination since most will always use the same country prefix. API makes this easy.
3) Bug fixes:
a) Android: Android Java null pointer exceptions: We have a few of these. The good news is that they are all the same thing. I personally had to fix a lot of these in the 1.0 version, but I didn't hit all of them because they still happen every once in a while. They have to do with AsyncTask-derived classes that we use to call API methods. They occur when the AsyncTask-derived object is doing some work and something on the screen changes: orientation or screen change. When that happens, it seems that dangling pointers are leftover and crashes ensue. We have stack traces for you to look at.
b) iPhone: Fix the app so that it works on iOS7. I don't know why, but users running iOS7 can't even log on! I can't believe that an OS upgrade would break such a simple app, but apparently it did.
c) Both platforms: Do not strip all alphabetic characters from the destination, when setting the destination. This is because of the voicemail special case. In order to route calls to voicemail, we change the country prefix to be “Voicemail”. If you look at the Set Destination screen, you'll notice there are many country codes. At the very bottom is “Voicemail”. When this is set as a country code it tells the server to route all calls to voicemail. Instead, this currently gets stripped out.
d) Both platforms: Unable to use the app after some time (one or two months): Strangely enough, this is common to both the Android and the iPhone app. The apps were created by two different developers which makes me think that there is something common both operating systems. This seems to have something to do with the authentication token that we send to the app through our API method: get_auth_token(). If we clear out the authentication token, then the app works fine. Users are forced to just log in again.
What we provide:
1) An API to do the work of authenticating the user's subscription, changing the destination, initiating a callback, and serving up the customer's phone numbers, destinations, and allowed country codes and country names.
2) All artwork. If you need any extra artwork, just let us know.
3) A precise specification.
4) A [url removed, login to view] repository.
1) Complete mastery of the basics of both platforms
2) Great UI skills
3) Daily communication
If you bid, please provide:
1) A description of the project you're most proud of and why. We're technical folks so feel free to write technically. DON'T SEND EVERYTHING YOU HAVE DONE. PICK THE BEST.
2) Confirmation that you can work in a GitHub repository and commit code daily.