Thanks to several donations we’ve been able to dedicate some more time and resources to ensuring that Bay Islands Guide can continue to be the fantastic little app that it has always been. It’s because of you, the users, that BIG was able to ‘refreshed’ or ‘upgraded’ into what it is now. I will go into some details below, for those who are interested. If you don’t care/understand how it all works, and what has changed, that’s fine too.
For those who have donated to help BIG live on, thank you. For those who haven’t yet, you can do so here. As always, this is not mandatory. Any amount is welcomed.
I (Travis Place) have been doing website design and hosting for many, many years. When I moved to the SMBI, I decided to try my hand at mobile app development (Android and iPhone). At first, this was achievable without much effort, as TransLink had a publicly accessible service, that when used with permission, would allow people to build apps to navigate around the TransLink network (plan trips, just like the Journey Planner). At this time, TransLink did not have an app of their own.
As the world moved to rely on apps more and more, TransLink started to develop their own mobile app, and closed down the service that allowed 3rd parties to easily make apps to plan trips. This meant that any 3rd party app (like Bay Islands Guide) was either dead, or needed a whole lot of work to build new software to allow planning of trips. Thankfully, TransLink gave developers a bit of warning, so we had time to develop our own systems. I spent the better part of 100 hours writing the new code. Once finished, it needed a server to live on. I decided to use my existing web server, as it already existed, and the theory was it would not cost any more money. I was wrong.
As it turns out, planning trips across the TransLink network (yes, my code can theoretically plans trips across all of SE Queensland) is a fairly heavy task. After all, I couldn’t let the (then not very popular) Bay Islands Guide app impact my long-term web hosting customers. So I threw money at the problem, which got us through a couple more years of operation. As popularity increased, so did cost. At this point, I asked for help. The community heard my call, and donated.
So, what has changed?
In short, the donations raised so far has allowed me to spend more time on optimising code, moving things around, and streamline the process.
I want some details!
Ok, fair enough.
So, the first thing I needed to do, was have things in position so that BIG can scale up to meet the higher demand of the increased population and user base. I provisioned a new server exclusively for the use of the Bay Islands Guide server code. This server is located in Sydney, Australia. Sydney was chosen because it is more cost effective than Brisbane, but still within a short distance (technically speaking) from the SMBI. It’s about 20-30ms away.
Now, because parts of Bay Islands Guide rely on the database from this website (Bay Islands Info) the two needed to communicate. I thought hard about how to most efficiently do this. At the end of the day, the only parts of Bay Islands Guide that require access to the main website server are the Business Directory, and some authentication calls. Replicating an entire database for those two tasks is overkill, so I decided to rewrite a lot of the authentication code, utilising a caching type system, and relying on JSON. Nothing (as this stage) has been done about the Business Directory side of things. It works, however it’s less robust than the Ferry Planner portion of the app.
What this essentially means is, I have split (most of) the Bay Islands Guide app requirements from the main web server. This has three main benefits:
- We are not reliant on the main server to be online to handle most requests. This separates our web hosting clients from our app users.
- We have a dedicated server for the API requests, which should make journey planning results faster, and more reliable.
- It lowers our monthly costs to operate the service, from around $120/month to $90/month.
- It gives us the ability to have strict security protocols in place to make sure your data is protected when communicating with our servers.
What happens now?
Well, for now, everything seems to be working well. There are other issues and bugs to fix, but the main service should now be reliable again. There are still ongoing monthly costs, and if you’re able to please donate to help in covering those costs. Also, we might be up for a ‘sponsorship’ type agreement in the near future. If you’re interested in that, please get in touch with us.