Tuesday, December 16, 2014

GTK3 Thoughts And New Version Theme Compatibility.

GTK3 Thoughts And New Version Theme Compatibility.

We fully understand the importance of change and progress... This article is not meant to criticize anyone or any project. It is meant to give a deeper insight into things that goes on behind the scenes and how crazy things can get.

Nearly every time Gnome/GTK 3 Release a new version Every 6 Mouths or so themes written for previous versions nearly always become broken in a lot of ways and the theme developers have to continually update and fix things. This can be a huge effort. Despite being Gnome version 3.14 (from 3.0) Widget names are still being changed left and right. Hopefully they are getting better? I am not complaining. I am just stating a simple fact a lot of end users (Those who don't write themes) Don't always know or understand. They just see things broken and expect a easy fix, sadly it is not that simple :( 
Gnome/GTK 3 Themes Despite their "seamless" nature to the end user (Eg. you can quickly and easily transition between hundreds of awesome themes on your GTK Desktop) Take a lot of hard work to Create , Design and keep updated. The later will be my focus of this brief post.

A lot of time and effort (Unpaid, long periods of time) is put into most GTK3 themes. The Designers of your favourite theme  most likely do this out of passion and wanting the create something amazing for users like you. So while this is all fine and dandy there is also a kicker to this. Even after they have spend all this time and  have brought users an "amazing polished" theme they also have to maintain and continually update it. This may not seem like a huge deal but if you consider many themers have a Job, University etc. This gets a little difficult for a large number of reasons. Especially when every 6 mouths you have to rewrite and redo major parts of your theme. I commend those who valiantly churn out new builds like Vertex, Numix, Zuki etc. They work really hard. But I sit here and still don't understand why things have to be like this, A piece of software you have carefully crafted that breaks every 6 mouths that you have to keep updating all the time. it's kind of ridiculous but the way themes work they are not future proof you define ever changing variables. But this is the world of someone who does themes. This is often why you see small startup themes that release a version then go quiet... "Oh I spent weeks on that code and now I have throw it out and redo everything? Every six mouths" Sounds fun. Compare this to other types of themes that stay forward and backwards compatible.

I don't know if there is point to this article but I wanted to explain some things to those who see a really awesome theme that "does not work" on your rolling distro. The reason is Gnome GTK keeps changing things. Also the way themes work in CSS things are not , and can't be designed future proof due to limitations and implementation in GTK. These "changes" that break things are not always for the sake of progress, some are trival and weird. But some are good changes as well.

Fragmentation has been a fact in other areas of open source. But it is now effecting GTK3 themes Different distros ship different Gnome/GTK versions leading to more issues for theme developers. Ubuntu & Mint ship Gnome/GTK 3.12 (As of writing) and Rolling distros and ones just released use 3.14. The themes are nearly never backwards or forwards compatible because the way they have been implemented in GTK it's self. So you can imagine the support nightmare having 3 different versions of a theme you have to spend time on making look the same.

Sadly I have no solution to this or super cool call to action I just wanted to bring attention and spread the awareness of what is going on. We will continue to do our best to support new versions. But please understand the behinds the scenes pains.

Once again I am not criticizing anyone or any project. I have a huge respect for GTK and Gnome and QT as well. We will continue to do our best to support the "latest and greatest"  :)

P.S: I have been doing themes for a very long time (4 Years+) And I get some of the changes needed for new builds can be trivial HOWEVER some are not. And it still creates a mess with developers having to dump support very fast. And if you start a new theme you have to write two versions of the same thing if you want to support all distros.

But I guess the key might be focus.

How Does This Effect RAVEfinity?
Majorly, our main work includes Ambiance & Radiance Colors  & Ambiance & Radiance Flat Colors. These themes consist of nearly over 100 separate versions that have to be manually edited and tested by hand. We are working our best to automate the make this process more efficient and we have learned a lot in that regard however it takes quite a bit of time to do a new version. Compared to other themes that ship 2-3 or even only 1 style (we ship 100s we test by hand.)

There is also a new issue cropping up. Ubuntu is now nearly 6 mouths behind Gnome releases so this leads to fragmentation in what theme versions will work where. On top of all this Ambiance the theme we base this theme on is now nearly 6 mouths behind Meaning we have to wait for them to support it or reinvert the wheel and do it on our own. (We are going to attempt that and see how it turns out but no promises yet.)

That being said if you are a Ubuntu or Mint user (We use Ubuntu 14.04)  things are working fine right now. So I apologize to users of other distros we are doing our best to support everything but things are very time consuming and constantly changing. But we are working on it but please understand the struggle.

On top of all this I have not expressed publicly how difficult developing  our Ambiance & Radiance Color themes are time wise. They take a lot of time and effort a lot of things have to be done by hand (Human intervention is needed to make things look and work right) We have to edit hundreds of files and folders by hand and then we test all this manually and with a automated script that catches any "human errors" (We don't make many.) So the turn around time for our theme suite is ALOT more then a single theme in 1 color by another developer. But We feel this expression and customization is important so we spend alot of time working on it for you. We may have a detailed post describing development if we get time. Until then thanks for your support and thanks for understanding what we go thorough. Weeks of development. You would be amazed how some things are done by hand. We are working very hard to make this alot more efficient and automated and have made great progress and have even more steps. Until then your Understanding and support helps us immensely.

This was a long post but I wanted to explain everything that is going on. We are doing out best to stay up to date as of now (Dec 2014) We Support GTK 3.12 Only this covers a large majority of distros but we need to roll out support for 3.14 and 3.16 (coming soon) however this takes alot of unpaid time so thanks for your understanding and support.

Heres to the crazy ones. 

No comments:

Post a Comment