in the process of wrapping a library I found several things i’d like to bring up for discussion regarding UX improvement. i’ll put them in separate posts though to make discussion easier. also, for reference, here an earlier post that might be related.
the nodebrowser, being the central element to access functionality of a class, is still confusing in many respects, especially when it comes to browsing the members of a class that inherits stuff from a superclass.
example: when entering “filestream” in the search field and hit enter, i will get all the members of the file stream class but NOT the inherited members from the “stream” class (e.g. “dispose”):
as the nodebrowser allows for non-hierarchical browsing via tags, it does not give hints whether this class inherits members from some other class.
it helps tremendously to know the inheritance of a class when it is displayed e.g. like this:
also, MSDN displays all the members of filestream, including the ones inherited by stream in its list of members
it’s obvious that displaying all the members of each class in the nodebrowser could explode the count of members to display in the list. there might be ways to structure it though. e.g. like this (this is just a mockup):
keep in mind that many libraries do not have a nice online-documentation like the MSDN. right now i always need to fall back to VisualStudio to get to know the libraries hierarchies, as using the VL nodebrowser only confuses me.
PS: parts of this also relate to VL’s SolutionExplorer, where e.g. “FileStream” is at the level as “Stream” (i.e. no hints for the inheritance are made).