Saturday, May 24, 2008

Smaller Extension Preferences

Alexandre asked this week if it would be possible to use combo boxes instead of radio buttons in the preferences UI for extension dialogs. Aside from that being a good suggestion for UI improvement, there were a few good factors in its favor. First of all, things have been cleanly abstracted enough so that hooking in such a change would not be much work (thanks, Ted). So a good UI benefit with minimal coding effort is generally a good thing. Second is that I've done things like this before, and have been thinking about general ways to improve the dynamic UI like this. So I've already had my mind wrapped around the problem. That's always a big hurdle to starting a coding project, even one as small as this. And finally, this just happens to line up exactly with my plans for world domination via XForms implementation. Moving forward on world domination is good, so it became a requirement for me to code it on up. :-) Here it is: On this one dialog the vertical size shrank about 30%, which seems quite helpful. I think the Eee PC users will gain some benefit here too. The other dialog I tried it on changed from 700 pixels tall to only 530, saving about 25%. More important than the percentage, though, is that this case will help those running at 1024x768 (aka LCD monitor users and such).
The C++ part of implementation was not too much at all, and seems rather trivial to me (maybe around 75 lines of code). Using the change, however, is very simple. Just add appearance="minimal" to an existing optiongroup in a .inx file and it will switch over to the combo instead of radio buttons. That's the beauty of XForms... it's mainly a way to use existing technology to gain strong benefits. And on the subject of XForms, I find Micah Dubinko's "O'Reilly XForms Essentials" a very good book on XForms specifically and on lightweight UI design in general.

4 comments:

prokoudine said...

Another thing I wanted to ask is possibility to have rows of settings in extension dialogs, not just everything in one row :)

johncoswell said...

Soooo much nicer, thanks Jon!

Jake T said...

spectacular--I'm one of those 1024 users. this will be a very welcome addition.

Cedric said...

Best would certainly allow tabs or expanders in plugins, but i guess it more difficult to implement