in app configuration
Today I started to give serious consideration to the architecture for the in-app configuration, as well as allowing for there to be different defaults by location (U.S. vs. U.K. for example). I can’t say I have a clear picture yet but things are starting to come into focus.
I believe one view and class could do the heavy lifting, if they were constructed right. That is where the real work will be.
The existing settings plist structure will remain mostly intact (with a few “augmentations”) but the root plist file will be pruned away. In it’s place will be at least two new plist structures: US-Can and UK. US-CAN would be populated with the current CMP factory settings and the UK structure would be populated with values that are in line with what is common in the United Kingdom. The UK structure values could be appropriate for the EU as well … I have more to learn. It does appear that some things are different in Australia, so I could see that being a third list tree. On a related note, maybe there could be a provision where users can e-mail their settings and, in combination with the localization information, a database of defaults for different regions could be developed.
Given the radical change in the root plist structure, transitioning from the current structure to the new structure is going to take a little work. The goal here is to preserve the current values users have saved so they have a choice in what defaults are used. So the current code will be kept around to load in the legacy files.
Saving shouldn’t be too difficult. I believe I can continue to use the NSDefaults interface with a little work.
There also are a few ideas up my sleeve for version 1.4 that I’m not sure if they’ll be well received. I think they’ll be added to the beta and we’ll see if the test community feels that they are of use.