Active Topics

 


Reply
Thread Tools
Posts: 654 | Thanked: 664 times | Joined on Feb 2009 @ Germany
#1
Hello fellow Developers! Developers! Developers!

I just created a document outlining the use of some hildon widgets in Fremantle. Because the Hildon documentation and the HIG are still quite thin I personally had lots of problems getting the UI of Conboy done properly. After tons of emails and bug reports I think it´s only fair to share this information in a centralized document.

The idea was born by Jaffa here. And the document now contains everything that I can contribute to that subject. Only screenshots are missing, but I´ll add them tomorrow.

Please read it. And please comment or better directly change the document. I´m not a native English speaker, so if you are: Feel absolutely free to change spelling, grammer etc...

If you´re a developer and you have some experiences with Fremantle UI, then please share your knowledge here:
http://wiki.maemo.org/Using_Fremantle_Widgets

Enjoy!
Conny
 

The Following 20 Users Say Thank You to conny For This Useful Post:
BrentDC's Avatar
Posts: 903 | Thanked: 632 times | Joined on Apr 2008
#2
Thanks conny, that made a very interesting read!
__________________
-Brent

Author of TouchSearch -- web searching software for Maemo 5.

Mobile Device lineage: Palm Z22 -> Palm TX -> Nokia N800 -> Nokia N900
 

The Following User Says Thank You to BrentDC For This Useful Post:
Baloo's Avatar
Posts: 276 | Thanked: 160 times | Joined on Jul 2007 @ Bath, UK
#3
Originally Posted by conny View Post
Hello fellow Developers! Developers! Developers!

I just created a document outlining the use of some hildon widgets in Fremantle. Because the Hildon documentation and the HIG are still quite thin I personally had lots of problems getting the UI of Conboy done properly. After tons of emails and bug reports I think it´s only fair to share this information in a centralized document.

The idea was born by Jaffa here. And the document now contains everything that I can contribute to that subject. Only screenshots are missing, but I´ll add them tomorrow.

Please read it. And please comment or better directly change the document. I´m not a native English speaker, so if you are: Feel absolutely free to change spelling, grammer etc...

If you´re a developer and you have some experiences with Fremantle UI, then please share your knowledge here:
http://wiki.maemo.org/Using_Fremantle_Widgets

Enjoy!
Conny
Good work Conny, not only on the documentation but also on your port of tomboy. Keep up the good work.
__________________
LinuxUK.org - http://www.linuxuk.org
 

The Following User Says Thank You to Baloo For This Useful Post:
Posts: 654 | Thanked: 664 times | Joined on Feb 2009 @ Germany
#4
The screenshots are now added - so I'm done for now. Everyone else, please share what you've learned while writing Fremantle UI code!

Thanks!
Conny
 

The Following 5 Users Say Thank You to conny For This Useful Post:
Posts: 341 | Thanked: 607 times | Joined on Dec 2008
#5
Good stuff. From a themeing perspective, the most common mistakes I encounter are:

- Use HildonEntry instead of GtkEntry. This is a no-brainer, and HildonEntry completely replaces GtkEntry. The only caveat is that HildonEntry has to be at least 70px in height (and ideally exactly 70px). This is ensured when using the constructor with HILDON_SIZE_FINGER_HEIGHT flag, and will also be the default size for subclasses soon.

- Make sure buttons get the correct themeing hint. Most buttons should either be finger height, or thumb height, by using hildon constructor functions and the appropriate size flags. If this isn't possible then hildon_gtk_widget_set_theme_size() can be used instead, but it requires that the classname ends in *Button (because it sets the widget name to <ClassName>-size (e.g. HildonButton-finger) and the theme is matching widgets ending in *Button-finger). Otherwise the widget name has to be set manually. This also goes for HildonCheckButtons and other widgets which look like buttons.

If you absolutely have to use auto sized buttons, try not to mix them with properly themed buttons, or it will look very inconsistent.

- Any custom button that acts like a picker button (pressing it allows you to choose a value, which is then displayed in the secondary line of the button) should use the picker style, which can be set with hildon_button_set_style (button, HILDON_BUTTON_STYLE_PICKER).

- Avoid notebook tabs, in most cases it is better to split things up into multiple windows, or to use a pannable area with group titles.

- Speaking of group titles, this is still a bit of a work in progress. But the bottom line is that you should put every group in a GtkFrame, and add 35px of vertical spacing between the groups. This may look odd right now in the SDK, but that will be fixed.

- Avoid comboboxes at all cost! Try to find an alternate method using HildonEntries or picker buttons. We will have one supported method of creating a widget that looks liked a ComboBoxEntry (unified look of entry with a button/arrow on its right), but its implementation is a bit involved and not really intended for regular applications.

- Don't add custom borders and margins without a specific purpose. Elements like HildonButtons and HildonEntries generally already have themed margins and are meant to line up neatly when placed next to each other.

- Avoid labels. New UI elements are generally designed in a way that uses the whole space for the widget, instead of requiring extra space for the label. This is why HildonCheckButtons put the label and checkbox on a button, and HildonEntry has the placeholder text.

If you are at all unsure about something, I suggest to post your UI on this forum and ask for suggestions. I will do what I can to help out, and hopefully we will be able to create a development culture where people get excited about creating slick and consistent UIs down to the last pixel.
 

The Following 10 Users Say Thank You to kanishou For This Useful Post:
Andre Klapper's Avatar
Posts: 1,665 | Thanked: 1,649 times | Joined on Jun 2008 @ Praha, Czech Republic
#6
If you think that the API references for hildon-widgets are unclear or miss something important, please do file a bug report against "Desktop platform > hildon-widgets" with the "docs" keyword set, Version set to "5.0-beta", and the exact URL of the existing API reference set in the URL field in http://bugs.maemo.org .
If there are issues, let's make it easier for every developer by providing better documentation. And the libhildon/hildon-desktop/hildon-widgets hackers have been quite responsive so far IMO.
__________________
maemo.org Bugmaster
 

The Following 5 Users Say Thank You to Andre Klapper For This Useful Post:
Posts: 654 | Thanked: 664 times | Joined on Feb 2009 @ Germany
#7
Originally Posted by Andre Klapper View Post
If you think that the API references for hildon-widgets are unclear or miss something important, please do file a bug report against "Desktop platform > hildon-widgets" with the "docs" keyword set, Version set to "5.0-beta", and the exact URL of the existing API reference set in the URL field in http://bugs.maemo.org .
If there are issues, let's make it easier for every developer by providing better documentation. And the libhildon/hildon-desktop/hildon-widgets hackers have been quite responsive so far IMO.
Yes they are very responsive, I even own them two replies myself
The problem is that the HIG is not continuously updated (last release was in April) and that we cannot see the Nokia build-in software yet. This leads to a situation were many people are unsure what the most correct/consistent way of doing things is.
I'm quite sure that as soon as the final HIG is out this article doesn't make any sense anymore. But for now I think it's useful and it's nice that people are contributing Of course if I find something particular I'll file a report, but Murray is already quite active in this area.
 
qgil's Avatar
Posts: 3,105 | Thanked: 11,088 times | Joined on Jul 2007 @ Mountain View (CA, USA)
#8
fyi, on Gtk+ widgets supported in Maemo 5: http://wiki.maemo.org/Talk:Using_Fremantle_Widgets

The plan is to make a first release of the Hildon UI spec within few weeks (comprising the information relevant to application developers) and publish the second and final release including all the specs relevant for platform developers later on by the launch of Maemo 5.
 

The Following 2 Users Say Thank You to qgil For This Useful Post:
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#9
conny, that document is really great. Thanks so much for all that work!
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 

The Following User Says Thank You to qole For This Useful Post:
Posts: 654 | Thanked: 664 times | Joined on Feb 2009 @ Germany
#10
Just added a small section about the the different widget sizes here: http://wiki.maemo.org/Using_Fremantl...s#Widget_Sizes
 

The Following User Says Thank You to conny For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 19:18.