A proposal for the "pointer" object type

0 views
Skip to first unread message

Martin Atkins

unread,
Apr 30, 2009, 1:23:23 PM4/30/09
to Activity Streams

In a few different places I've mentioned my plan to generalize the
"bookmark" type to provide a bit more information and to replace the
"share" verb with something that better models how share works in the wild.

For the moment I'm calling this new type "pointer" for want of a better
name. It represents a pointer or bookmark to some other object.

Here's what a "share" would look like under this new model (with some
Atom boilerplate omitted for brevity):

<entry>
<id>...</id>
<title>Martin shared "Badger Badger Badger"</title>
<content>(some HTML goop here)</content>
<activity:verb>
http://activitystrea.ms/schema/1.0/post
</activity:verb>
<activity:object>
<id>...</id>
<title>Cool badgers video</title>
<activity:object-type>
http://activitystrea.ms/schema/1.0/pointer
</activity:object-type>
<content>
<p>Check out this cool video I found!</p>
</content>
<activity:target>
<id>tag:youtube.com,2008:video:T0NvcQ3Yiqk</id>
<title>Badger Badger Badger</title>
<activity:object-type>
http://activitystrea.ms/schema/1.0/video
</activity:object-type>
<link rel="preview"
type="image/jpeg"
href="http://i1.ytimg.com/vi/T0NvcQ3Yiqk/default.jpg"
/>
<link rel="alternate"
type="text/html"
href="http://www.youtube.com/watch?v=T0NvcQ3Yiqk"
/>
</activity:target>
</activity:object>

</entry>

What's changed here is that pointer, unlike bookmark, is able to
reference an object rather than just a URL. This makes it much more
useful, and allows it to replace the "share' verb.

The advantage of this approach over share is that it allows the pointer
object to contain additional metadata added by the user doing the
sharing. In this case, I changed the title (which is often possible on
social bookmarking sites) and added my own comment in the content of the
pointer, which is allowed by Facebook's sharing UI[1].

Facebook also allows users to choose a particular preview image they
want to use when posting, which could be included as a link
rel="preview" in the pointer object itself. The re-publisher might in
this case omit the preview link from the object itself, since it would
be redundant.

I realize that this is incompatible with what both MySpace and Facebook
has implemented today, but I hope both will agree that this models the
user's interaction better than the "share" verb did.

I'd be interested in any feedback folks have about this.

One thing I'm a little bothered by is that I'm reusing activity:target
to mean something quite different. The alternative would be to invent a
new element, possibly in another namespace, to contain the target of the
pointer.

[1] Facebook presents it as a note with an "attached" object, but it
seems to be functionally equivalent to a pointer with a comment.

Monica Keller

unread,
May 3, 2009, 7:52:12 PM5/3/09
to Activity Streams
Hey Guys
I have updated your wiki to include details on the current offering of
MySpace. Here is the link:
http://activitystreams.pbworks.com/MySpace-Activity-Streams

As you can see we also use Share and are working on modeling a Review

Currently you Post a Review about an object (in our case a Place) we
are using atom:source for this right now but its not really correct
that is why its not documented on our wiki yet.

I can definitely see using activity:target (or another instance of
activity:object for that matter) describe the object about which the
review is.

So in this example Review would be a specialization of Pointer.
However Pointer sounds too Computer Sciency to me

Could we call it something like: Opinion, Assesment or
Recommendation ?

The reason why I dont mention Link is because i feel this is more
ambiguous. A link is a link to an object so we might as well describe
what the object is. We have a base object called Article already.

And also if the user has no opinion on the object being Shared we
should just go ahead an use Share with the object the way MySpace and
Fb are doing.

What do you think ?

Martin Atkins

unread,
May 4, 2009, 1:46:47 AM5/4/09
to activity...@googlegroups.com
Monica Keller wrote:
>
> I can definitely see using activity:target (or another instance of
> activity:object for that matter) describe the object about which the
> review is.
>

I was imagining that a review would be a special sort of reply, so you'd
use the in-reply-to element from Atom Threading Extensions to indicate
what the review is about.

I don't really like overloading activity:target in this way, and did it
for a lack of any other element to use. However, I'm wondering now if it
would make sense to use in-reply-to for all "pointer"-type items. This
feels like a more "correct" approach than using activity:target, but I
wonder if we're stretching the concept of a reply a bit too far.

> So in this example Review would be a specialization of Pointer.
> However Pointer sounds too Computer Sciency to me
>
> Could we call it something like: Opinion, Assesment or
> Recommendation ?
>

These all feel like synonyms for "review" rather than for "pointer". I
agree that "pointer" is not a good word, though. I wonder if we should
just keep the current "bookmark"; at least that has connotations of
linking to something, even if we are stretching the metaphor a little.

>
> And also if the user has no opinion on the object being Shared we
> should just go ahead an use Share with the object the way MySpace and
> Fb are doing.
>

I don't like the idea of having two ways to do the same thing.

Posting a pointer or bookmark is functionally equivalent to sharing an
object, so we can't have both or implementers will be unsure of which to
support.

Unfortunately I've not yet dug into what Facebook is doing in detail,
but I wonder where they're putting the user's annotations if they're
using the "share" verb right now.

Reply all
Reply to author
Forward
0 new messages