I'm working on a new application that is basically a "library" type app similar to iPhoto or iTunes, i.e. the user enters data into the app and it handles storage rather than the user storing files himself. [Skip to last para for the meat of the question.]
What is different about my approach is that I want the user to define the fields that each item contains. Each "library" would have its own metadata with a window to change the metadata and then the detail view in a master-detail UI would be dynamically generated based on the user's metadata.
Basically, I've decided that the metadata needs to be a dictionary so that it can be written out to an Info.plist in the library package. (I'm following the convention in this CIMGF post. (I'm not using Core Data due to the dynamic nature of the metadata. If someone has info on how that could be accomplished, I'd certainly be willing to revisit the decision.)
My goal is to make this as clear and obvious to the user as possible. Something like Core Data's model builder would be OK, but I was envisioning something even simpler and at least for 1.0 would not have any relationships, just one record type. I'd like the user to be able to store a few different kinds of data like string/text (This would include date and currency by way of number formatters.), image, and tags. I'm trying to start as simple as possible while still making it useful.
So, I'm looking for examples of apps that allow editing of metadata. I'm not so much interested in the domain or subject matter of the app, but in the approach to editing the metadata. Thanks for reading and I look forward to your thoughts.