Hi,
Well, now we get into a completely new "dimension" compared to the original question. Now we also talk about the category into which the features are put. And I cannot agree more. I find it extremely confusing that the "nestedness" that you can see *after* you have installed a feature is not really the way the the feature are displayed in this dialog that you show here from "Install New Software". And as you point out, the top level feature is found "in the middle" of all the other features. So you really do not see at all that it is a top level feature that actually includes other features.
So we are now really talking about several different things at the same time.
1) Features, and especially top level features which includes other features.
2) Categorization/grouping which is presented when selecting users select "Install New Software".
But in general I think that we are back to my concern: How do we really expect users to consume Papyrus-RT? Should we continue providing using an Ooomph product setup file together with the Eclipse Installer (which is the main recommended way currently)? Should they download an RCP package, i.e. basically a .zip-file which they unzip? Should they use "Install New Software" as shown by Célines screen shot? Probably all the previous ones? Which should focus and put most effort in? Which scenarios should we focus our testing on?
Consuming via "Install New Software" is just a pain in general, so I am not fully sure how much we really should spend on making that an optimized user experience. Personally I am totally hooked in Oomph, and since I have started using that I have never ever used "Install New Software". But that is probably just me... :)
And as usual we have different kinds of users, e.g. users doing the installation for themselves, tool-smiths creating custom made configurations, which we also need to consider. I foresee that providing an example Oomph setup file is still something that we will do, which can be used as a "template" for tool-smiths who want to extend/modify for their own specific configurations. Sure, the categorization is useful also for tool-smiths, since you for example also see the grouping into categories when using the Oomph Repository Explorer, which is pretty useful when creating setup files.
Depending on the users, the different kinds of "lego pieces" and larger "lego blocks" are probably different depending on if you consider end-users that do the installation for themselves, or tool-smiths creating custom configurations for their end-users to consume.
One major benefit I see from the larget "lego block" (feature including other features) is that we can add new dependencies, e.g. as we have done with the top level Papyrus-RT feature, without impacting existing Oomph setup files. They by magic get the included feature. That is the main argument I have for providing a top level feature for C++, which includes both the code-generator and the run-time. If we for some reason adds an additional feature which is highly related to C++ as a target language, we simple include this one and users will get this automatically without having to update their setup files.
/Peter Cigéhn