|
Data ExportDownload all your tweets
The Twitter archive is made of per month JSON files. It can be used as a way to PESOS a whole Twitter history, even though POSSE is the recommended way to do it. The most interesting things in the JSON twitter archive are:
After you download your archive, you can update in using a Ruby Gem called GrailbirdUpdater. Download Direct Messages
Backup using t command line toolSee: https://github.com/sferik/t#using-t-for-backup You can also export your lists with the "t" command line tool:
Porting to the IndieWebImplementationsfreedom.io (source) can copy all of your tweets to WordPress, Tumblr, Blogger, creating a new blog post for each, with the original dates and with replies and retweets (yours and others') included as comments. It's rough and unpolished. Ryan eventually plans to polish it up and advertise it more widely. Challenges
POSSE to TwitterWhile Twitter is still around and you still have friends on Twitter that you want to interact with, you should post your notes on your own site, and automatically syndicate them to Twitter (POSSE them) so your friends see and can interact with those copies. This section details how. In short, you have to either use: to POSSE posts to Twitter. There are people in the IndieWeb community doing each of these. POSSE to Twitter in generalThere 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:
When POSSEing to Twitter:
Once POSSE is successful:
The sections below contain details on how to do some of this for notes and articles in particular. POSSE Notes to TwitterFor notes, you can POSSE out up to 140* characters of your note to Twitter. POSSE entire note to twitterFor notes that fit entirely within a tweet (*including permashortcitation), you should include a post permashortcitation at the end of your tweet. Examples: has the permashortcitation of a permashortid in a classical parenthetical citation:
which is easily expanded (see related: original-post-discovery) by unparenthesizing and joining the two pieces with a forward slash "/":
which resolves (redirects) to the original post: Why permashortcitationMain article: permashortcitation
You should use a permashortcitation instead of a permashortlink at the end of tweet copies of notes that include the entire text of a note post, especially if your site lacks any additional content / UI as compared to Twitter (e.g. reply-contexts, comments-presentation, likes, reposts) 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. Note the complaints ([1][2](response), [3](response), [4][5]) and questions[6] over time that have been raised in response to apparent linking to "duplicate" or "the same" content. The whole point of POSSE is that you still care about your friends on Twitter (or other silos) reading you, so you should care about their UX also. Only provide permashortlinks as part of your POSSE tweets when they link to an the original post with more content than in the POSSE tweet copy. Otherwise use permashortcitations so that your original posts are still automatically discoverable using the original-post-discovery algorithm. POSSE abbr note to twitterIf your note (with permashortid) exceeds 140 characters, you should abbreviate your note to 117 (116) characters (e.g. using the CASSIS When shortening to 117 (116) characters, you must count other http (https) URLs within that as 22 (23) characters (excepting schemeless pathless ccTLDs). You can use the CASSIS 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 2 characters for "… " (ellipsis entity character). Note Twitter now counts characters in a sensible fashion, they count codepoints in Unicode NFC: https://dev.twitter.com/docs/counting-characters. Ideally elide at a punctuation boundary (like sentence terminator or a comma - the above-mentioned CASSIS function does this too). Examples (which link to original posts after eliding with "... ")
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 which truncate after a ":"
Continuing that ":" reasoning, you may also instead of an ellipsis character, use some text like "More: " or "More at:" but that likely also requires a different shortening approach, perhaps to a sentence boundary. If you're unable to shorten to a sentence boundary (e.g. a very long sentence) then you need to shorten at a word boundary and then use both an ellipsis character and more text, e.g.: "… More: {link}" to be consistent with this "More:" approach. The disadvantage of "More:" approach is that it requires more shortening to include the additional "More: " text. IndieWebCamp community members who are doing this:
POSSE Notes to Twitter PseudocodeThis is pseudocode based on Barnaby Walters’ php-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).
POSSE note with photos to TwitterIf your note has photos, e.g. auto-embedded JPG/PNG etc. URLs, consider POSSEing those photos (first four if any, per Twitter photo-attachment limitations) as image uploads associated with your POSSEd text note.[7] IndieWebCamp community members who are doing this:
POSSE Articles to TwitterSimilar 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 TweetsSimilar to POSSEing a note to Twitter, when POSSEing a reply to a tweet, you also set the You can use this regular expression to extract tweet IDs from tweet URLs:
Examples, i.e. IndieWebCamp community members who are doing this:
POSSE Replies to Twitteroriginal has POSSE tweetIf the original indieweb post that you're replying to has a POSSE tweet copy: When posting a comment which is a reply to another indieweb post, the POSSE tweet of your comment should attempt to set the 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. original lacks POSSE tweetIf the indieweb post (or other URL) has no equivalent POSSE tweet and is not a tweet URL itself, then there are two possibilities, depending on whether your reply is "self-contained" enough to be meaningful without the context of what you're replying to. Replies that do need the context of the original to make sense:
IndieWeb Examples of replies to indie web posts without POSSE tweet (with POSSE reply copy nested):
IndieWeb Examples of replies to silo posts/comments without POSSE tweet (with POSSE reply copies nested):
If your reply is meaningfully "self-contained" enough to be relevant to your Twitter readers:
IndieWeb Examples of this: Another alternative for meaningfully self-contained replies is to include the non-Twitter in-reply-to URL as the last thing before your permashortlink in the POSSE tweet copy of your reply so Twitter can potentially show context of the in-reply-to URL in the POSSE tweet copy of your reply.
Lastly, another option is to not POSSE replies to indieweb posts which themselves lack POSSE copies. IndieWeb community members have also found joy out of site-to-site replies that never hit Twitter, and thus reflect another level of independence. POSSE Reposts of TweetsWhen posting a repost of a tweet, the proper POSSE behavior should be to do a native retweet (on Twitter) of the tweet that you're reposting on your own site. Examples of reposts of tweets:
If you repost a retweet, the proper POSSE behavior is to do a native retweet of that retweet permalink (not the original tweet permalink). Example repost of a retweet:
POSSE Reposts to TwitterWhen you do a repost of an indieweb post:
POSSE Favorites of TweetsWhen posting a favorite of a tweet, the proper POSSE behavior should be to natively favorite (on Twitter) the tweet that you're favoriting on your own site. Examples: POSSE Favorites to TwitterWhen you post a favorite of an indieweb post:
Reverse Syndicating At-RepliesPer 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. You can use the Bridgy backfeed service to automatically receive Webmentions when people @-reply to your tweet copies. Reverse Syndicating Other ResponsesUsing the Bridgy backfeed service, you can also automatically receive Webmentions when people on Twitter like or retweet your tweet copies. When you receive these webmentions, display them as likes and reposts on the permalink of your content on your own site. FeaturesTwitter provides the following features currently:
2006 originalAt launch, Twitter provided the roughly following features:
This list may be incomplete/imprecise and was done from ~8 year old memory. Please update if you have documentation of specifics! Screenshot of 2006 sign-in / sign-up screen: Embedding TweetsTwitter offers copy/paste embed markup on its site that allows one to embed the appearance/text of a tweet in one's own page, as well as oEmbed option. As both the oEmbed and the embed markup include the text of the tweet in a blockquote, if Twitter shut down, this could continue to display the text minus the appearance. Photo AttributionWhen a Twitter user includes a link to someone else's photo on Twitter, the Twitter website shows the photographer's name and Twitter account under the photo. (Note: the attribution only appears in-stream, not on the Tweet permalink) 2006-11-14 additionsOn 2006-11-14 Twitter introduced several features:
ReplacingIf you recreate these features on your own site, including POSSE support to Twitter for each, then you no longer have any need to directly use Twitter. To fully replace your usage of Twitter you must also support (roughly ordered by importance, expected frequency of usage)
ClientsTwitter has several clients that all have a fairly complete implementation of the above features:
iOS clientSee full article: Twitter-API The Twitter iOS client has an option to use a different API root, "intended for a Twitter proxy server" It may be theoretically possible to re-implement enough of the Twitter API on your own site to set your own site as a "Twitter proxy server" and thus use the Twitter client as a client to post directly to your own site (and perhaps read from it as well). CriticismBad or failing behavior on the part of Twitter. Roughly sorted by most problematic / frequently so first. Poor handling of abuseTwitter unfortunately has a long, well documented, history of poor handling of abuse, from:
to Twitter's UX now makes it easier to post abusive content, than protect oneself from the same. Broken Without JSSome of Twitter's #Features are now (as of 2015-01-08 or before) broken or completely non-functional when JavaScript fails to load or is disabled.
Dogfooding FailIn a piece Does Twitter's exec team even use Twitter? (April 2015), a web developer (@sidawson) found that 7 of 11 top Twitter executives tweet less than once a day, and most did not use the service before working at Twitter. DowntimeLive: http://downrightnow.com/twitter Most recent first:
spammy cross-posting to facebookThis may be a side effect of both Twitter and Facebook doing arbitrary photo cropping (FB likes square images, Twitter likes 16:9 wide ones, both often crop rather than fit to space with background).
Kevin Marks posted screenshot of Facebook to twitter.
When this was replicated to facebook by Twitter's app it looked like this: cropping the screenshot and requiring a clickthrough back to twitter to make it readable, with explicit text added by Twitter when cross-posting:Get the whole picture - and other photos from Kevin MarksEmphasis added - which implies deliberate behavior of a spammy sort (using your cross-post to advertise broader use of Twitter than just that one permalink).
Developer RelationsTwitter built their entire business on top of the developer community. Almost all Twitter features were originally from Twitter clients, such as Retweets and Hashtags. Closing sections of their API and RSS feeds has made the developer community lose trust in Twitter.
Twitter to Offer New Tools for App Developers Lack of Communities
Twitter has no mechanisms for [defining a community]. Every user floats by themselves, interacting with who they please. This denies us the ability to build communities, to set social norms, and to enforce them. Twitter has absolutely no way for me to share with others that someone isn't a person I want in my communities Lack of usernamesPer https://twitter.com/webster/status/697984790323007488 the suggested usernames have become seemingly random long strings of letters and numbers:
Misprioritizing reply notificationsPer 2016-03-10 Kevin Marks Twitter's Tragedy of the Comments: The most egregious of these was making @ replies the primary notification, and the Big Red Number on the app on iOS. Suddenly, it was another email inbox where others' priorities were ranked above your own choices. IssuesCorrectable issues with Twitter. Email Identity RemovalThis 2013-05-17 screenshot seems to demonstrate an odd interaction and vulnerability on Twitter: 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. 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:
HistoryEarly User InterfaceTwitter's early user interface (circa 2006, before 2006-11-14 since no favorites) was quite simple and minimal: Retrieved from: [17] Features
Lots of UI revisionsLook for #newtwitter and #newnewtwitter UI 2011Circa 2011 styling of Twitter stream and tweet permalink: Ignore the red borders / boxes - those were there to indicate/ask a question about those items. Showing Arial (presumably on Microsoft Windows) for tweet text in a stream, and Georgia for tweet text on a tweet permalink page. UI 2014-04As of 2014-04, Twitter has yet another UI revision, this time nearly cloning Facebook profile pages' look & feel: https://twitter.com/genmon/status/459257786875265025/photo/1 Facebook on the left, new Twitter UI on the right. If you don't see the image inline above (e.g. only see the text Bl-chggIMAAGyBZ.png) then click on the Twitter link to see it on their site. Additional ResourcesProfile Image URLsProgrammatically, the official way to get a Twitter user's profile image is to use the
Unfortunately, those fields are absolute URLs for the *current* profile image, and usually break when the user changes their profile image. Unofficial alternatives: these both 302 redirect to the current profile picture. Replace
If you omit Twitter profile images can also be found by choosing "View Image" on context menu on a profile, those URLs may end with:
You can change any of the above suffixes to any others in order to get a few different sizes. DefunctTweetccAs of 2015-12-15, Tweetcc(.)com redirects to a spam blog on Wordpress.com. Note, tweetcc's creators decided to take it down in July 2013."[18] We're looking into having tweetcc restored.[19] You used to be able to use the site http://www.tweetcc.com/ to Creative Commons license your tweets.[20] This allows anyone else wanting to:
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". See Also |




























