Now that we are in 2018, we thought now would be a good time to look back at what Boardies IT Solutions has been working on over the course of 2017 and what the future holds for 2018.
In February 2017 we updated our SSH tunnel plugin for Boardies MySQL Manager for Android from a C# application to a C++ application. Although we never received any issues regarding this, during our own use we did find that the mono (the C# interpreter for Linux) was running the CPU at, or close to, 100% permanently, even when it wasn't doing anything. This would only happen on Linux, Windows would be fine. Due to this, and to give us a bit more control over issues as this was likely more of a mono issue than a coding issue, we re-wrote the plugin in C++. This update also included a security enhancement that it would check the SSH servers fingerprint is what you expected, and if it had changed since last used, you'd be warned about it so you didn't accidently access a compromised server. Once of the other big news items for this release is that we announced we were going to open source the PHP API and SSH Tunnel Plugin.
You can check out our blog post about this by going here.
In June 2017 we released a new support portal. We've had a for a while a way for our users to be able to raise bug reports in apps and services that we have, but it was just a bug tracker. Although we've always had phone and email support, we thought it would be much easier for us and our users to be able to raise support issues, request new features and raise new issues/bug from one central place. That way users can easily see what's already been raised or whether someone had a similar issue to you which has been resolved. The support section of the portal was also done asa community type site that someone could ask a question, and other users, as well as Boardies IT Solutions could answer the question.
The support portal then got a further update in December to enhance the functionality and improve the performance of the site. The upgrade included a simple landing page to describe and provide quick access to each section of the support portal as well as provide search functionality throughout the various areas of the support portal. We also provided an ability for us to create knowledge base articles which are listed and searchable where we can provide information about specific areas, such as specific problems you might come across in an app or service or to provide further information about a specific feature of a product or service.
In July 2017 we open sourced the PHP API and SSH Tunnel Plugin that allows our Android MySQL Client, Boardies MySQL Manager for Android to work. We made some changes earlier on in the year to change the SSH tunnel plugin from a C# to C++ as well as security enhancements to show the SSH servers fingerprint before connecting. Once these changes had been made and had gone through testing, we then installed on our own servers for a few weeks to ensure there were no issues when being used in production. After we confirmed that everything was working as expected, we then open sourced the PHP API and SSH Tunnel Plugin available on GitHub.
You can find more information on this here.
August 2017 we announced that we had released a new open source Android library on GitHub. This provides a small notification at the bottom of the screen to display a quick message, similar to a toast notification. The difference with this is that it provides the ability to add a button to the notification to allow the user to take an action based on the notification being displayed. For example, this could be used in the event that the user tries to do a particular task in your app, but before they can do it, they have to follow some prerequisite first, if they haven't then the message bar can be shown with a button to get more info on what the prerequisite is. You can find this library by going to GitHub.
In September 2017, we released a new version of Boardies MySQL Manager for Android. This was version 184.108.40.206 and it was mostly a stability and speed improvement update, but it did have a couple of new things added as well. We improved the startup time of the app and stability and error handling, but we also noticed there was quite a few users who were trying to access their MySQL database or SSH server (for SSH tunnelling) on their local home/office network which isn't compatible as the app relies on an API, by default, running on our server. To provide users with more information and details on how to get around this issue, we display a message bar (using the Android Message Bar open source library we mentioned earlier) to display that we detected an internal network being used, with a "More Info" button to provide instructions on how to get around this issue.
We also added new functionality to this release which was app shortcuts. This allows you to long press on the app icon either from the launcher or one of the home screens (supported android launcher required). This will then provide a menu with quick access to doing a quick one time connection to an unsaved database, or quickly connect to the most used stored connections. Within the app, connection management, you could also pin the connections to the shortcut menu so it is always displayed in the shortcut menu, no matter how frequent the connection is being used.
All of the above that happened throughout the year was the good news, but unfortunately towards the end of the year, we had a bit of a nightmare with our servers. Although the nightmare only started at the end of the year, it most likely went on a lot longer but unfortunately we didn't realise there was a problem.
It all started around October when our service monitor was changing their pricing model and services which outpriced, and overly complicated to figure out the price of our servers so we started looking for an alternative. After trying a few we settled for Datadog. After going through the configuration of the datadog agents, within a couple of hours we started receiving alerts. Long story short, we thought the issue was with the datadog agent as our previous service monitor didn't report anything, however, we soon realised that this was not the case, there was indeed an intermittent connectivity problem with both of our servers. This unfortunately took us up until just before Christmas 2017 where we were able to resolve the connectivity issue, by changing hosting providers and making some configuration changes to our servers, as well as making some code changes to our main site and our support portal to dramatically improve the load time of our web sites by ensuring that we don't load libraries externally from our own servers. We did a rather length blog post about this issue which details how we debugged what the issue was and how it was eventually resolved. You can check out our blog post by going here.
What's next in 2018
We have a few ideas in the works but unfortunately its tricky for us to provide a roadmap of exactly what's to come as I also full time work commitments but we are actively working on a few new things.
We want to add new features to Boardies MySQL Manager for Android such as connection synchronisation between devices, saving queries for future use, support for viewing stored procedures and MySQL views. We also want to look into any ways of being able to remove the requirement for the PHP API. As you may know, Android doesn't have any SQL connection driver libraries, so we've used a PHP API that the app communicates with, the PHP API connects to the MySQL database, and then the PHP API returns the result back to the Android app for processing. We would love to be able to remove this requirement and we plan on investigating what we can do to remove this. If you have any ideas on how we can achieve this, then please get in touch and we'll happily collaborate in order to make this possible, and make Boardies MySQL Manager the best Android MySQL client available - that is our aim after all.
We're also working on a new crash detection library, we don't want to say too much about this at this time as it is still in the very early development stages but at some point in the near future we make it available as a public early preview release to get users ideas and ensure that we can make it to work with how our users want it to.
We look forward to seeing what 2018 will bring and continue to work with our users to ensure that we are providing the best possible services and products for our users.
Happy new year from Boardies IT Solutions.