Theme development difficulty

Discuss application theming and theme development.
mwalden
Posts: 23
Joined: August 20th, 2009, 8:01 am

Theme development difficulty

Post by mwalden »

Hello mozillaZine readers,

This is my first post here and I hope I am posting this to the right forum.

I am the creator of the FOXSCAPE theme for Firefox. The link is:

https://addons.mozilla.org/en-US/firefox/addon/4083

I recently updated FOXSCAPE to version 3.02 and became concerned when it did not get put through to the public in what seemed to me to be a timely manner.

I then did some reading on mozillaZine.org and got the impression from someone else's experience that themes would not make it to the public if a reviewer discovered that the theme would not work on their PC platform. Of course, that would only happen if the theme was set as compatible for the reviewer's PC platform. It also sounded like the theme creator did not even get an alert describing that the theme was not put through for a particular reason. The theme just went into limbo.

Subsequent to reading this, while my theme was in the sandbox, I received an email from someone who had a Mac and they said that my newly updated theme caused the scrollbars to disappear. When I uploaded the theme I had set the compatibility to all platforms. I began to wonder if my theme was in the limbo state due to a reviewer using a platform other than Windows on which my theme has bugs.

This whole situation is really sad. I went through the process of creating a theme just as described on:

https://developer.mozilla.org/en/Creating_a_Skin_for_Firefox/Getting_Started

The content on the link above is apparently out of date, this can be seen in it's inclusion of the skin\classic\help directory which has been removed in 3.5 and in it's omission of the skin\classic\aero directory which was added in 3.0. It also makes no mention of the fact that the classic.jar file's original platform becomes the only platform that the derivative skin will work *totally correctly* with. I believe that this was a non-issue in Firefox prior to 3.0.

Now, as a result of what I understand to be a bug, described on the following two links,:

Classic Compact 3.2.0 by Ken Barbalace
https://addons.mozilla.org/en-US/firefox/addon/3699
(See: WHY THE NON-NATIVE SCROLLBARS)

Bug 423780 - Black border around scrollbars when using -moz-appearance: scrollbar
https://bugzilla.mozilla.org/show_bug.cgi?id=423780

it is the responsibility of the theme developer to create a theme that addresses certain peculiarities for each of the three main platforms. This basically means that the theme developer needs to test the theme on all three platforms while it is being developed. I don't know about others, but I simply have no way to test the theme on anything other than Windows. I wish that I could afford to have one or two additional PCs. (yes, I know about VirtualBox and Live CDs... just no free time)

I knew the bug described above existed back when Firefox 3.0 was released and had hoped that in the next big release (Firefox 3.5) it would be taken care of. That is why I had set compatibility to all platforms for the new FOXSCAPE. Unfortunately, things are not as I hoped they would be.

Firefox themes should be just like web pages in that they should render equally well on various platforms. So why can't a theme in Firefox be uniformly applicable (without fuss) across all three platforms? This bug should be fixed in Firefox so that each theme developer does not need to reinvent the wheel in the form of fixes for each platform.

Mozilla needs to improve their developer documentation. They also need to improve the status display and error reporting for themes (addons) that have yet to be made public. These changes should streamline the development of themes and eliminate any uncertainty in the developer's understanding of what is happening with their submission. I believe that the aforementioned improvements should be made prior to the release of any new Firefox browsers. The release of new Firefox browsers will only serve to further the need for updates to existing documentation. Again, they *really* need to get the current documentation up to date first.

Do you think my observations and ideas make sense? Is there anyone at Mozilla that could be contacted that has the power to properly address this situation?

Lastly, my theme finally got approved and put into the public area. I really want to make it work correctly on all platforms, if possible. So, understanding that my skin was created from the Windows version of the classic.jar file with only minimal .css changes, could someone provide a list of patches that could be applied to allow the theme to be cross platform? Alternatively, could someone possibly create a new theme from the Windows version of the classic.jar file and only apply the patches necessary to make it cross platform? The latter method would be the best way since it would provide a base theme for all developers on all platforms to work from without concern for the issues of compatibility on each different platform.


Thanks for taking the time to read this,
Michael Walden
Aronnax!
Posts: 1006
Joined: October 1st, 2004, 10:24 am
Location: Germany
Contact:

Re: Theme development difficulty

Post by Aronnax! »

Hi,
on the one hand,
you can fix the scroll bar bug very easy: viewtopic.php?f=18&t=906535&p=4756995#p4756995

You have then different native scroll bars code on Windows/Linux and Mac OS X and this solution works naturally perfect.

----

On the other hand,
a missing scroll bar on a Mac is only the most obvious bug.
Everywhere where a theme use native scroll bars, buttons, tabs, menus and so on .. has the theme then many other small bugs, when you use the code from the Windows default theme. (The Windows default theme(s) code has bugs on a Mac ... the Mac default code has many bugs on Windows and so on ..)

A perfect solution would be,
when you add as well a duplicate (from the Mac and Linux default) of the tabbox.css, radio.css menulist.css, button.css and so on ... nearly everything ;-) with an os_target solution.
Only then would it really looks and works as it should be. (Your theme looks now really buggy on a Mac)

---

Or you replace all these native stuff with a XUL solution.
The NON-NATIVE SCROLLBARS from Classic Compact are a good example therefore.
Themes like NASA Night Launch or Silvermel use for example everywhere XUL stuff. And only these themes looks and works on every system nearly 100% identical. But only these ..

---

Or you can build for every OS an own theme based in each case on the default theme.


Cheers
Last edited by Aronnax! on August 27th, 2009, 4:23 am, edited 3 times in total.
Aronnax!
Posts: 1006
Joined: October 1st, 2004, 10:24 am
Location: Germany
Contact:

Re: Theme development difficulty

Post by Aronnax! »

By the way,
Firefox themes should be just like web pages in that they should render equally well on various platforms. ...Is there anyone at Mozilla that could be contacted that has the power to properly address this situation?


The situation is well-known and already discussed with some Mozilla developer.
It is very very unlikely that the default themes will somethings works similar and without bugs on every platform. Let's face it: This will most likely never happens.

An improved developer documentation is naturally something different.

Cheers
mwalden
Posts: 23
Joined: August 20th, 2009, 8:01 am

Re: Theme development difficulty

Post by mwalden »

Thanks Aronnax! for your reply messages. You provided some useful information. Though, this was not exactly what I was looking for. I wanted a solution that would allow me to blindly develop for Mac and Linux while working on Windows. I am looking for this since I have no way to test the theme on the non Windows platforms. I guess for now I will have to change my theme to support only Windows.

I also find it disappointing that no one else had anything to add to the discussion (so far). I guess the problems in Firefox development will just persist. Though, I can't complain for something that is free to download.
honx
Posts: 3
Joined: August 28th, 2009, 2:25 am

Re: Theme development difficulty

Post by honx »

well, it seems to be a great problem to make a theme compatible to various operating systems/platforms.
i also use only windows (and amigaos, but there's no firefox for amigaos :D), so i can only test on windows.
therefore i only can offer help in translation issues (well, at least i can try to... :)).
User avatar
DonGato
Posts: 589
Joined: December 1st, 2005, 9:57 am

Re: Theme development difficulty

Post by DonGato »

Is not that no one else had anything to say about this. Is that most of us are tired to talk about these issues every couple of months. Mozilla doesn't seem to care as much as us about them or don't have the resources to find a better solution and document proper development guidelines for each new iteration. So we are at our own and we do what we can. I have a theme that works in all platforms the same but I test it in VMs when I can and have some cooperation from users using different platforms. You might want to open a thread here and seek help from such Linux and Mac users.
User avatar
ShareBird
Posts: 2740
Joined: December 8th, 2004, 7:09 am
Location: Berlin | Made in Brasil
Contact:

Re: Theme development difficulty

Post by ShareBird »

I don't think it is a problem at all. The theme system permits already that we use the flags to assign OS compatibility issues. I've firstly described how can it work here:
viewtopic.php?p=4753105#p4753105

and also here:
http://www.tudobom.de/articles/yatt/#flags

If the default theme doesn't use this approach is a matter from the default theme... I repeat: The default theme is just another theme. And again: make a theme is not "edit the default theme an change things here and there".

Firefox themes should be just like web pages in that they should render equally well on various platforms. ...Is there anyone at Mozilla that could be contacted that has the power to properly address this situation?

And it does! Like home pages you have also to look for browser compatibility. You can use a code for all browsers or use different css files for each browser. You can try to test your home page on all browsers, or simply try to assign the issues using the theory...
Silvermel - A Theme for Firefox and Thunderbird
YATT - Yet Another Theme Tutorial
Don't give a man a fish. Teach him how to fish instead.
User avatar
DonGato
Posts: 589
Joined: December 1st, 2005, 9:57 am

Re: Theme development difficulty

Post by DonGato »

I think he was saying that pages render the same in different platforms not different browsers. A page looks the same in Firefox for MAC, Windows or Linux, or at least it's supposed it should.

And I disagree that you (themer) should program for each OS. If it's supposed to provide the same experience in all the available OS then it should as well provide the same development interface for themes (it's simple styling... you don't have to fiddle with OS APIs there like with some extensions).
User avatar
ShareBird
Posts: 2740
Joined: December 8th, 2004, 7:09 am
Location: Berlin | Made in Brasil
Contact:

Re: Theme development difficulty

Post by ShareBird »

DonGato wrote:I think he was saying that pages render the same in different platforms not different browsers. A page looks the same in Firefox for MAC, Windows or Linux, or at least it's supposed it should.

I know... But this statement doesn't make any sense... The responsible to render content is the browser, not the system.

DonGato wrote:And I disagree that you (themer) should program for each OS. If it's supposed to provide the same experience in all the available OS then it should as well provide the same development interface for themes (it's simple styling... you don't have to fiddle with OS APIs there like with some extensions).

Don't rely on native widgets and you don't need. But if you want to rely on native widgets, of course you do. The APIs for render native widgets are different from system to system.

I've decided my theme must look the same on all platforms, so I don't use any native style and my development efforts are target to this concept.
Silvermel - A Theme for Firefox and Thunderbird
YATT - Yet Another Theme Tutorial
Don't give a man a fish. Teach him how to fish instead.
User avatar
DonGato
Posts: 589
Joined: December 1st, 2005, 9:57 am

Re: Theme development difficulty

Post by DonGato »

What you say doesn't make any sense. :P
We're clear that a page renders the same in the same browser across platforms?
Then why a theme shouldn't? That's what he states.

I don't rely in native widgets but that's not a panacea... there are long standing bugs that Mozilla doesn't care to fix. They should provide a way that WORKS in all platforms without the need for you to test and without bugs.
User avatar
ShareBird
Posts: 2740
Joined: December 8th, 2004, 7:09 am
Location: Berlin | Made in Brasil
Contact:

Re: Theme development difficulty

Post by ShareBird »

DonGato wrote:What you say doesn't make any sense. :P

Maybe if I say it in Portuguese? Would you make efforts to understand it? :-)

DonGato wrote:We're clear that a page renders the same in the same browser across platforms?
Then why a theme shouldn't? That's what he states.

No, we are not clear. Pages look different in the same browser across platforms. Look at forms and try to think about why buttons look different on a Mac Firefox and on a Windows Firefox. Then you will understand why a theme shouldn't.

DonGato wrote:They should provide a way that WORKS in all platforms without the need for you to test and without bugs.

They already provide a way that WORKS in all platforms. Use the flag manifests.
Silvermel - A Theme for Firefox and Thunderbird
YATT - Yet Another Theme Tutorial
Don't give a man a fish. Teach him how to fish instead.
Aronnax!
Posts: 1006
Joined: October 1st, 2004, 10:24 am
Location: Germany
Contact:

Re: Theme development difficulty

Post by Aronnax! »

DonGato wrote:We're clear that a page renders the same in the same browser across platforms?
Then why a theme shouldn't? That's what he states.

I don't rely in native widgets but that's not a panacea... there are long standing bugs that Mozilla doesn't care to fix. They should provide a way that WORKS in all platforms without the need for you to test and without bugs.



Native buttons for example have different sizes on different platforms and the native themes have therefore different code :D
When third-part themes should works and looks right on all platforms and the themer should not have much work is there only one way:
A theme must not have necessarily code for buttons, scroll bars, menus and so on ..
Firefox should use then the native code for these elements from somewhere else :D

It would need only a bigger rewrite from the whole theme system ;-)

By the way,
most of the cross platform Firefox Themes from Windows user looks on a Mac really really ugly. They build the themes clearly for Windows and add most of the time only some quick and dirty hacks for the most obvious bugs. I have always no idea, why they release these themes as well for a Mac :D
User avatar
DonGato
Posts: 589
Joined: December 1st, 2005, 9:57 am

Re: Theme development difficulty

Post by DonGato »

Oh, I forgot about that. That buttons and radio controls use the OS style and are most of the times not modifiable either by the web designers.

You're saying that they already provide a solution that WORKS in all platforms without the need for you to test and without bugs. The flags manifest doesn't provide that. You NEED to test in all platforms anyway.
Aronnax!
Posts: 1006
Joined: October 1st, 2004, 10:24 am
Location: Germany
Contact:

Re: Theme development difficulty

Post by Aronnax! »

DonGato wrote:The flags manifest doesn't provide that. You NEED to test in all platforms anyway.


You need to TEST ... yes, really unacceptable :cry:
honx
Posts: 3
Joined: August 28th, 2009, 2:25 am

Re: Theme development difficulty

Post by honx »

Aronnax! wrote:You need to TEST ... yes, really unacceptable :cry:

i don't understand logic behind this post. of cause you have to test EVERY kind of software, etc. in order to ensure its proper functionality!
testing is nothing more than a regular development process. so where's the problem in this case?
Post Reply