Q&A

19 views
Skip to first unread message

Evan Prodromou

unread,
Dec 20, 2010, 2:31:53 PM12/20/10
to Activity Streams
One class of social activity that doesn't seem easy to represent with
the current schema is Q&A.

Social services that use this system include: Facebook Questions,
Yammer, Quora, Stack Exchange. I'll post some screenshots as needed.

As a data structure, a Question could be about the same as an Article
(title, content, maybe a summary).

An Answer would be the same as a Comment.

Would the "right" way to deal with this be to implement using multiple
object types, and if it gains some traction, include in a future
version of Activity Streams Schema?

Martin Atkins

unread,
Dec 20, 2010, 2:50:47 PM12/20/10
to activity...@googlegroups.com

Multiple object types as an extensibility mechanism has been removed
from the data model since it didn't seem to actually work that well in
practice and made it hard to write a generic parser.

I would suggest you just invent the "question" and "answer" types and
use the In Reply To Object component that is available for all object
types to represent the relationship between the answer and its question.
Parsers that don't understand your object types can then fall back on
generic processing of the core properties, which I think includes all of
the main properties of a question and an answer.

Will Norris

unread,
Dec 23, 2010, 7:24:50 PM12/23/10
to activity...@googlegroups.com
just curious, but what's the value of creating new object types instead of just using article (or note) and comment?



--
You received this message because you are subscribed to the Google Groups "Activity Streams" group.
To post to this group, send email to activity...@googlegroups.com.
To unsubscribe from this group, send email to activity-strea...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/activity-streams?hl=en.


Will Norris

unread,
Dec 23, 2010, 7:27:54 PM12/23/10
to activity...@googlegroups.com
and certainly not meant to dismiss the use case either... this has come up at Google in conversations about Aardvark.

Martin Atkins

unread,
Dec 23, 2010, 7:53:21 PM12/23/10
to activity...@googlegroups.com
On 12/23/2010 04:24 PM, Will Norris wrote:
> just curious, but what's the value of creating new object types instead of
> just using article (or note) and comment?
>

I feel like we're heading towards a world where object types are ignored
by most applications and all objects are just handled generically by the
common components.

We have a rich enough data model in the basic object construct for most
objects now. The things that do differ for a practical reason, such as
events, can be handled by progressive enhancement just looking for the
relevant extra properties in applications that care about such things.

The only apps that need to really care about the explicit types are
those that are doing further processing on the received activities
rather than just displaying them, such as filtering or extracting
certain kinds of data to inform some other process.

So with that said, I think it's better to just omit the explicit object
type rather than overloading an existing defined type, but defining a
new type benefits the rare applications that *do* want to discriminate
for some reason.

Evan Prodromou

unread,
Dec 28, 2010, 4:24:13 PM12/28/10
to Activity Streams
On Dec 23, 4:24 pm, Will Norris <w...@willnorris.com> wrote:
> just curious, but what's the value of creating new object types instead of
> just using article (or note) and comment?

It's a good question. Article and Comment would probably work OK, I
think.

But I feel like there are qualitative differences between a Question-
and-Answer schema and the Article-and-Comment one*.

1. A Question without an Answer requires action in a way that an
Article without a Comment does not.
2. In many Q&A systems there's an additional relationship between a
Question and its "right" or "preferred" Answer.

Are these significant enough to require separate object types? I'm not
sure. The existence of Aardvark, Quora, FB Answers, and Stack Exchange
suggests that these differences are valuable to people.

-Evan

* Sorry for the hand-wavy use of "schema"; I mean a cluster of related
object types, like the Event schema.

Danayel

unread,
Jan 7, 2011, 9:26:45 PM1/7/11
to Activity Streams
> Are these significant enough to require separate object types? I'm not
> sure. The existence of Aardvark, Quora, FB Answers, and Stack Exchange
> suggests that these differences are valuable to people.

But are these differences something that needs to be reflected in the
syndicated data or something that can be handled by an aggregator?

I think the line between QnA and Article and Comment (hereafter AnC)
aren't clear cut until you put them into a system that treats them as
one or the other.

e.g. there are lots of blog posts out there that are nothing more than
a question soliciting answers. Should these be an AnC or QnA?

Also, not all questions are limited to only one answer, so the
threading of comments would useful there also.

It feels to me like this would be duplicating the AnC functionality
just under a different name. There may be slightly different rules
(e.g. a one answer only QnA), but nothing that is outside of what is
already allowed for with AnC.

Importantly though, do most aggregator's even care of the difference
between them? If they do care, wouldn't it be easier for them to have
a single AnC processor to handle both and they just interpret the data
from specific sources as QnA? Rather than having to develop two
processors that do essentially the same thing.

I can't see a good reason that a single feed would mix QnA and AnC in
such a way that an aggregator would need to differentiate between them
(but I am open to hear any examples), so if they are never going to be
meaningfully mixed, why is there a need to separate them?

I would be concerned that if we go down this path, then we will start
needing to define new object types for every "type" of article out
there. e.g. a Diary with multiple entries per day, movie reviews with
comments and so on.

If we can reuse an existing structure to handle some data without
losing the meaning of the data, then I would be hard pressed to find a
need for an entirely new (but essentially identical) structure.

-Daniel

On Dec 29 2010, 6:24 am, Evan Prodromou <evan.prodro...@gmail.com>
wrote:

Zach Copley

unread,
Mar 18, 2011, 9:29:52 PM3/18/11
to activity...@googlegroups.com, Daniel Chapman
On Fri, Mar 18, 2011 at 5:07 PM, Daniel Chapman <dan...@ninjaforge.com> wrote:
> Hi Zach,
>
> I think you missed the reply to all, as it looks like only I got this reply.

Yes, that was silly :D. I guess you can't reply (in Google Groups) to
messages that were posted before you joined the group / mailing list
(and I didn't notice).

I've reposted to the list.

> To answer your question though, does this really need to be reflected in the feed? How many other aggregators are going to care about the state of a question? (do any other QnA feeds highlight this?)

Well, some aggregators may. Here's something I can imagine (totally
making this up): suppose an application like ThinkUp
(http://thinkupapp.com/) consumed an activity stream from a QnA site
(it doesn't do anything of the sort, yet, but bear with me). It might
like to compile statistics on which questions were answered, how many
answers were posted before the asker marked a question as answered,
how many questions were closed by the original asker, how many
questions never received a best answer, etc. I'm not sure ThinkUp
would fall into the category of aggregator per se, maybe more like
curation and analytics, but its closely related.

And is simple aggregation considered the only use case for activity
streams? I think the ability to curate social activities is important
as well. StatusNet, and some other systems, are using Activity Streams
as part of the communication protocol, OStatus.

Perhaps these kinds of use cases fall outside of the scope of the
Activity Streams project, but nevertheless there is a real need for a
portable way to express social activities, and Activity Streams is the
best thing going right now.

> Adding this extra complexity might seem like a good idea to the content producer, but you just added a new set of processing and complexity to anyone who wants to aggregate your feed. If that complexity isn't explicitly required, then most will likely just drop your feed altogether.

Or they can ignore things they don't want / understand and continue processing.

Zach

ar 19, 2011, at 8:17 AM, zcopley wrote:


>
>> On Jan 7, 7:26 pm, Danayel <dan...@ninjaforge.com> wrote:
>>>> Are these significant enough to require separate object types? I'm not
>>>> sure. The existence of Aardvark, Quora, FB Answers, and Stack Exchange
>>>> suggests that these differences are valuable to people.
>>>
>>> But are these differences something that needs to be reflected in the
>>> syndicated data or something that can be handled by an aggregator?
>>>
>>> I think the line between QnA and Article and Comment (hereafter AnC)
>>> aren't clear cut until you put them into a system that treats them as
>>> one or the other.
>>

>> Now that I'm implementing a QnA system, I'm finding AnC lacking. I
>> want to be able to indicate that a question is closed (no longer
>> requires answering) but still allow comments on it. I want to be able
>> to mark an answer as the best answer, yet still allow comments on the
>> answer too.
>>
>> Or maybe I'm just not seeing a good way to model this with the
>> existing object types. Any suggestions?
>>
>> Thanks,
>>
>> Zach
>
>

Monica Wilkinson

unread,
Mar 18, 2011, 9:47:55 PM3/18/11
to activity...@googlegroups.com
Socialcast has a similar use case for our Town Hall Product. 

Questions, which are a refinement of messages, can be answered or not answered and this is pretty significant. For example only TownHall speakers can answer questions. Once they have answered others can comment. In some Townhalls no one can even see unanswered questions until the TownHall begins. We also have questions outside TownHalls. So we are definitely interested in this use case.

The idea we had was to model this [internally so far] using properties "answered" bool true or false and 
"is_answer" for comments.

I do think it would be nice to have a separate type for Question because it is a very common use case and aggregators may want just questions
I also think we need to start thinking about how to represent Topics. One approach for a question in a topic could be using the target for the Topic but then what about multiple topics ?

Idea: How about we put some sample representations of these items on the wiki ?

- Monica

@ciberch

Reply all
Reply to author
Forward
0 new messages