Planning the Future of Complete Themes

(Slomo) #9

I also use the Gnome 3 Theme for Firefox. In generall i think Themes that make Firefox look native in diffenrent desktop environments are important to have

(grrmoz) #10

I’ve been using firefox before it was even called firefox, and this news could very well be the last straw. Ever since ff 4.x the browser has been getting worse and worse. It all started when someone at the company decided the best thing to do was to make ff less unique and more of a chrome clone. they added a bunch of useless features nobody ever asked for. they made the default theme more like chrome. they even adopted the dumb new version numbers for every minor release. but I begrudgingly kept using it, while at the same time becoming less and less happy with the direction the company was going.

then, the big change came along, I think it was ff v30? It was when they basically ruined most of the classic themes I used to love, and started to take away the flexibility that separated it from the other crappy browsers out there.

Afterward, people had to resort to using an extension JUST to get most themes to look like they used to. I almost called it quits then and there, after over a decade. But what of the alternative? I DETEST chrome with a passion. I detest how they lock you into one theme with hardly any flexibility, that bare, spartan ui. I detest the laughable attempts that they call ‘themes’. Theres a lot of other stuff I dislike, but basically what the hell happened mozilla? you guys used to be about options. about flexibility. THAT is what I loved about it. Now? they keep cutting back on the the reasons why we chose FF over other browsers, and for what?

(Ihavnoclue57) #11

I’m not a developer, just an end user, and I just want to say that one of the main reasons I use Firefox is because I love my current theme. FT Deepdark and the UserStyles that go with it make my browser look great. I greatly prefer these dark themes to the boring light colored base Firefox.

(Tim Nguyen) #12

I would like to see a devedition theme like system, something that can style the whole Firefox UI in a restartless way, and that is painless for authors to maintain. Providing a system that exclusively allows overriding the browser CSS variables would be perfect. This is how the Developer Edition theme works (with some extra CSS code too). Of course, that would require work converting most of our UI to use CSS vars.

(Sdar) #13

The intent of the bug was to start the process of outlining how Complete
Themes must evolve to make life easier for theme designers, Firefox
contributors, and users. Unfortunately, this intent was lost in the brevity of information supplied and the medium of communication.

So lets take a look:

As part of Firefox great-or-dead, we’ve decided to stop support for “heavyweight” themes which can do arbitrary styling and replace chrome packages.

So this means the decision has already been made before opening the bug (that is not a great way to do things maybe applying this new “great-or-dead” thing here will be useful).

This is being removed as part of the great-or-dead initiative and it seems that users are not the ones deciding what’s great, instead someone has decided for them that complete themes are not great but the incredibly limited lightweight ones are, it uses some pejorative language to make complete themes look bad so i did it too.

We may simply remove that support completely, or we may extend lightweight themes with some additional features such as changing colors or icons.

And now we have two options remove support completely or extend lightweight themes so we can change icons and colors.

So metaphorically It’s like replacing a car with a wheel and then adding a windshield.

Now for the constructive part of the comment:

  • Maybe something like “the alternative should be at least as powerful as the existing solution” can complement the “dead-or-death” rule, or whatever it is, it will probably make users happy.

  • Add more transparency so users can contribute before the decisions has been made.

1 Like
(Benjamin Smedberg) #14

Part of the decision has already been made. We are moving Firefox addons (themes and extensions) away from a model where you can perform arbitrary styling or scripting of the browser chrome. This is an engineering-driven decision, and it’s unavoidable and necessary for the long-term health of Firefox. Not only are we moving Firefox away from XUL, but we are likely going to make significant changes in the way the UI is structured. It is likely that some parts of the UI will be implemented using native widgets, and other parts will be implemented in HTML, but the exactly DOM structure may involve independent connected with well-defined API surfaces.

The current theming model where themes can make assumptions about the DOM structure, classes, IDs, and all that is not something we can support any more, and so we are clearly going to kill that. And we are going to do that quickly, so that we can proceed with the other necessary restructuring, including things like gofaster addons. I’d like to see this fully rolled out by Firefox 49 which ships the middle of next year.

What we haven’t already decided is the feature set of the replacement system, or what the API might lookslike. Kev, as the Firefox product lead for addons (including themes), is charged with coming up with a plan. There are a bunch of tradeoffs to make and I don’t envy his job!

I apologize that the communication didn’t work well. My goal was to file a bug to track work so that Kev could kick off a reasonable discussion and get feedback from the theming community. I’ll need to figure out a better way to provide context in the initial bug reports for each of these complex projects as we tackle them.

(Nimish Jha) #15

The current theming model where themes can make assumptions about the DOM structure, classes, IDs, and all that is not something we can support any more, and so we are clearly going to kill that.

This is an excellent decision, and while the transition will be painful, it will make life easier for theme/plugin developers in the long run. “Engineering-driven decisions” is music to my ears.

It is likely that some parts of the UI will be implemented using native widgets

This is probably a bad idea, what with the arbitrary designs OS vendors may force on users in future.

I like the browser chrome to be as minimal and unobtrusive as possible, and almost fade into the background. Some people like big shiny toolbars and bright buttons all over the place. Others might want the toolbars to be toggle-able using a keyboard shortcut, or only show when they move the mouse. It should be possible to cater to all these groups using an API.

Even something a lot simpler, where users can create scalable bitmaps for buttons, toolbars, icons, etc. (Does anyone remember Winamp 2 skins, or Windows 7 visual styles?) would work well - as long as themers could define widget sizes, margins, padding and so on.

What if theme developers could export a file with all the necessary CSS selectors in it? This would save a lot of hunting around in DOM Inspector. I still break into a cold sweat when I remember trying to style tree elements in Firefox/Thunderbird.

I also really like the fact that presently I can add/modify keyboard shortcuts for commands, and add/remove items from popup menus. These things should also be configurable via an API.

There have been some really bad design decisions in the past, like a giant green animated arrow popping up whenever a download starts, that doesn’t provide any useful information and is visually jarring. (I think it was only in the nightlies, but that particular idea should never have seen the light of day). If I’d prefer to see small, styleable progress bars in the status bar for each download, I should be able to implement that. If someone wants a textual readout, they should be able to do that.

Keyboard navigation should be a first-class feature. I remember when logging in to a website for the first time, I could tell Firefox to remember the password by pressing Alt-R on a familiar dialog box. Then the dialog box turned into a fancy, non-theme-compliant popup, and Alt-R no longer worked. I remember when I could clear the download history by pressing Alt-C on the download history dialog. Can’t do that any more. Users should be able to define their own keyboard shortcuts in text-based config files.

To do something as simple as take a screenshot in Firefox, I have to either open a console and type screenshot --fullpage, or open Developer Tools then hunt-and-click on the camera icon. Why shouldn’t I be able to edit a text config file and specify, for instance, that Ctrl+PrtScr = DevTools.Screenshot ? Again, it should be easy to export all available commands to a plain text config file, like cvarlist and cmdlist in Quake.

As another example of why this is necessary, Thunderbird has some powerful keyboard shortcuts that don’t use any modifiers like Ctrl or Alt. So if I mistakenly think I’ve focused a search box and start typing, before I know it, a bunch of emails have been archived, or marked as junk, or something of the sort. This has caused me a great deal of unnecessary pain a number of times.

I should be able to enable/disable addons via user-configurable keyboard shortcuts. Presently if I want to disable, say, uBlock Origin, I need to open the addons page, then hunt for uBlock Origin, then click Disable. Why can’t I define Ctrl-Alt-U to toggle uBlock?

There’s no need to put esoteric options in the Tools > Options dialog box, about:config is fine. If a high level of configurability is a pain to provide support for, just provide a button labeled “Reset all UI changes” - like “safe mode” for the UI - and require users to click that before they ask for support.

Make configurations easily export- and import-able. uBlock Origin does this very well. One-click exports to/imports from human-readable text files.

And please, please, please make the status bar an integral component. Those who don’t want it should be able to hide it, but for some of us it’s essential.

Lastly, keep some sort of barrier to entry to being a theme/addon developer. Have a strict API, unforgiving of errors and intolerant of bad practices. That’ll go a long way towards not letting people create themes/addons that are badly designed and built.

(Ashneo76) #16

Unfortunately the decision to phase of XUL was made in a similar manner, suddenly. So, saying that the decision has already been made, is a half baked excuse. Complete theming is one of the key features of Firefox and theme combinations like vimperator and FT Deepdark are one of the main the reasons of using Firefox. Yes, you need to move forward, but the reasons provided for removing themes are unsatisfactory. Alienating the userbase worked out quite well in the past for Nokia. (It didnt) And if Firefox is to stay and you really want feedback, then where was the polling to see whether you should go with the process. Firefox tries to market itself to be open but it sure doesn’t feel like it. It just feels like another chrome follower now.


As long as Classic Theme Restorer and FT DeepDark still work, I’ll be happy regardless of the technology underneath that makes them work. So extend the capabilities of “lightweight” themes to whatever extent is needed to make that happen. I do not want a browser that looks like Chrome, I want the Classic Firefox look plus a dark theme like FT DeepDark for reading fics on AO3 (I use AO3’s Reversi dark theme and having the browser chrome dark as well makes for a much more pleasant experience).

(Ourphthemingol) #18

Most of you just don’t get it do you? 100% of current complete themes will die period end of sentence.
And then any extensions using XUL will die end of sentence.

I notice Mozilla has managed to bury this “discussion” in the boonies where real themers are very few on the ground.
You know where they hang out why no “Reaching out” there?

(Nimish Jha) #19

100% of current complete themes will die period end of sentence.

Well, yes, removing XUL support will break every single extension that uses XUL. But popular addons will be ported to the new API, which will be a lot of work, but after that it will be much easier to maintain addons/themes.

XUL is clearly unsustainable and needs to go if Firefox is to survive. That’s a given. The only thing that needs to be discussed is what features to support in the API and how to best implement them.

Mozilla are trying to do the right thing, let’s not crucify them for it.

(Ourphthemingol) #20

Sorry Mozilla have a long long history of not “doing the right thing” this is just another example of spin doctoring. Six to twelve months down the track we will still have zero theming ability and almost zero extensions. I will wait for the not enough man hour excuse and the limited resources excuse plus the old the developer has moved on chestnut.

(BTreeHugger) #21

Just saying ridiculous stuff doesn’t make you right, you know. You and the people on that MozillaZine thread seem to have a terrible persecution complex, and want very badly to vilify Mozilla for not going along with your demands that they just magically keep things the same, while improving them. In real life that doesn’t work. Maybe working with the actual browser developers here or on IRC would be more productive than moaning about it on an end-user forum? And you guys wonder why you’re “being ignored”…

(Saturanus) #22

I would say Mozilla should also not forget us power users. Some years earlier we had a well going Mozilla fangroup in our town of around 50 users. After Australis and the more and more upcoming feature removals it dropped to around 28 users still using Firefox.

And as it seems this upcoming changes will make some more 6 members jump away, including me most likely. What is left then? Obviously the user group Mozilla seem to see today as their core user base - Non tech users! Many of those who left have supported Mozilla with monthly donations for quite a long time btw. I know those numbers are ridiculous compared with the whole user number of Firefox, but power users are still a high number of users and losing them would hurt Firefox and Mozilla’s reputation a lot!

What i want to say… Non Tech users get their features now into the core or bundled as system add-on - Why is that not possible with power user features like advanced UI customization, having a status bar or the option to combine urlbar elements with other elements like in Firefox 22 url field, buttons and tab bar? Why we have to get these back on our own somehow while the non techies do not have to worry and get features which need more maintenance time compared with features mentioned earlier ? It would be nice if Mozilla would remember that we tech users have been loyal all those years to a large degree. And we have been the ones who brought other users towards Firefox, we have constantly advertised and evangelized Firefox to almost everyone, we have been a large part that Firefox has become that big around version 22 - that is no arrogance, that is a fact :wink:

Would it be that bad to get a bit of respect back and keep those features or port them almost 1:1 if possible?

Brand loyalty is a powerful thing, but what Mozilla has done recently have weakened this value by a lot in my opinion. Do not forget Mozilla, there are some new awesome power user browsers out there. Sure, you could get along without us, like Opera without their advanced users, but don’t you think you should do a little bit to keep us on board too?

Just for your information, still using Firefox 22 at home as this was the last version which supported both, design for non tech and design for tech users! I would update in an instant if you treat power users and non tech users as equals again. Will use Firefox 22 as long as possible in the hope that you still decide to offer again the same power user dedicated feature set in the future instead of what you are planning right now. Otherwise, when Firefox 22 totally gets unusable i make a switch to Otter-Browser as it seems.

(Saturanus) #23

Mozilla has done a lot to alienate power users in recent years. I understand, it is important to try to gain new user groups to survive, but that does not necessary mean that power user features have to go.

Both, simple and comples features can co-exist side by side. It was possible around Firefox 22 and before, and suddenly it should not?

Mozillazine guys are dedicated guys who always stood with Firefox in all those years, it pains them like every other power user to see that Mozilla is putting more dedication towards non tech users today than into the so called Geek group!


It’s difficult to offer useful suggestions about something as vague as HTML with some native bits. That sort of change doesn’t just affect Theme-makers either, it affects userChrome.css and Stylish users too - so many problems users have with Firefox can be solved by adjusting the interface with CSS, it would be a terrible blow to lose that.

Is the plan to use the API to build the Default and DevEdition themes?

(BTreeHugger) #25

My advice to Mozilla is what “optional” hints at. It’d probably be more productive to start by coming up with a hypothetical API based on your default and dev-edition themes, as well an outreach program to current theme implementors (presumably something based on browser.html or a transitional tech toward that goal). It seems that without some more concrete ideas, you’re just going to hear from self-styled “power users” who don’t even want to believe that you want to keep a full-themeing API at all.

(Ourphthemingol) #26

Mozilla don’t want to maintain complete themes how hard is that to understand? Many ordinary people like complete themes and installed them by the millions . To my knowledge they are not in anyway “power users” . Doing the fanboy thing does not help your cause

(BTreeHugger) #27

Did you even read this post, or are you just so jaded that you want to waste everyone’s time by hijacking this thread for the latest episode of “disgruntled user throws a fit?” Some of us genuinely want to see the situation with themes in Firefox improve, and you’re not doing anything productive here. If all of Mozilla just wanted to rip out full themes entirely, they wouldn’t even bother with posts like this. And besides, if it does turn out that they’re lying, we’ll find out soon enough. We don’t need your help to see something so obvious.

(Saturanus) #28

You do know, Mozilla could recreate the old experience (Firefox 20-22) which offered incredible functionality in the core and offered both advanced and not so advanced users the best of both worlds.

Just take a look at Vivaldi’s Non native UI - With JSS and Javascript it would be without trouble possible to recreate all the features Mozilla has deleted, and even theming would be similar possible like it is right now. Statusbar - no problem, All UI elements movable - also not a problem, double row tabs - also only a matter of code - You see, the options are almost without limits.

The only reason that someone is starting to talk about API is if it is only partially planned to recreate the feature set which is going to be removed. When Mozilla switches over to a more native UI if i compare it with the XUL system right now, much more features are vanishing… Userchrome.css anyone?

A negative example was Opera new - Switching over to Chromium with it’s native UI (btw. here are much similarities between what Opera did and what Mozilla plans) forced Opera to give up all advanced features and the API’s they have been creating afterwards which have been introduced to offer some kind of “feature replacements” are rather limited and similiar to Australis and beyond, the advanced users would be put in responsibility to bring features back… again!

Anyway, the point is that: it would clearly be possible with the help of certain technologies to bring back a browsing experience which works for both, tech users and non tech users, but the thing is, Mozilla is not interested at all in doing that anymore.

And yes, i understand the need to make Firefox more attractive for non tech users, as they are the majority of users. But on the other side, why not hidingall advanced features behind some switches which can be activated and deactivated… a so called expert mode? About:config is a good enough solution to keep non tech users away from advanced functionality!