Avatar
GuestNo new alerts

Downsides of Auto-updates

- Articles867
Avatar
I've gone over many things which Gosora is capable (but not all), some of which are revolutionary features which shake the market to it's core, however I haven't really gone over the less *practical* ideas and these in a sense might give you a sense of perspective as to what is and isn't possible and why.

The first being auto-updates. Auto-updates are a feature we know and love. Browser vendors push out new versions of their browser every month and provide us with the latest features and security fixes. Instead of waiting for the user to eventually get around to doing an update, they can simply drop it down on the spot.

And while most users will get around to doing the update, it may end up delayed by a week, plus it's a hassle to have to go into a screen and fiddle around with things, right? Correct. However. That is only the case for something as uniform as the browser. 

Browsers, operating systems, etc. behave fairly consistently no matter what system they are on, this is not so for a forum. Forums behave dramatically differently depending on their use case and invite customisability on the lowest levels, a mishandled update can utterly wreck a forum and rip out vast amounts of functionality.

In addition, changes to the core of forums tends to have a ripple effect on templates, and even when they don't, forum software developers are usually making improvements to the templates which might wind up being incompatible with the themes deployed by administrators and may even contain fixes which an admin may not comprehend.

Communication and time is key here. For custom themes, the developers have to co-operate with the theme authors so that they can bring things up to par with what one may expect from the software except for some cases like a simple theme which hides features in a software with too much bloat.

Also, it's useful for theme authors to know *why* a change has been made and that it isn't just frivolous and something you're risking breaking a working installation for. Something which also takes time and while not ideal, it's usually useful for admins to look over diffs and to sometimes apply changes themselves once they're certain that nothing will break.

In such a world, auto-updates simply aren't possible as the forum software developers and the theme developers simply don't see eye to eye, no rather, they don't exist in the same universe. Theme developers have their own little words which they nurture and the forum software developers have to co-ordinate with a vast number of worlds to draw out the software's full potential.

I have seen attempts to come close, however they have all degenerated into seas of ultra similar or identical themes where I presume that no one dares stray too far from the nest as otherwise they'll be in for a world of pain when they try to bring it all back in line and this is something which we shouldn't be moving towards.

Themes should be as unique as the sites they embody, rather than just another faceless shadow in the endless darkness. What are these attempts to come close you may ask? Not quite automatic updates and not even remotely similar, but a concept which is usually commonly entangled with it. Extremely. frequent. updates.

Updates to the point where no one can catch their breath and which comes in and breaks a load of things before flying back out. And when coupled with automatic updates can be particularly devastating.

And while we can mitigate the impact of updating, in part because we can decouple the templates from our business logic unlike some of our competitors, there are limits as there comes a point where we do have to make changes to templates and we can only defer them for so long.

But it's not all darkness for auto-updates. It may be possible to roll it out for changes which don't leak too far out of the core (we don't want to break plugins or core mods or templates) and may be a powerful option for swifly deploying security updates and minimising the chance for someone to take advantage of an exploit.

However, it's often easy enough for someone to just hit a button in a control panel to update, and then to review the changes and there are an endless number of downsides for auto-updates with the only benefit in many cases being that someone doesn't need to go in to run the update, whether via the control panel or via a different mechanism (we'd like to keep things in the control panel).

This limits the utility of auto-updates to critical cases where a patch needs to be out, for instance for a security incident, however even these cases aren't clear cut as the admin may have already patched the issue whether accidentally or not, and we really don't know what they have done locally with custom changes to the code, thus there would need to be controls on such a feature to minimise the issues which may arise.