On 12/8/09 2:57 PM, Evan Prodromou wrote:
I've just pushed code to 0.9.x to support forwarding notices.

When user A forwards a notice created by user B, the notice is
distributed to all user A's subscribers (except those who've already
received the notice, and those who've blocked user B). A record is
stored that A forwarded the notice. This is not a new notice, so it's
not listed anywhere else but inboxes.

When a user's inbox is shown, each notice that was received because it
was forwarded is marked "Fwd" (this could be better!) and a list of
users who forwarded the notice is put at the end of the notice. There's
also a form to forward the notice (if you haven't before, and if you're
not the author).

There's still a lot to do here, but I think we've got the basics for the
"retweet" functionality covered.

The UI presentation can be worked out... my main worry is that this just doesn't do what I'd expect "forwarding" to do. As a user it confuses the heck out of me; it shatters so many expectations that we had to poke around in channel for about 20 minutes before I even figured out what was going on.

This system is much more like Facebook's "like" than it is like forwarding e-mail; it's pretty much limited to you and your local subscribers, stops at the site boundary. The only thing we'd need to add is a counter of how many people forwarded any given notice.


It looks like we've got a major problem with our mainstream methods of reading, though, because notices you've gotten via forwarding appear in the timeline according to their original posting date, not when they were forwarded:

* Reading on the web, a new forward won't be up at the top of your timeline. If it's an older notice, it might be many pages deep in the list and you'd never think to look for it.

I also don't think they'll show up in the realtime updates; no new notice ID means nothing in the notice queue for the plugin to pull from.

* Many Twitter API clients check for *new* notices since the last one they saw; even if the original was recent, you may never see a forward if your client already refreshed between the posting time and the forward time. (Confirmed in Adium 1.4b and Tweetie 2/iPhone.)

Those could be fixed if we save the forward timestamp instead of the original post timestamp into the inbox; new forwards would appear at the top of peoples' inboxes and would become accessible to client software again.


Further, your forwards won't make it all to any of these places:
* Local subscribers reading via XMPP
* Local subscribers reading via SMS
* OMB remote subscribers
* Twitter bridge
* Facebook bridge
* your profile timeline
* your profile's RSS or Atom feed
* your "and friends" timeline if you're subscribed to the original poster

If we want to stick with it for compat with Twitter's new ReTweet, we might want to give it a clearer name (probably the main reason that it's been so controversial is that it's conceptually totally different from the forwarding that people have been doing manually under that name).

-- brion
_______________________________________________
StatusNet-dev mailing list
[email protected]
http://lists.status.net/mailman/listinfo/statusnet-dev

Reply via email to