Monica Keller wrote:
> <activity:object>
> <activity:object-
> type>http://activitystrea.ms/schema/1.0/Event</activity:object-type>
> <id>tag:myspace.com,2009:/Event/1234/11104915</id>
> <title>Golden Dragon Festival & Parade</title>
> <link rel="alternate" type="text/html"
> href="http://events.myspace.com/index.cfm?
> fuseaction=events.detail&eventID=11104915" />
> <vevent xmlns="urn:ietf:params:xml:ns:xcal">
> <uid>tag:myspace.com,2009:/Event/1234/11104915</uid>
> <summary>Universal Bar & Grill</summary>
> <dtStart>2009-03-15T05:30:00Z</dtStart>
> <location>4093 Lankershim Blvd., North Hollywood, 91602,
> US</location>
> </vevent>
>
> </activity:object>
>
I like this general approach but I think it would be better to lose the
"vevent" element and just put the child elements as direct children of
activity:object.
This also allows vevent:uid to be removed, since it's redundant with
atom:id.
Of course, the disadvantage would be that implementations couldn't use a
hypothetical xcal library to parse the content of that element, but to
be honest I'm skeptical that they would anyway.
Either way, it'd be good if you or someone else could work on a short
specification (in a similar approach to my AtomMedia draft) for how the
elements from the xcal schema are to be used in Atom; ActivitySchema can
then reference that specification and/or base its representation of
events on it.
This specification might be called something like "Atom Event
Extensions", or AtomEvent for short. Though I'm a little concerned that
folks might think more of events in the software sense of the term
rather than in the social networking sense of the term; not sure if
there's really a better name, though.
As a side note, I notice that upcoming is using the xcal elements as
direct children of the entries rather than wrapped in xcal:vevent.
Monica, this is probably an interesting datapoint to include in the
events research.
> - created
This would probably just be the "post" verb with the current activity
schema.
> - is going to
> - is interested in
These verbs are unusual in that they don't talk about an action a user
took on a site. Unless there's a good reason not to, I think we should
stick to modelling verbs that describe the action the user made on the
site rather than verbs that describe implied activities. For example, we
don't say that a user took a photo, we say that a user posted a photo.
Likewise, I'd prever to say that the user "RSVPed" an event (better verb
suggestion welcome) rather than that the user "is going to" an event.
For one thing, "is going to" is also odd in that it's future tense,
while activity entries generally describe things that happened in the past.
Of course, the UI layer might choose to call it "is going to" and "might
be going to" or "is interested in".
> - commented on
ActivitySchema currently specs comments as just being objects with
in-reply-to set, so we can already represent this one.
> - uploaded a photo
So an event is also a photo album?
I guess this can be modelled the same way as we model putting photos in
a photo album, but we have a separate thread for that so I won't talk
about it more here.
Agreed that the verb should indicate what the "RSVP" is; I was trying to
suggest that we should model the RSVP rather than the actual attendance
of the event, not that we should just model it all as a single "RSVP" verb.
Using the "join" verb from groups might work. However, that doesn't look
so great when you need to think of a verb to model a "possible" RSVP,
since there's no concept of a "possible" join.
I wonder if we can find a verb for "possible join" that is orthogonal to
type. If we can't then no worries, but it's always better to keep the
verbs orthogonal wherever possible in order to reduce their number.
This is an interesting approach.
I agree that this makes grammatical sense, though as usual I'm wary of
adding another axis to activities, further worsening the combinatorial
explosion. Consumers that wish to render activities in natural language
would then need to support (verbs * model verbs * object types * target
types) distinct activity sentences.
Also, this is another example where we violate the current convention
that activities only model things that have happened (past tense), on a
website. What the user did on a website was to RSVP with the status "I
would like to attend", which *implies* that the user would like to
attend the event, but that is not the activity we want to model here.
(At least, as long as we stick to modelling actual social web activities
rather than real-world social activities, but I think we should stick to
that for now until there is some technology for actually tracking user
actions -- assuming makes an ass out of u and me, as they say.)
This is an interesting approach. Your first sentence confused me a
little since I guess that sentence should really be "$actor invited
<guest list?> to $eventName...", or "$actor posted an event invitation",
not "$actor is hosting $eventName".
Of course, we'll need to figure out how to model the event guests as you
say.
My only remaining question is what this looks like in the case of an
open event where people can join without being expressly invited. How
can you accept an invitation if you were never invited? Or do we model
that as a public invitation?
I'm wondering whether we need the event object type for this use-case at
all, or whether we can just put the event information in the invitation.
This would seem to be consistent with what an invitation is in the real
world, and for social networking use-cases this seems to hit all the
requirements.
The question is whether there are any use-cases for which an "event" is
appropriate but an "invitation" is not. I'm wondering whether,
conceptually speaking, we can always model an event as being an
invitation from its organizer. One niggle is that it becomes impossible
to post an event without actually inviting the reader to it, which seems
a little strange.