For example, the "Directory" package claims awareness and, the best I can tell with a quick scan, in this context it really means that the package plays nicely with the groups (actually application groups) system. Aother example would be "Photo Album" (Jeff's version) where awareness means allowing access only to content associated with a particular subsite.
So, I'm thinking that subsite-awareness is:
a) being aware of and using subsite application groups and the permissions applied to objects through association with these groups, and
b) associating each object with the package_id of a particular subsite so that "select"s return the subset of objects having this association. I found context_id and said "woohoo, can I just set and select objects based on this value?", and then I read Dave's comments that say "don't do that!", so I'm not sure how to go about this aspect of awareness.
I would like to understand the components, tools, and procedures required to make an application subsite-aware. Would anyone care to break this down into a step-by-step process or set of guidleines so that I and others can understand and apply the principles in order to make our applications play nicely now and in the future? If not, I'll still read any comments that anyone would like to add.