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.

Leave a Comment

You must be logged in to post a comment. Log in »

© 2011 42nd Parallel. Construction Master® is a registered trademark of Calculated Industries and is no way affiliated with 42nd Parallel or BuildCalc. Apple®, iPhone®, iPad®, iPod touch®, iTunes® and the Apple Logo are registered trademarks of Apple. Android™ is a trademark of Google Inc. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.