Call for contributors: New Theme Development Docs

Discuss application theming and theme development.
User avatar
Frank Lion
Posts: 21173
Joined: April 23rd, 2004, 6:59 pm
Location: ... The Exorcist....United Kingdom
Contact:

Re: Call for contributors: New Theme Development Docs

Post by Frank Lion »

patrickjdempsey wrote:One thing that I've recommended for first-time themers for awhile now is building a browser-skin-only theme. Most themers only want to touch the primary interface anyway, so there is no point of packaging the other skins if you aren't going to change them.

You ask them or just assume that? When you talk to them, they also want to theme the Options Window as well, so preferences.css also has to be added.

The problem here and it's one that's always been here and it used to be how our MozillaZine KB was, is this idea that if you throw endless information at people that some of it is bound to stick. It doesn't, it confuses people and they give up. I know, I've talked to them.

I still remember before I started making themes, I used to reads the yards upon yards of posts here, and at Mozilla, all supposedly explaining theme related things and I didn't understand a word of it. Luckily, I have a 'How hard can it be?' mindset and just pressed on and made one. Made one, I'd add, without ever asking one single question in this forum and when I had done it I felt like Peggy Lee and thought 'Is that all there is?''. You see, it wasn't understanding the theming that was difficult, it was understanding the over-complicated waffle that was endlessly talked about theming that was difficult.

You should all feel free to turn this thread into a good ol' 10 pager, so we can all walk away feeling that we have really got to grips with this problem and that it has now been thoroughly discussed. However, I guarantee you one thing, not one single potential themer will have benefited from it and not one single new theme will have been made as a result of it.

People starting out on making themes just need a simple template and simple, concise, instructions.
"The only thing necessary for the triumph of evil, is for good men to do nothing." - Edmund Burke (attrib.)
.
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Call for contributors: New Theme Development Docs

Post by patrickjdempsey »

I don't think there's ever going to be a simple concise template with Firefox again. Those days are over. There's 4 "default themes" for Windows now all scrambled together. The best I could recommend and hope for is for Mozilla to take the idea of a basic theme seriously and build something that doesn't require a PhD in CSS to master. Cut out a bunch of that native-OS-look junk that not even native OS developers care about (when was the last time Windows Media Player or IE followed OS UI guidelines? ever?) and you gain simplicity of maintenance and better cross-platform interoperability.

There was a time when Firefox was developed from a standpoint of building code that was easier to maintain across platforms. Seeing that IE and Safari are now OS-native-only, and the Firefox supported OS's now all have multiple generations of vastly different "looks", it should be obvious that the only logical path forward is one of a more unified cross-browser experience. Maybe that will come with Australis... if not then it's been a huge waste of 2 years of development.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
KLB
Posts: 2282
Joined: December 21st, 2003, 9:25 am
Location: Saco Maine
Contact:

Re: Call for contributors: New Theme Development Docs

Post by KLB »

Frank Lion wrote:I still remember before I started making themes, I used to reads the yards upon yards of posts here, and at Mozilla, all supposedly explaining theme related things and I didn't understand a word of it. Luckily, I have a 'How hard can it be?' mindset and just pressed on and made one. Made one, I'd add, without ever asking one single question in this forum and when I had done it I felt like Peggy Lee and thought 'Is that all there is?''. You see, it wasn't understanding the theming that was difficult, it was understanding the over-complicated waffle that was endlessly talked about theming that was difficult.


I had the same experience trying to learn how to create a theme. The documentation was confusing to the Nth degree. I don't think this is unique to Mozilla's documentation, it is a problem with most programming type documentation. This stuff is rarely written in an easy to understand manner. The problem is this type of stuff tends to get written by people who might understand the technology they are writing about very well, but they don't understand how to write in a clear manner. Also important details invariably get left out.

I think the way I finally figured out how to create a theme was that I copied the classic.jar file, broke it apart and then broke apart someone else's theme to figure out how they packaged it. With the default theme no longer packaged as a distinct package, it has become much harder to use the default theme as a starting point.


Frank Lion wrote:People starting out on making themes just need a simple template and simple, concise, instructions.

Agreed! The document should start as a pyramid with the most important stuff first. What does it take to create a basic base theme and how to package it. More complicated stuff can come later in the documentation. Too often I find I have to dig through lots of technical noise just to figure out the basics, when in reality the basics should have been presented up front.

What would be nice is a default base theme that people could start with, but I have no delusions that Mozilla would put any effort in maintaining an up to date base theme for folks to use as a starting point.
Ken Barbalace - AMO Editor (I focus on reviewing themes)
I maintain Classic Compact, a very compact yet clean Firefox theme.
EnvironmentalChemistry.com (Periodic Table)
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Call for contributors: New Theme Development Docs

Post by patrickjdempsey »

Frank Lion wrote:
patrickjdempsey wrote:One thing that I've recommended for first-time themers for awhile now is building a browser-skin-only theme. Most themers only want to touch the primary interface anyway, so there is no point of packaging the other skins if you aren't going to change them.

You ask them or just assume that? When you talk to them, they also want to theme the Options Window as well, so preferences.css also has to be added.


I haven't checked recently, but the last time I dug through all of the available themes on AMO a good number of them barely touched anything that wasn't in the primary UI. And over the years we've had many complaints from users who found themes that were supposedly supported that were broken because of not-updated old default theme code in /global/ or /mozapps/. On the other hand, I've had many users claim themes of mine that are badly broken work just fine, because they simply never go anywhere that isn't primary UI. Some themers and some users want total immersion. Some just want a facelift. And what we currently have is a system that doesn't offer an easy way to do either.

Edit: and the method you posted probably works great on XP if you are using an non-default layout. That same code on Windows 7 with the default layout might not (and probably doesn't) work. Which just brings me back to my point about the necessity of a platform-agnostic theme.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
Frank Lion
Posts: 21173
Joined: April 23rd, 2004, 6:59 pm
Location: ... The Exorcist....United Kingdom
Contact:

Re: Call for contributors: New Theme Development Docs

Post by Frank Lion »

KLB wrote:
Frank Lion wrote:People starting out on making themes just need a simple template and simple, concise, instructions.

Agreed! The document should start as a pyramid with the most important stuff first. What does it take to create a basic base theme and how to package it. More complicated stuff can come later in the documentation. Too often I find I have to dig through lots of technical noise just to figure out the basics, when in reality the basics should have been presented up front.

In addition to me genuinely feeling this is the right approach, I also have a less obvious reason for suggesting it and it is this - not only do we need new themers, we need new graphic artists making those themes.

When was the last time we saw a new, totally original set of toolbar buttons? I look around and see 'Those are recoloured from the Firefox 3 default, those are derived from Red Shift, which were derived from Black Japan. That lot came out in 2004, those from 2005 and the list goes on and on.

Now, this sounds like a criticism of other themers, but it's not. Your own theme, Ken, is not only popular, but your users do not want you to change the style of your theme or buttons, any more than mine want to see different toolbar buttons on my Blue Moonlight Vista. We cannot add more themes to our stable, as our workload is heavy enough as it is.

No, the invigorating changes need to come from outside and not from coding geeks who find code stuff fascinating, but from artists who have vision and new ideas together with the skill to make it happen. There are exceptions, but those type of guys tend not to be that great at coding, therefore we need to make it as easy as possible for them to make themes.

For Firefox theming to move forward, or even survive, we need people like them.


patrickjdempsey wrote:Edit: and the method you posted probably works great on XP if you are using an non-default layout. That same code on Windows 7 with the default layout might not (and probably doesn't) work. Which just brings me back to my point about the necessity of a platform-agnostic theme.

The method I posted will work not only across all Windows platforms, but also across Mac and Linux as well.

The 'trick' is to use as little code as possible and to let the graphics and graphic effects do the work. Firefox can never, and does never, care what colour or design images are in, just so long as they fit in the -moz-image-regions designated for the original images. Same is true when using gradient backgrounds.
Last edited by Frank Lion on November 4th, 2013, 8:20 pm, edited 1 time in total.
"The only thing necessary for the triumph of evil, is for good men to do nothing." - Edmund Burke (attrib.)
.
User avatar
KLB
Posts: 2282
Joined: December 21st, 2003, 9:25 am
Location: Saco Maine
Contact:

Re: Call for contributors: New Theme Development Docs

Post by KLB »

Frank Lion wrote:In addition to me genuinely feeling this is the right approach, I also have a less obvious reason for suggesting it and it is this - not only do we need new themers, we need new graphic artists making those themes.

When was the last time we saw a new, totally original set of toolbar buttons? I look around and see 'Those are recoloured from the Firefox 3 default, those are derived from Red Shift, which were derived from Black Japan. That lot came out in 2004, those from 2005 and the list goes on and on.

Now, this sounds like a criticism of other themers, but it's not. Your own theme, Ken, is not only popular, but your users do not want you to change the style of your theme or buttons, any more than mine want to see different toolbar buttons on my Blue Moonlight Vista. We cannot add more themes to our stable, as our workload is heavy enough as it is.

No, the invigorating changes need to come from outside and not from coding geeks who find code stuff fascinating, but from artists who have vision and new ideas together with the skill to make it happen. There are exceptions, but those type of guys tend not to be that great at coding, therefore we need to make it as easy as possible for them to make themes.

For Firefox theming to move forward, or even survive, we need people like them.


I totally agree with you about the need for new themers with new ideas. I so wish there was a greater variety of beautiful themes on AMO.

For what it's worth, I've never considered my theme to be a hallmark of high graphics quality. I'm no graphics artist and don't pretend to be, so no offense was taken. I don't think that graphics quality is a primary concern for those who use my theme. :)

I honestly don't know how some people have the creativity to come out with and then the diligence to maintain multiple themes. One theme is all I can handle, and I'm barely keeping up with that one.
Ken Barbalace - AMO Editor (I focus on reviewing themes)
I maintain Classic Compact, a very compact yet clean Firefox theme.
EnvironmentalChemistry.com (Periodic Table)
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Call for contributors: New Theme Development Docs

Post by patrickjdempsey »

Frank Lion wrote:The 'trick' is to use as little code as possible and to let the graphics and graphic effects do the work. Firefox can never, and does never, care what colour or design images are in, just so long as they fit in the -moz-image-regions designated for the original images. Same is true when using gradient backgrounds.


The chrome manifest override flag used in windows and OSX default theme swaps out the basic toolbar.png file with an ever-so-slightly-different image file. The workaround, of course is to provide all of the required renamed image files... but my point is that this isn't even remotely obvious to someone coming from the outside. Because it's an external sledgehammer solution to a very simple CSS problem. With any luck Australis will strip out most of that mess, but the programming culture that came up with that "solution" is still hard at work and will undoubtedly gift us with more of these jewels.

But I agree that there needs to be a fresh injection of new designs. Mozilla really spoiled their own soup by running Personas as some great User Interface Design Challenge. I've also run into a handful of Firefox "themes" on places like DeviantArt which turned out to be really elaborate (and very fragile) userChrome hacks. I can only guess that these exist because the official documentation and the lack of supporting culture for real Themes is so poor.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Call for contributors: New Theme Development Docs

Post by patrickjdempsey »

To drive home how incredibly out-of-date all of the available documentation is, here is the current folder paths for creating a Theme from the Firefox default theme for Windows as of version 25.0, in a style similar to Pardal's YATT site:

Image

I put the aero stuff in grey because support for Aero via the chrome.manifest is not actually required, because it can be handled from within the theme by using media queries.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Call for contributors: New Theme Development Docs

Post by patrickjdempsey »

This is good news for Themers... with this media query you can use Windows version-specific code without using manifest flags:
https://developer.mozilla.org/en-US/doc ... os-version
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Call for contributors: New Theme Development Docs

Post by patrickjdempsey »

Here is an interesting snippet from the Coupled Train conversation jorgev posted here:
https://groups.google.com/d/msg/mozilla ... bN5haqdpMJ

This is in a conversation about the difficulty that localizers face with late-landing new features:

Axel Hecht wrote:I've focused this post on contribution metrics, mostly because I think
they matter most. Engaged people with rewarding contribution patterns
are most likely to create good products. I realize that I'm not talking
about completion metrics at all. They've sadly lost their meaning over
the course of the past releases, one devtool by the other. One third of
the Firefox user interface is actually developer interface
, and that
follows different rules. Getting back comparable completion metrics is
something we've started talking about, but we're not close.


So obviously Devtools isn't just a problem for Theme developers. It's just flat-out a problem. Is there, after 2 years of it being a problem, any plan to reign in this beast?
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Call for contributors: New Theme Development Docs

Post by patrickjdempsey »

Not sure if Jorge is still around, but this is a bug I filed a few years ago which appears to still be valid. There are many simple things like this that need to happen throughout Firefox to make it friendly not only for themers, but for extension developers as well. How is a closebutton not a standard UI element?

https://bugzilla.mozilla.org/show_bug.cgi?id=706345
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
jorgev
Posts: 53
Joined: May 26th, 2005, 9:54 am
Location: Costa Rica

Re: Call for contributors: New Theme Development Docs

Post by jorgev »

patrickjdempsey wrote:There are many simple things like this that need to happen throughout Firefox to make it friendly not only for themers, but for extension developers as well. How is a closebutton not a standard UI element?

https://bugzilla.mozilla.org/show_bug.cgi?id=706345


If you file a bug and don't see any activity in it, it's likely that it is not filed in the right component or has the right people CCd on it. Firefox > General is where most uncategorized bugs end up and have a very slim chance of getting any attention. If there are other bugs that matter to theme devs and haven't gotten any attention, it would be good that you bring them to our attention so we can try to nudge people and see what can be done. This doesn't guarantee success, but it increases its chances significantly.
Jorge Villalobos
Add-ons Developer Relations Lead, Mozilla
User avatar
jorgev
Posts: 53
Joined: May 26th, 2005, 9:54 am
Location: Costa Rica

Re: Call for contributors: New Theme Development Docs

Post by jorgev »

I reviewed this thread and the links you posted. I appreciate you taking the time to write such detailed responses. It helped me realize a few things about theme development I wasn't aware of.

I created this Etherpad with a basic structure of the docs I think we can create for this, and their subsections: https://etherpad.mozilla.org/theme-docs. I'd like to hear your feedback on this (you can comment on the pad itself).

I would also like to know what you think would be the best way to work together. I'm thinking that a shared Google Doc is handy because we can all hack on it at the same time without worrying about change conflicts, there are commenting tools and revision control. I can set that up to get started if you agree that's a good approach.
Jorge Villalobos
Add-ons Developer Relations Lead, Mozilla
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: Call for contributors: New Theme Development Docs

Post by patrickjdempsey »

Yes. I'm sure I don't know how to classify bugs. I'm not an internal Mozilla developer nor a Bugzilla-guru. I've tried classifying bugs before and have been reprimanded for filing them wrong. In the case of this bug, how was I supposed to know that a change involving XUL, XBL, and CSS that touches a dozen different components would be classified as a "Theme" bug? This is perhaps one of the biggest problems with Firefox development in general. Really important bugs get lost or ignored because they aren't filed by people "in the know".

I'll take a look at your doc soon... not sure that I'm terribly excited about Google docs... joining any kind of Google service is now an avalanche of interconnected services which would appear to exist solely for the purpose of turning anonymous search tracking into a systematized real-world tracking network which Google somehow plans on making money off of, that I do not want any part of.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
jorgev
Posts: 53
Joined: May 26th, 2005, 9:54 am
Location: Costa Rica

Re: Call for contributors: New Theme Development Docs

Post by jorgev »

Yes, Bugzilla is big and messy, and sometimes people can be impatient. Which is why I recommend that you let us know when you file bugs that you think need quick attention (or CC me on the bug). We can help you with that.

I'm not too happy having to deal with Google services either, but in this case I think it's the best tool for the job. Etherpad isn't good for formatting and wikis aren't good for simultaneous editing or inline commenting.
Jorge Villalobos
Add-ons Developer Relations Lead, Mozilla
Post Reply