Discovering content: no way to start at a high level and work your way down


#1

Current ways of discovering content:

  • search
  • frontpage recommendation feed
  • activity feed
  • various tag feeds
  • related

Feeds and related questions have a level of randomness. And search requires knowing very specifically what you’re after. There’s no way to start at a high level and work your way down.

I think there needs to be some hierarchical way of navigating the site. And I think we can leverage our existing tag system to build one by defining hierarchical clusters as a combination of tags.

Main usecase: someone who only loosely knows what he’s after.

For example, someone looking to buy headphones might not know exactly what he’s after (in-ear, over-ear, etc), but could make a decision if presented with options.

So the user would see something like this. For example, somewhere in the sidebar:

Programming

  • ► BPEL
  • ► C
  • ► C–
  • ▼ C++
  • ▼ Learning resources
    "Question about beginner resources"
    “Question about intermediate resources”
    “Question about advanced resources”
    “Question about style references”
  • ▼ Tools
    "What are the best C++ compilers?"

In this case “Question about beginner resources” would be #Programming + #C + #Learning Resources.

This would need:


Random notes:

  • Allows loosely defining clusters since questions can be in multiple clusters and subclusters can be in multiple clusters.

  • Could be used to improve what the related questions are showing by showing question within the same clusters.

  • Could be used to customize the frontpage by the user selecting which clusters to follow and which one’s to exclude. For example, everything about c++ programming, except learning resources.

  • Would remove the need for creating broad questions.

  • Doubles as a breadcrumb.

  • Makes more sense to link to a cluster than a tag. I.e. “Here, check out these resources on C++”

  • Shows the amount of content and possibilities on the site. I would expect the site to be more often mentally noted as a resource.


Complied list of complaints about the current community experience
#2

Great idea; definitely a need I’ve hit a few times, where I know what I’m looking for, but don’t know the terminology to refine my search, and don’t want to hop around randomly until I land on what I’m after.

This functionality would also be great if a question’s not been asked at a sufficiently granular level; e.g. if I’m looking for a particular Power Management Utility App I can find a list of questions about App Recommendations, then can refine by Phone O/S - I may see there’s an Android category with answers for JellyBean, but not IceCreamSandwich, which was what I’d hoped to find.

Q1. How do you determine the hierarchy structure? i.e.

Topic > Language > Resource Type

vs

Topic > Resource Type > Language

Q2. Also, how do you know what type a tag is / can a tag have multiple types?

#Programming: Topic, Subject
#C++: Language
#Learning Resources: Resource, Education

A1. For the hierarchy piece I suspect you could do this by alternating category then value, e.g.:

Topic > #Programming > Language > #C++ > Resource > #Learning Resources

A2. For the second piece, categorising tags, I suspect you’d want a tag meta page, where you could assign tags to different categories, as well as adding descriptions, synonyms, ‘parent’ items (e.g. tagging JellyBean automatically tags Android), expert users in this field, etc. e.g. Similar to http://stackoverflow.com/tags/c%2B%2B/info.


#3

Oh, this looks like a great idea.

I’m wondering if the structure has to be strictly defined.

If we continue with the #programming #c #learning-resource example:

Usecase 1. The user chooses the topic. #programming in this case. He’s then presented with tags that are commonly associated with it, among them both #c and #learning-resource. Depending on what feels more intuitive to the user, he goes with either one or the other option. He’s then presented with remaining options. At all points the user is presented with questions that have the tags he’s selected.

Usecase 2. The user searches for “learn programming”. The keyword “programming” is associated with the tag #programming and using the tag meta page the keyword “learn” is associated with #learning-resource. Now the user just needs to narrow his search down with remaining presented tags.

It would also be nice if a tag could be replaced with a related tag in an easy way. Say the user searches for #programming #book. Replacing #book with a related tag would allow quickly expanding/narrowing/changing the scope.