GNOME Shell to support a "classic" mode
Posted Nov 22, 2012 9:14 UTC (Thu) by ebassi
In reply to: GNOME Shell to support a "classic" mode
Parent article: GNOME Shell to support a "classic" mode
Isn't this a good thing? Assuming that the original author isn't perfect.
one thing that has been learned over the past 15 years of GNOME is that there are limits as to what you can make your environment do, assuming you still want to provide a coherent experience that doesn't break horribly if something goes ever so slightly wrong. it has nothing to do with perfection (which we know is the enemy of "good"), but more with surface area and interaction between different parts of the system. complexity increases exponentially with the number of moving parts, after all.
if you have, for instance, 2 extensions then you need to handle four cases: only (a) is loaded, only (b) is loaded, both (a) and (b) are loaded, both (a) and (b) are unloaded. on top of that, dependencies and ordering may be issues (and one of the things that Clem found is that yes, they are): now you have to handle the case where (a) is loaded before (b), and the case where (b) is loaded before (a). total: six cases, for two extensions; if you look at the list of extensions needed to implement a "classic" UX, you can start to extrapolate how many failure conditions have to be checked to avoid breaking your UI. now a solution is to make it a single extension, or at least a set of independent extensions that do not interact between them and do not rely on ordering, and eliminate all of this in one fell swoop - but this falls outside the constraints on Cinnamon, which allows you to control individual extensions, and has different extensions depending on each other. again, fair enough: I cannot even remotely pretend to dictate what Clem should or should not do, and I don't begrudge him the necessity to fork, given his constraints.
it's really not something that should be so surprising, but I guess it needs to be experienced as a developer to be truly believed. I posit that this is why a lot of people here, and elsewhere, think that GNOME developers are morons that like to remove third party extension points just because the want to impose misery on their users, as opposed to the people that have been dealing with the user-reported bugs and requests for the past 15 years - which is insulting and wrong, but mostly insulting.
to post comments)