IndieWebCamp is a 2-day creator camp focused on growing the independent web

Twitter

Contents

Twitter

Twitter.com is a popular content hosting silo most well known for 140 character text notes.

Recommendations

CC license your tweets

Use the site http://www.tweetcc.com/ to Creative Commons license your tweets.[1]

This allows anyone else wanting to:

  • copy
  • quote
  • syndicate

Etc. your tweets to do so, per that CC license (e.g. CC-BY, attributing you) independent of Twitter's TOS, and thus independent of any Twitter requirements, e.g. their display "guidelines".

Reverse Syndicating At-Replies

Per the POSSE model, you may want to reverse-syndicate @-replies on Twitter to the tweet-copies of your post as "comments" back into your post permalink page on your own site. By using TweetCC, you can check to see if those @-replying to you have CC-licensed their tweets and then incorporate them using the CC license, displaying them however they fit in with your site design, instead of having to shoehorn Twitter's display "guidelines" into your site / post-permalink page design.

Porting to the IndieWeb

Challenges

  • porting over content and maintaining URL redirects
    • not currently possible to redirect Twitter permalinks to your own site AFAIK. Tantek 14:33, 17 November 2012 (PST)
  • porting over @-replies
    • Twitter has an API for getting @-replies to a particular tweet.
  • porting over retweets
    • Twitter has an API endpoint for getting retweets of a particular tweet.
      • The first 100 retweets of any particular tweet can be fetched via the API
  • porting over favorites
    • Twitter (presumably) has an API for getting favorites of a particular tweet.
      • I cannot find any reference to even a way of getting the favourited count of a particular tweet --Waterpigs.co.uk 14:47, 17 November 2012 (PST)
  • API limited to most recent 3,200 tweets

Download all your tweets

  1. Go to: https://twitter.com/settings/account
  2. near the bottom of the page there may be a "Your Twitter archive" section
    • Currently (as of 2012-12-26) only available to a limited random rollout. If you don't see this section, keep checking every few days.
  3. See the (Request your archive) button? Click it.
  4. Wait some amount of time for a link to your archive to show up in your email associated with the account.

How to

POSSE to Twitter

In short, you have to use Twitter's snowflake API to create posts on Twitter.

POSSE to Twitter in general

There are particularly good ways to POSSE notes and articles to Twitter which are documented in latter sections. Here are some general guidelines for POSSEing to Twitter.

Given Twitter's limitations:

  • 140 characters of content
  • links are t.co'd into 20 (or 21) characters for http (or https) links)
  • local user (@-name) references only
  • local tag (#hashtag) references only

When POSSEing to Twitter:

  1. provide a permalink (or perma-short-ID for entirely fitting notes) to your original at the end of the syndicated copy
  2. abbreviate notes / article names to fit
  3. include hashtags as part of that abbreviated content (even if they're beyond the ellipsis horizon) to increase syndication based discovery/searchability of your content
  4. translate indiewebsite people references into their Twitter local user @-name equivalents

The sections below contain details on how to do some of this for notes and articles in particular.

POSSE Notes to Twitter

For notes, you can POSSE out up to 140* characters of your note to Twitter.

POSSE entire note to twitter

For notes that fit entirely within a tweet (*including permashortid), you should include a post permashortid at the end of your tweet. Examples:

You should NOT include a post permashortlink at the end of tweet copies of notes that include the entire note. There's an unspoken convention on Twitter that a link in a tweet (especially at the end of a tweet) should provide more information. Having an active permashortlink at the end of your tweet when all you provide on your own site is the *exact* same content is bad UX for your friends that follow you on Twitter. And the whole point of POSSE is that you still care about your friends on Twitter reading you, so you should care about their UX also. Note the complaints ([2][3](response), [4](response), [5][6]) and questions[7] over time that have been raised in response to apparent linking to "duplicate" or "the same" content.

POSSE abbr note to twitter

If your note (with permashortid) exceeds 140 characters, you should abbreviate your note to 119 (118) characters (e.g. using the CASSIS ellipsize_to_word function), and then put a post perma(short)link URL at the end. Shorten to 119 (118) characters (or shorter) because it takes 1 character for the space before the URL, and then Twitter t.co's your URL into 20 characters. 21 characters for new https URLs.

You may want to put an ellipsis character at the end of your POSSEd note to Twitter before your perma(short)link. Be sure to leave room for the ellipsis too: instead of just 1 character for a space before your permashortlink, save 4 characters for "... ", or 3 characters for "… " (ellipsis entity character). Ideally elide at a punctuation boundary (like sentence terminator or a comma - the above-mentioned CASSIS function does this too). Examples:

Exception, if your abbreviated tweet already has a ":" (colon) character at the end, no need for an ellipsis, simply append a space " " and your permashortlink. Examples:

IndieWebCamp community members who are doing this:

POSSE Notes to Twitter Pseudocode

This is pseudocode based on Barnaby Waltersphp-helpers package, specifically BarnabyWalters\Posse\Helpers class.

Assume that to start with you have some HTML markup representing the content of the note ($text), the canonical URI to link back to from the syndicated tweet ($url) and an optional in-reply-to url associated with the note ($inReplyTo).

  1. Convert any HTML in $text to twitter-like plaintext syntax, or strip it
  2. Truncate $text such that, once all URLs contained within it are replaced with URLs of the current t.co length (21 ATOW) there are enough characters left to contain the canonical URI with brackets around, or preceded by and ellipsis if any truncation has occurred
  3. Trim $text
  4. Append a space and $url, surrounded with brackets if no truncation has occurred or preceded by an ellipsis if truncation has occurred
  5. Create a hashtable representing the body of the POST request to send ($tweet)
  6. Set $tweet['status'] to $text
  7. Check to see if $inReplyTo is the URI of a tweet (see line 58)
    • If it is, grab the ID
    • Set $tweet['in_reply_to_status_id'] to the ID
  8. Send an authenticated POST request to the relevant API endpoint with the contents of $tweet as a urlenoded body

POSSE Articles to Twitter

Similar to POSSEing a note, you can POSSE an article to Twitter, but instead of the first 140 characters of the post, you should POSSE the first 140 characters of the entry name (title) of the article, followed by optionally a ":" character (unless the entry title already ends with punctuation), then a space " ", then the perma(short)link to your original post. Examples:

IndieWebCamp community members who are doing this:

POSSE Replies to Tweets

Similar to POSSEing a note to Twitter, when POSSEing a reply to a tweet, you also set the in_reply_to_status_id field in the API call to the URL of the tweet that your note is in reply to, to enable the threading UI and presentation on Twitter.com. Examples, i.e. IndieWebCamp community members who are doing this:

And community members actively developing support for this:

POSSE Replies to Twitter

When posting a comment which is a reply to another indieweb post, the POSSE tweet of your comment should attempt to set the in_reply_to_status_id to the POSSE tweet of the indieweb post you're replying to.

This is similar to how you POSSE Replies to Tweets but with one extra step to discover the POSSE tweet of the original post:

See also: in-reply-to, comments.

...

  • ...

Issues

Email Identity Removal

This 2013-05-17 screenshot seems to demonstrate an odd interaction and vulnerability on Twitter:

2013-05-17-twitter-com-new-email-warning.png

Screenshot shows a logged in Twitter profile page (http://twitter.com/t) with a yellow warning box just below the global black toolbar that says:
New email address required. Twitter has removed the email address from your account, by request of the email owner.
Please enter a new email address where you can be reached. Learn more ›

Hyperlinks as present in original. No such warning on m.twitter.com equivalent page when logged in (i.e. on a mobile device).

It's not clear how this happened, how the email address was revoked, how to avoid having it revoked in the future etc.

Appears to be an identity threat/vulnerability.

Related posts:

See Also