Akeeba Remote Control will be discontinued.
It was a very tough decision to take, but I have decided to discontinue Akeeba Remote Control. As of today, Akeeba Remote Control is available as-is, without any support or plans for further development in its current form. Alternatives are mentioned towards the end of this article.
There were many reasons leading to this decision:
- Backup download issues. The old version (2.5) used to use FTP which caused problems with non-standard servers. Surprisingly, there were a lot of them. The later versions tried using HTTP downloads, but this method bumped on several problems such as server limitations on downloading large files, servers not liking repeated requests to similar URLs, badly written third party plugins and incompatibilities with SEF components.
Moreover, trying to download large files using Javascript (this is essentially what happens with an application based on Titanium Desktop, like Remote Control) causes memory leaks. This has to do with the moronic way Javascript handles variables and the complete inability to unset variables, contrary to other programming languages. This meant that even if the download did start, it would end up bringing your computer to a screeching halt or cause a spectaular crash after a while. Unfortunately, there is no solution for that.
And no, using FTP or any other similar download method is not an option with Titanium Desktop, thanks for asking. - Backup issues. In an ideal world, that would be dead simple. You'd wish. For starters, there are tons of awfully written plugins which kill your site's ability to serve RAW content. This forced us to use Joomla!'s HTML mode with the template=component trick. And, of course, this caused problems with many SEF components. Then, we have the choice between using HTTP POST or GET to access the backup URL. Some servers work with one and not the other – meaning that some servers require POST and some require GET. There are four different ways to access the backup URL and there's an equal chance that each of this methods will fail on one site or another. No matter what I do, support requests will mount up not because I am a stupid programmer, but because there are so many badly written plugins and misconfigured servers.
- Installation woes. The application was built on top of Appcelerator's Titanium Desktop to achieve cross-platform compatibility. Well, not quite so. It wouldn't work on Windows Vista and Server 2008. It threw installation errors on Windows 7. Having an antivirus/firewall was likely to kill the installation process, too. Linux? Oh, that's where the fun starts. Trying to match the requirements is a major task. And it just won't work with the latest releases of Ubuntu Linux. Mac OS X? If you have Snow Leopard it works, but anything less and you are stuck.
Providing a fully functional Remote Control application is not possible. First, the platform it's built on doesn't work smoothly on all platforms, doesn't allow downloading big archive files and I can't resolve those issues. Then, the server and third party extensions incompatibilities are, again, beyond my control (they violate the way Joomla! is supposed to work) and I can't work around them. Publishing software with so many known issues that can not be worked around doesn't cut it for me. The software should either work or not be published at all. Therefore, Akeeba Remote Control is discontinued and I have no plans on pursuing a newer version any more. As it seems, Joomla!, in its current form, is not ready as a web service platform unless you are in complete control of all the non-core code that runs on it and Titanium Desktop is not ready for wide production use, unless you can control which exact Operating Systems, their versions and software runs on your clients' computer.
Having an application used by less than 10% of Akeeba Backup users incur 20% of overall support requests and know that it will never get any better is a blatant waste of resources. As a result, I have no choice but to discontinue Akeeba Remote Control and concentrate my efforts on providing more functionality to the Akeeba Backup component instead. The remote backup API will be deprecated in the upcoming Akeeba Backup 3.3 and removed in future versions of the component.
Alternatives
Most of you used Remote Control to quickly backup all of your sites and download the archives on your local computer. You can still do that, albeit it's more difficult. You can always set up scheduled tasks / CRON jobs using Akeeba Backup's front-end backup feature on your local computer. This will take a complete backup of your site, without having to worry about incompatibilities with server setups or third party applications. What about downloads? The only solution would be to have some kind of FTP synchronisation application, i.e. something which would connect to your site every few minutes and download the newest files from your backup output directory. Not a very elegant solution, but it works.
Note: If you're wondering why can't I use the front-end backup feature for Remote Control, do note that it is not designed to provide any visual feedback whatsoever. If I did, all you'd see would be a "Please wait; backing up" message while your site were being backed up. No other status information at all. Moreover, the download issue would still be a show stopper. Not to mention that the platform incompatibilities would still be a huge issue.