cocoa - What elements should I include in a Mac Preferences Panel? -


i have question mac program's preferences window. have application coredata-based end. program includes feature allows users switch out database different one. not expect users often—perhaps once or twice year.

now, many of options users can tweak stored in database. these options need configured once every time new database used, because specific database itself.

the apple human interface guidelines on preferences state this:

as possible, ensure users need reset preferences. ideally, preferences include settings users might want change once. if there settings users might want change every time open app, or every time perform task, don’t put these settings in preferences. instead, use menu item or control in panel gives user modeless access these settings.

my question this: database-level settings valid candidates preferences window? "once or twice year" count "rarely"? if not, there downsides creating second panel (with many panes controlled nstoolbar) looks just like preferences panel accessed different menu item ("database preferences" example)?

i see database-level settings time under preferences in various apps (1password , macjournal come mind). thus, preferences contains both database-level settings , "actual" preferences go in plist file. former (the data-base level settings) absolutely crucial, being actual data. latter (the plist file) isn't important , losing data shouldn't cause harm, it's simple settings user can manually.

on other hand, see nothing wrong separating two, if app multi-window (document-based) app can have many databases open @ once.

but think it's simplest put preferences. that's should do, unless have reason otherwise.

to answer of questions directly:

  1. are database-level settings valid candidates preferences window? — yeah, think are. , many apps (such 1password , macjournal) too.
  2. does "once or twice year" count "rarely"? — yeah.
  3. are there downsides creating second panel? — if have reason separate two, see nothing wrong it.

just 2 cents.


Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -