Back to Blog
Every so often, here at Elegant IT we challenge ourselves with a new bit of technology, we pick the technology we want to work with and come up with an idea that allows us to use it, we then see what we can achieve with that technology in 2 weeks (10 working days), This year it was the turn of Xamarin.
Xamarin is a language that allows developers to write mobile Apps for multiple platforms from a single project, thus making App development and deployment easier, cheaper and faster…..well that is what we hoped.
So with our chosen technology defined, we needed an idea, on the 8th of January 2018 we came up with the a simple idea for a golf App that basically tells you want shot to hit when you are in the driving range, the idea is that it would be used to make golfers play shots they weren’t comfortable with or give them a sequence of shots to play as a warmup before a round of golf.
We now had the technology selected and the simple idea, now for the goals, what did we think we could achieve in 2 weeks? It was during this decision process that I remember an article header from a post on LinkedIn by Richard Branson, saying that there is a belief that to get a business up and running takes a year and Mr Branson disagreed…..so I thought “right, 2 weeks from Paper to full production” and the challenge was on!
With technology, idea and goals all set we started work, we spec’d out the App on our office whiteboard and started the development work, at the same time we also came up with company names, logos and started to make real progress really quickly, by the time day 2 ended we had, created a Xamarin template, designed a logo, purchased some domains through godaddy.com and some stock image through Shutterstock and it was starting to come together. (www.DWC-Golf.com)
Days 3-6 were heavy development days, getting used to xaml (the language of Xamarin) and how everything hangs together was an steep learning curve but by the end of the week we had the core features of the app in place and were ready for some testing….this however required two USBC cables ( which were whisked to us from amazon) and a bit of reading around how to put your android phone in to developer mode and suddenly we had an app working on our phones…much testing was then performed (including a live test at a driving range……people look at you when you have you phone speaking shots to you), some bugs were found and fixed, some of the look and feel of the App was change but by the end of the 16th of January, day 7 of the challenge, we had deployed the app to google play store, a process which was relatively straight forward.
Day 8 we decided that most apps these days are either paid for or free but have Ad’s, so we set to work enabling ad banners on out app, which with a bit of reading and trial and error finally worked, this update was then published to the Play store. We then felt that the app from a development point of view was complete.
Day 9 we started investigating how to deploy to the App Store, the Xamarin solution had automatically created the iOS project so we had what we needed to get it going….or so we thought….
The first thing we discovered was that we needed a Mac to deploy to the App Store….we didn’t have a Mac and Google said it was going to cost at least £400 to get one…. We then read an article about Xamarin Live Player and how that can be used to test iOS apps from visual studio…..great we though and proceeded to set it up….turns out live player is very much in development and never worked for us, despite enrolling on the testing program and getting the latest version…
Looking down the barrel of £400+ and limited time left on the challenge we thought that the App Store was out of reach for us, we then however found a site that lets you rent Macs and use them over RDP, for much less than buying a Mac. We signed up with limited expectations and discovered that this setup was perfect, it was designed for developers, it had everything we needed, within a few minutes we had our App running on an iPhone simulator.
Day 10, the final day, we made some changes based on the test we had run using the iPhone and iPad simulators, we got it to the stage where we were happy with it and it was ready for testing on the Apple TestFlight system (allows you to alpha/beta test on actual devices), this is where things got interesting again, apart from having to pay for an apple Developers account, we also had to create more images than were required for the Android deployment, so we started down the path of fulling the mandatory requirements for the App Store, after a few hours we had achieve these and managed to create a build that we then transferred to the Mac and tried to publish to the App Store…we then ran in to signing issues……more reading, head scratching and trial and error later we finally got the app in to the test flight system and running on an iPad.
After some testing we were happy with the iOS build and submitted it for approval in to the App Store, it was late on day 10 by this point and sleep was calling, however as the Android process was automated, we weren’t worried and assumed that the next morning it would be there and ready to go….it wasn’t it had failed the review process as it needed more screen shots of the app… it turns out the Apple review process has a manual element and if you fail the process you have to resubmit and wait up to 48 hours.
Day 11….one day over the target, the app was resubmitted and the following day it was approved.
So while we were a few days over in the challenge, we did (in two weeks ish)
Overall it was an enjoyable challenge and hopefully one that leads us in to making more Apps in the future.
App Store: Driving Range Trainer
Google Play: Driving Range Trainer