Thursday, August 14, 2008

Alberto Ruiz: Font selection suckness

Lately I'm sucking at getting anything useful done code wise, somehow every time I spend like more than 20 minutes in front of a computer I feel like running away from it. That's even more frustrated when you have like a few set of pet projects in mind that you really want to get in speed and show something useful.



One of these projects is a rework of the Gtk+ font selection dialog, which currently sucks usability and aesthetically speaking.



This is a list of things that are wrong with this particular dialog in my opinion:



  • When you select a particular style, and change the font family, it gets back to whatever default style it has.


  • You can't guess how the font looks like until you click on the family.


  • The size could use an editable combo or spin box instead of a treeview. A slider feels also quite nice but you can't edit the value manually.


  • There are too many scrollbars in that dialog.


  • The treeviews takes a lot of unneeded space in detriment of the treeview.


  • It looks soooo 90's! Okay, that was subjective. But still think so.


  • You cannot intuitively search for fonts by name or look after Monospaced fonts.


I started a small prototype in pygtk to investigate how to improve it, now, I'm not a font expert, so I'm willing to get any possible feedback so that I can shape up a good replacement. Anyhow, here you have a screenshot on my current work:



Pantallazofontselectorpy

Now, this prototype doesn't cover all the use cases yet, there are more style properties than Bold an Italic,  so a combobox with non bold/italic supported styles would be needed though. I'm not too convinced about the preview lay tout either. Anyways, comments are welcome.



If you want to try it, grab the current snapshot of the code, however note that some of the intended behavior is not yet implemented (such as preserving style and size on family change and search).

..


Complete Story

0 comments:

Sign up for PayPal and start accepting credit card payments instantly.
ILoveTux - howtos and news | About | Contact | TOS | Policy