Pandora Gui Style Guidelines?


timofonic

GP Mafia
Joined
May 20, 2004
Messages
399
Hello.

Do Pandora will have an official GUI style guideline? So most apps will have the same style and possibly skinnable.

Regards.
 
Well, this is basically a question about GUI toolkits. If apps use the same toolkit, they share the same look and feel, and are therefore skinnable.

This will obviously be a choice between GTK and QT (since I dont think that things like cairo are skinnable?). All apps that use GTK will have a shared look and feel, and all apps that use QT will have a shared look and feel, with minimal effort from the developer.

So, there doesn't have to be a 'standard' that everyone follows, since this standard already exists in the toolkits.

Now, of course, the question remains: QT or GTK?
 
Last edited by a moderator:
Oh, I'm sorry, I thought you were referring to widget styles, since theming was brought up.

So we should worry about a common layout standard, should we?
Well, since all apps (probably) will be designed for full-screen, or 'non-bordered windows', there isn't alot to worry about regarding the external app representation. The default matchbox design with tabs can be customized externally and is not something the developer cares about.
But things like menu placement, toolbar placement and button size might be important. Is there such a standard already? If not, any suggestions? :p
 
Last edited by a moderator:
'dflemstr' said:
Now, of course, the question remains: QT or GTK?
Qt can use the actual GTK styles (qgtkstyle) and there is gtk-qt that makes GTK apps look less bad in a Qt environment. Qt is the best and GTK is more popular between the both of them they cover almost all gui apps.

As for GUI guidelines, I don't think there's anything more official than gnome/kde/openmoko and common sense.
 
Last edited by a moderator:
Just some last words from me before I leave this thread be:

Gnome System Monitor with Qt emulation:
systemmonitorgnomewithq.th.png

Better res (or in case the img-Tags still don't work):
CODE
http://img22.imageshack.us/my.php?image=systemmonitorgnomewithq.png


-vs-

KDE native System Monitor with Qt:
systemmonitorkde.th.png

Better res:
CODE
http://img12.imageshack.us/my.php?image=systemmonitorkde.png


There MIGHT be some implications with Qt emulation.
Yes, yes, I know that GTK emulation in Qt is extremely good these days (sinceit's almost a native implementation), but what if you want Qt as the primary toolkit?

EDIT: This is with Qt 4.4.3 with KDe 4.2 by the way, and the reason why the gnome-system-monitor is screwed up so badly probably is because it uses RGBA-visuals.

EDIT again: fight vs forum bugs
 
Last edited by a moderator:
'dflemstr' said:
There MIGHT be some implications with Qt emulation.
Yes, yes, I know that GTK emulation in Qt is extremely good these days (sinceit's almost a native implementation), but what if you want Qt as the primary toolkit?
Then you'd be in the same boat as KDE users, which is in fact a rather well looking maritime vehicle. Or you could use the GTK style as default in Qt as well if you cared that much about uniformness.
 
Last edited by a moderator:
Please not start a flame about QT vs GTK, this is not the idea of the original post.

The idea is discussing about a GUI style guidelines and if it they will can be forced by software. I mean a theme for the most used toolkits so apps can look similar and being usable (able to read the text and see the buttons, etc..).
 
Sorry for tangenting off in the wrong direction before.
I also think that this is a very important thing; applications should look and work the same way, and not be configured so that they only work for the creator and his/her screen preferences.

However, I don't see that much that needs defining. As you are indicating (?), much can be configured from outside the application (like toolbar/menubar sizes, if I remember correctly, in gtk2 at least).

So what, aside from button sizes, needs a style guideline or other standard? I'm asking because I'm curious about what I've missed, not because I think a global guideline would be redundant. ;)
 
Last edited by a moderator:
A unified configuration program for the visual aspect could be a plus, and a skinning system that adapts all the other toolkits could be amazing.

Anyway, it's up to the Pandora devs to explain about this as I probably missed something technical.

I'm just worried about a chaotic looking of the apps and making it difficult to adapt to them, because each one can have a totally different design depending on the developer. I think the earlier there are solutions to avoid it the better, if not look at the small problem within Mac OS X had some time ago or people will suffer the totally chaotic situation of the FOSS and Microsoft desktop platforms (at least tons of apps choose own GUI looking).
 
Last edited by a moderator:
I don't really understand where you are heading here.
As you yourself said before, Qt apps can use the GTK styles and it is possible vice versa too. So, if you have a configuration tool for gtk (which you have) and qgtkstyle (which isn't hard to obtain/port, since it only has gtk2 and qt3 as dependencies and it already runs on arm), what's the problem?

If someone doesn't use GTK or Qt, but instead for instance a pure SDL gui (like PandoraPanic and many emulators), or clutter, or something purely cairo-based, etc, a unified theme becomes impossible anyways.

If you want something like a 'window layout standard' with rules like "The menu should always be at the top of the window" and "Buttons should at least be 64 pixels wide", there already is the KDE and GNOME standards, and both of them are quite similar, and if you want to go into even further detail than that, noone is going to follow the standard anyways (remember, most people that will code for the pandora don't get paid to do it).
Both Qt and GTK build on the idea of widgets and layout management anyways(which GDI+ in the microsoft os doesn't do, btw), so there's almost no risk at all that people will screw up the GUI because they draw their widgets with the wrong spacing/size/borders etc.

So please clarify,what EXACTLY do you want?

BTW: I'm not a pandora dev, but they wouldn't be able to answer differently anyways.
 
Last edited by a moderator:
The existing GTK/KDE Windows Layout Standard is likely to be unsuitable for the small high dpi screen. Icons and Text will need to be larger.
 
Oh, I see what you want. Here, I'll get the ball rolling, with... fonts!

Here's a DPI calc formula:
sqrt(w*w + h*h) / DiagonalInches = DPI


An average monitor is likely 96 DPI. I have a 17 inch monitor. According to this formula, it is close to 96 DPI.

Ruler:
sqrt(1280*1280 + 1024*1024)/17.32 = 94.6 DPI

Advertised:
sqrt(1280*1280 + 1024*1024)/17.00 = 96.4 DPI

Close enough. The pandora is 800x480, 4.3" diagonally.

sqrt(800*800 + 480*480)/4.3 = 216.96 DPI


This gives us a 96:216 ratio. Font should be 2.25 times larger to appear the same size on a Pandora.

Now, most people will be slightly closer to their Pandora than to a monitor, so this could be reduced to 2 times larger without much detriment.

In your hand near your face, fonts would still be fairly clear at 1.5x the size on a monitor - but this cannot be guaranteed. A person could be sitting with the Pandora on their lap, or is perhaps using it on the dashboard as a GPS.

This forum has either 14px or 16px fonts. Using all this info, I'll throw together a standard.

CODE
=== Pandora Fonts ===
-Pandora screen is 216 DPI. Most monitors are 96 DPI. This is a 2.25 ratio.

Vertical height:
18px; very tiny
22px; tiny
28px; small - like the "My Controls" at the top of this page.
36px; average - appears the same as the text you're reading right now
48px; headings
72px; really big text


I believe this is correct. Break out the huge fonts! :ph34r:
 
Last edited by a moderator:
Yes, but those are in pixels.
Pixels are for sane people.

Font designers use points, which are defined in terms of totally arbitrary stuff like 'millimeters' and 'inches' and 'pounds stirling'

Though if it's a 1:1 ratio, that would be convenient. I don't know because fonts annoy me with their funny units and their trying-to-scale-to-DPI.


Are pixels and points [As in font size] going to be the same, or ..?
 
Last edited by a moderator:
Assuming you too have a 96DPI monitor, if you hold your Pandora up in front of it, the 800x480 screen should be this big:

pandorafontdpi.jpg


CODE
http://img12.imageshack.us/img12/4176/pandorafontdpi.jpg
 
First of all, you don't measure font sizes in px. That's that. Some web developers do; but that's no good.

...and now back to the original remark: No, the existing KDE/GNOME standards aren't going to be unsuitable for the Pandora, since the layout is DPI-oriented; thus a 10 pt font will appear exactly the same size on your PC monitor as on the Pandora.

EDIT: Clarification.
The DPI stands for Dots per Inch, where 1 dot = 1 pixel on computer monitors. Pt is another measurement entirely based off 'real-life lengths', so 1 pt will always be the same in much the same way that 1 cm or 1 in will always be the same wherever you go.
Linux-based operating systems with X.Org have a built-in DPI scaling mechanism, which makes all 10pt fonts really appear like they are 10pt.
The KDE and GNOME 'standards' (which are really an adoption of general monitor UI guidelines) specify font sizes in pt, and most if not all developers in the world use pt for their fonts anyways, so if an app ported from a PC is usable font-wise on the PC, it is also equally usable on the Pandora.
(Yea, most of this was said already, just for clarification)
 
Last edited by a moderator:
So the font problem seems to not be a problem at all in QT and GTK. What about others like FLTK or WxWidgets?

What about if you want bigger/smaller fonts or changing the aspect of all apps without doing it manually for each widget? An unified configuration system is possible?

If the GUI style can be forced more in an automated way without needing to modify the software, that's quite good news for Pandora having a wide variety of apps from the FOSS world from 0 day.
 
Last edited by a moderator:
Everything that uses the X Server DPI font scaling will get the correct behavior. Since WxWidgets serves only as a 'wrapper' of sorts for other toolkits, it won't be a problem there either. FLTK (I don't know why an application would chose to use that, but sure) is also X oriented, so I can imagine that fonts will render correctly there aswell.
The problem will probably only exist in applications that use pixels for font sizes (like in many SDL games, where you need to know beforehand how large your text is going to be when creating your surface).

All font sizes can technically be changed 'globally' on the Pandora simply by changing the DPI setting. If you tell X that your monitor has a higher DPI than it actually has, the fonts will be larger.
As a side-effect of this, many apps that use widget toolkits for their UIs will also get larger buttons etc. to compensate for the larger fonts (Qt, for example, is oriented around DPI even for its widgets, making it possible for applications to run on many different resolutions). This is mostly desirable, but might introduce (to me) unknown implications.

If someone makes a GUI for changing the DPI (like GNOME or KDE has, or maybe something similar to the settings dialog ED has shown us a couple of times now), thus not forcing us to edit "xorg.conf" manually, that would be great.
 
Last edited by a moderator:
Oh, sweet. Didn't know all that about X windowing. :)

It's still an issue for SDL, rendered images, etc., though.
 
Last edited by a moderator:
Back
Top