The material settings and options are presently far too limited.
Materials have a kind of dual life. On one hand they exist as a specification such as `Red Paint`, `4" Bevel Siding`, `CT-1` describing the actual material and appearance. On the other hand they also need to be defined by application, as in `Main Floor Siding`, `Living Room Paint`, `Showroom Floor`, to indicate where the material is to be applied.
What is needed is the ability to create a list of material specifications independent of the material applications settings.
I have not thought through the implementation of this in much detail so feedback is encouraged. As I presently envision it the material settings would remain just as they are at the surface. An element would have its materials defined by picking the application which could still be named any way you like (`Stucco`, `Metal Roof`, `Sash & Trim Color`, etc.) but names based on specifications would become redundant and not recommended. It is in the materials definition (Options > Materials) that the change would be made.
In the materials definitions dialog would create a material name by application and then choose form a list of material specifications to assign to it. The specifications would still be defined in the same manner as they are presently, and presumably in the same dialog. It is the design and organization of this dialog that I don't have a clear picture of. It might just be an adaptation of the existing one or some combination with the way the composites are defined and/or the layers/combos.
An interesting bonus would be the ability to save and load specifications like favorites or library parts, probably using the .aat format or something like it. This way an office could have standard finishes that could be accessed from any project. There could even be files containing complete finish catalogs, like the full range from a paint company, wallpapers, brick, tile, etc.
This improvement would also make ArchiCAD much more appealing to interior designers. A market (like landscape architecture) that is notably under-served by CAD applications.