One thought I have been wrestling with since the past few weeks is a redesign of the options menu in Suffusion. While the options page is ultra-powerful in terms of what it can do, it looks rather overwhelming. I am not a big fan of the long list of options that shows up when I click on a tab in the menu and I would dearly love to make it cleaner. If only I could come up with a better solution!
When the options in Suffusion were a lot fewer (think release 2.0.x) the interface was perfect. But as the power of the theme grew, so did the list of options. And it becomes particularly taxing on the eyes of the administrators who have to change the options. There is something that is stopping me from changing the structure of the options page and that is the fact that it is incredibly easy to code it up the way I have it. I started a handful of tutorials on how to write a theme options page a few months back. In that you can see how absolutely easy it is for me to add new options, given the modular structure of my code. I simply need to figure out the option type, provide some option values for it and bingo! The processing code is very straightforward and it automatically picks the options and formats them as appropriate.
But as is the case very often, what is easy to code is not necessarily easy to look at. I did a good bit of redesigning during Christmas last year and came up with two sets of tabs, a horizontal set of tabs for high-level grouping and a vertical set of tabs within each horizontal tab. This at least made the vertical list look a lot smaller. But as I continue to add options, that page is again threatening to look daunting. So what do I do now?
I looked around to see how some other themes do this and here is what I saw in two really good themes:
Suffusion’s options look to a large extent like Atahualpa’s. However, given Atahualpa’s incredible number of options it too probably faces the same fate as Suffusion to a degree. Where it does gain an edge is in the fact that it uses pictures to illustrate what it is talking about and doesn’t rely on text like Suffusion does. I will be the first to admit that Suffusion’s options are verbose.
The other theme presented here is Constructor. If I were to use one word for the options page for Constructor, that word would be lovely. Its options are much fewer in number than Atahualpa’s or Suffusion’s, but the page is truly nice looking. It makes liberal use of JQuery, and is the perfect advertisement for the adage, “A picture is worth a thousand words”. But here is a catch – every option has been manually coded. This is fine with a small set of options, but it will require an effort of Herculean proportions if I were to adopt that approach for Suffusion.
My feeling is that the options page should be something in between the two styles. If I could figure out a way to automate the generation of pages like Constructor’s, that would be perfect. What do you think? How do you feel I can move to a structure more like Constructor’s?