Showing posts with label Twitter. Show all posts
Showing posts with label Twitter. Show all posts

Monday, April 20, 2015

Alt Text Bot Image Descriptions FTW

This weekend I saw a tweet in Marcy Sutton's timeline that appeared to be an image description generated by a piece of software.

Given my recent missives on the inherent inaccessibility of images without descriptions (even if Twitter accidentally gave us more options), coupled with rise in people tweeting images of text to get around character limits, I was intrigued.

It turns out the Alt Text Bot is a project from Cameron Cundiff that he submitted to the NYU ABILITY Technology Hackathon, where it also won first place this weekend. He has written a little bit of background on the bot.

Alt_Text_Bot uses an API from CloudSight to help describe images submitted in tweets. Users simply need to mention @alt_text_bot in a tweet with an image (the tweet must be part of the image, not in a Twitter card or via a link) and Alt Text Bot will respond with a description.

I've been feeding my own test images, but Steve Faulkner has been testing its ability to read CAPTCHAs and recognize faces of personalities (though not all).

It has some limitations. The biggest is the character limit within Twitter. Converting a chart to text, for example, is a great idea, but the character limit of Twitter precludes you from getting much value and descriptions can be truncated.

Another is probably from the CloudSight API. If an image is tweeted twice (such as a retweet), you might get two different descriptions (as this first one demonstrates, and then this second one). On top of this, not all images are very clear and context is hard to convey, as in this one showing wheelchair demonstrators in Seoul.

Regardless, given the current state of accessible images on Twitter, this tool is awesome. As I write this I see more and more people testing Alt Text Bot, so I expect that, even if this is just a proof of concept, more good things will come as a result.

The next image is me being excited about this, along with both descriptions that Alt Text Bot provided.

Me at Buffalo Unconference throwing some finger guns.

Wednesday, April 8, 2015

Twitter (Accidentally) Takes Step Toward Accessible Images

Video showing how tweet quoting works. See original tweet from which I swiped the video.

Twitter has officially released its new-ish tweet quoting feature. Since at least last June, if a user included the URL of a tweet within a new tweet, it would present viewers with the full body (albeit smaller) of the referenced tweet within the new tweet.

Now that feature has been formalized. Users should see it when retweeting a tweet as the option to quote a tweet (which previously would just wrap the original tweet in quotes).

This can be a boon to Twitter image accessibility, allowing alternative text to wrap an image tweet (see my post on existing techniques). Except for a few points:

  • Twitter's (current*) prohibition on retweeting oneself means that users cannot easily quote their own tweets to add alternative text — at least not in the Android app nor on the web. TweetDeck allows it, so perhaps we'll see it in the app or web site.
  • Because a quoted tweet is not a reply, it doesn't show up in the list of replies when viewing the original image tweet. This means a missed opportunity to be associated with the alternative text when viewed on its own.
  • When viewing the tweet providing the alternative text (as a standalone tweet, not in the timeline) in the Android app, the image within the quoted tweet is not displayed.
  • Embedding a tweet that acts as alternative text doesn't show the original quoted tweet (nor its image). There isn't an option to embed media, so web page authors will likely embed the original image tweet instead of the alternative text tweet. You can see this example below.
  • Twitter is missing an opportunity to provide an interface that prompts users to provide alternative text. This might help stem the inconsistent efforts from those who want to provide accessibility (such as 18F's noble but under-informed efforts).
Image 1 Image 2
The first image shows a tweet quoting an image tweet when viewed in the timeline (the quoted tweet's content is visible). The second image shows a tweet quoting another when viewed on its own, demonstrating that the quoted tweet's content isn't displayed at all. Note in both views that I cannot retweet my own tweet (the option is disabled).
Sample tweet that quotes an image tweet, but does not show the quoted tweet.

* From the Twitter page explaining the feature, Note: You cannot Retweet your own quote Tweet.

Wednesday, March 25, 2015

Twitter App Sets Browsers Back 10 Versions

Screen shot of a web page as seen in the Twitter app, with a menu showing the option to open in the user's default web browser.

The title of this post may be a bit of hyperbole for some, but it is completely true for me.

Sometime over the course of the last week Twitter changed what happens when I tap links in the native Twitter app on Android. Links now open within an embedded browser, not in my default browser.

I have Chrome 40 installed on my Android phone. The built-in web view on my phone is 10 releases back, at Chrome 30. Normally this isn't a concern of mine, but when a good deal of my Twitter timeline consists of bleeding edge web development techniques, I want to view those on a current release of Chrome.

The first image shows that the user agent string within the Twitter app includes Chrome 30. The second image shows my default browser user agent string is Chrome 40.

This change appeared while I was traveling internationally, which means I had a slower connection than usual as well as a data cap. Not only do I have to view content in an old browser, I have to know that the web view is older so that I then know to open it in my default browser.

That's at least two more taps, plus the burden of the download starting in the web view that I don't want. That extra download burden also impacts my data cap, which is an even bigger issue if I have chosen to surf with Opera Mini to make the most of my limited data cap (you know, data budgeting).

Not only did I never enable this feature, I cannot disable it. It appeared three weeks after my last Twitter app update (see the caption below).

The first image shows the settings screen in the Android Twitter app, version 5.48.0. You can see there is no option to disable the in-app browser, though it has been enabled. The second image is the note in the Google Play store that tells me the only change in the new release is updated profiles so it's easier to view bios, Tweets and photos. The final image shows the option to disable the in-app browser, but only because I updated to version 5.51.0 (when I returned from home and shed my data cap).

So What?

A couple months ago Peter-Paul Koch wrote about the massive fragmentation in the world of Chrome (Chrome continues to fall apart at brisk pace), something to which Twitter is now contributing en masse.

In the modern world of rapidly updating browsers, 10 releases may not seem like a big deal. I guess it comes down to what you want to see, or more importantly, what you want your users to see. Can I Use provides a quick way to compare Chrome 30 and Chrome 40 to see which features you may be missing. Here's a short list:

  • The ability to discard many -webkit- prefixes,
  • Font unicode-range subsetting,
  • matches() DOM method,
  • CSS touch-action property,
  • CSS Font Loading,
  • Custom Elements,
  • picture element,
  • Web Cryptography,
  • WOFF 2.0 - Web Open Font Format.

If you rely on any of these (or many other) features of the open web platform, and you receive traffic from Twitter, I suggest you monitor your logs to see if the most common version of Chrome drops.

As for user experience, If you plan to allow users to toggle a new "feature," don't push that feature to them without the toggle. Especially when you exclude it from your update notes within the app store.

Sunday, December 21, 2014

Don't Tweet Pictures of Text

Ironic tweet of a screen capture of a tweet saying 'these pictures of tweets drive me insane.'

Earlier this week M.G. Siegler posted Hacking the Tweet Stream at Medium, where he describes the trend of posting images of text to do an end-run around Twitter's character limits. His post quickly changes from descriptive to prescriptive, advocating for this behavior to bypass what he sees as a limitation of Twitter.

Christian Heilmann quickly responded to note what a bad idea this is (my words) in his post Great publishing works with the medium, not against it.

Reasons Not to Do It

Christian covered a few reasons why you shouldn't rely on images, which I am including here from his Medium post:

  • Maybe they are blind and can not see text in an image
  • Maybe they are on a tiny device and whilst the font here is readable the text in a small JPG with artifacts is less so.
  • Maybe they are on an unreliable connection and the image hasn’t loaded yet
  • Maybe they have a mis-configured ad-blocker that is overzealous with its blocking

Let me add some more:

  • Maybe the tweet isn't in the reader's native language and he/she wants to translate it.
  • Maybe the text contrast is too low for a small screen or sunlit screen.
  • Maybe the user is bumping against data caps and has to pay for each extra byte.
  • Maybe the user is on a feature phone (think of users outside of North America and Europe).
  • Maybe the user relies on searching the text to find relevant tweets. There is an opportunity cost to not using text.

This isn't an accessibility issue, it's a usability issue and an engagement risk. When you factor connection quality, data plan caps, image quality, contrast, potential image blocking, and search failures, this seems like a terrible method to get your important message in front of people.

Better Options

There are some easy ways to get around this that are native to the medium. I originally offered three of these in October, so I'll include them here with more.

  • Link to the source. Most of these tweets are screenshots from web pages, so link to them.
  • Use Tumblr or a similar platform. Twitter Cards will embed the image into the tweet (except for Instagram).
  • Tweet your own text version or abstract in a follow-up tweet.
  • When you are retweeting someone else, include an abstract or link to the source.
  • Ask the original tweeter for the text or the URL of the source.
  • Use a tool meant for this purpose, like Easy Chirp (an example using a useless tweet from the CDC).
  • Write less. Get to the point, focus on the message, write for the medium.

Now for the Expected Rant

I think this is too easy to dismiss unless there are examples and context. I think it's important to also show that even people who work in UX struggle with it, as I too have done before.

Media Outlets Are Getting Lazy

It seems more and more news outlets are trying this out. In so doing, they are leaving some readers in the dust. More importantly, the reporters who do this are leaving their employers in the dust by not linking back to the news site.

I even asked politely for a non-image version, maybe a link to a release or news story. No response.

I asked the same here, and again no response.

Same situation, different news outlet, still requested a plain text link. At least this tweet has an abstract, though no link to the source.

People Who Should Know Better

While these examples are far from the only three who engage in picture-only-tweets, they each came up in my timeline recently and none included anything helpful for users who cannot see the image (whether by vision impairments or technology issues). These are in reverse-chronological order.

Jared Spool, from his personal account, tweeted a screen shot that had already made the rounds, and didn't take any opportunity to add any value. Of course I got snarky, but when this image first appeared at least I asked for the source URL and got it. It's not that hard.

This tweet from Zeldman is an image of browser stats from a site (probably one of his). That's it, just an image. No descriptive text, no context (though the included text might make it seem NSFW). As I demonstrated in a follow-up tweet, you can fit all the information into a tweet as plain text.

Luke Wroblewski ran a series of tweets which were nothing but images, though he included a barely-legible URL at the bottom of each image (itself a gray bit.ly URL that is so small and light it's terribly difficult to tell a 1 from an l). Why would he do this when the tweets had more than enough characters for the URL as well? Even the image confused some users. I opted to retweet some of them with the links restored and context added.

I am of the opinion that if your image-only tweets had text or links to sources, readers wouldn't need to make a Storify of them, manually creating the URLs on your behalf (and noting that now the embedded-in-image links are clickable).

Given the influence these names have on web developers and the industry in general (497,000 followers combined), and given Spool's position in the UX community, the recent push from Zeldman for accessibility on the web, and Wroblewski's constant push for better UX on mobile, their own behavior simply validates laziness when they could, rather should, be examples of useful, inclusive behavior.

Update: January 2, 2105

Steve Faulkner provides a less ranty collection of tips: Notes on providing alt text for twitter images. In it he outlines three of the techniques I do above, noting that by itself Twitter doesn't include any of the elements nor attributes that would enable accessible images otherwise.

Update: April 8, 2015

In my post Twitter (Accidentally) Takes Step Toward Accessible Images, I discuss how Twitter's new quoting feature can be used to help make image tweets more accessible.

Monday, October 20, 2014

CDC Ebola Response on Twitter Excludes Blind

Image taken from a CDC tweet to show contrast.
This is one of the images tweeted by the CDC. The text contrast is 4.53:1, so it barely passes for large text. At this scaled-down size, however, the question text would fail a contrast test for accessibility.

In the United States, the Centers for Disease Control (CDC) is (or at least is supposed to be) the first line of defense against public health threats like Ebola. It makes sense, then, that the CDC would use social media to assist its efforts to get useful information in front of as many people as possible.

The problem is that the CDC's efforts on Twitter have fallen prey to reliance on the image attachment. When Twitter proclaims that engagement goes up when images are used, and because tweets limited to 140 characters, it can be pretty compelling to use images to convey a lot more content than would otherwise fit — and it can be styled and better branded.

The CDC Emergency Preparedness and Response account started an Ebola fact campaign, framed as a Q&A series of information nuggets (which makes me think it's really an Ebola FAQ campaign, but I digress). Here is the text of these tweets so far (no images):

We put together your most common questions about Ebola. Our first #EbolaFact is about sneezing. pic.twitter.com/KO25cXKiQI

— CDC Emergency (@CDCemergency) October 17, 2014 [alt]

Our next #EbolaFact is about how long the virus lives on surfaces, a common question about Ebola. pic.twitter.com/ekLEdM4o3z

— CDC Emergency (@CDCemergency) October 17, 2014 [alt]

Our next #EbolaFact is about why health workers wear protective gear if #Ebola virus isn’t airborne. pic.twitter.com/cEzVkqPGgK

— CDC Emergency (@CDCemergency) October 18, 2014 [alt]

Today's #EbolaFact is about whether pets can transmit #Ebola. pic.twitter.com/He5WP4suXq

— CDC Emergency (@CDCemergency) October 19, 2014 [alt]

Our next #EbolaFact is about the incubation period for those exposed to #Ebola. pic.twitter.com/TIwaiga1wi

— CDC Emergency (@CDCemergency) October 20, 2014 [alt]

That's it. No answers, no context, no links to more information. If you are a blind user, you get nothing of value from these tweets.

The main CDC twitter account makes the same mistake:

Get the facts about #Ebola. Here’s what you need to know about when a person can spread the disease to others. pic.twitter.com/DxeSlNhwKE

— CDC (@CDCgov) October 17, 2014 [alt]

Don't think the White House is doing much better. While the tweets at least include URLs to get more information, the text within the image is not included in its same easily-digestible form, and the data contained in the image is scattered across a long-form article on the site.

Worth sharing: Here are the facts on #Ebola, and what we're doing to respond → http://t.co/RMFwal2IB8 pic.twitter.com/UJLnOsP7RV

— The White House (@WhiteHouse) October 16, 2014 [alt]

RT to get the word out: Here are the facts on #Ebola: http://t.co/RMFwal2IB8 pic.twitter.com/KR25pBZvaR

— The White House (@WhiteHouse) October 16, 2014 [alt]

Easy Fixes

Even if you're not the CDC, I think there is still a lesson to be learned here — putting all your tweet content into embedded images is a great way to exclude users. Thankfully the CDC can choose from one of three (four?) easy fixes.

Make Supporting Web Pages

The CDC can simply link to the content in the images as equally-short nuggets on its web site. Clear out the cruft of third-party "share" icons, remove the excessive footer, and generally pare the page down to the fastest load possible. To support these users, don't make them have to navigate to the nugget of content when landing on the page, make it the entire page.

Tweet Your Own Alternative Text

There has been a trend in the accessibility community on Twitter to include or describe images in their own tweets and sometimes in others' tweets.

It ranges from linking to a longer description, to just a quick inline description, to sometimes a reply to the tweet with the alternative text so the two stay associated within Twitter's own tweet-linkage display. You might be pleasantly surprised when people thank you.

Use a Tool Meant for This Purpose

Alternatively, look at a tool like Easy Chirp to embed the full text content within the tweet itself. It already has traction in the blind community, so those already familiar with it don't have to struggle through a learning curve.

Here's the same tweeted image as CDC's first Q&A tweet, but this time it has alternative text just one click/tap away (without losing the image for sighted users):

GIFs in Words on Twitter

This one is a bit far-fetched, but convince the @gifsinwords Twitter account to fill the gap. It's already proven pretty handy to some.

Update: October 21, 2014

These slides might prove interesting related reading (no video that I am aware of): How Companies Engage Customers Around Accessibility on Social Media

Update: October 23, 2014

It looks like both CDCEMergency and CDCgov have each improved a tiny bit in their most recent tweets, insofar as the key point of the message in in the text of the tweet (even if there is still no full alternative text):


Alternative Text (You Can Probably Skip This)

I intentionally didn't allow any of the images in the examples to embed. I think you should experience the tweets the way a blind user would (with the exception of the opening image with its low contrast). However, I also want to make sure the content is still available to readers. So I am helping the CDC here and including the text from each image above (also linked from each image above).

CDC Ebola Q&A:
Q: Can Ebola spread by coughing? By Sneezing?
A: If a person with Ebola coughs or sneezes on someone and saliva or mucus contacts that person's eyes, nose or mouth, disease may be spread.
http://cdc.gov/ebola

CDC Ebola Q&A:
Q: How long does the virus live outside of body? What effectively kills it outside of body?
A: Ebola on dried on [sic] surfaces such as doorknobs and countertops can survive for several hours; however, virus in body fluids (such as blood) can survive up to several days at room temperature. Ebola is killed with hospital grade disinfectants (such as household bleach).
http://cdc.gov/ebola

CDC Ebola Q&A:
Q: If Ebola isn't airborne, why do health workers wear protective gear?
A: CDC recommends Ebola healthcare workers wear protective gear due to the possibility of large amounts of blood, other body fluids, vomit, or feces present in the environment.
http://cdc.gov/ebola

CDC Ebola Q&A:
Q: Can I get Ebola from my dog or cat?
A: At this time, there have been no reports of dogs or cats becoming sick with Ebola or of being able to spread Ebola to people or animals. The chances of a dog or cat being exposed to Ebola virus in the United States is very low as they would have to come into contact with blood and body fluids of a symptomatic persion sick with Ebola.
http://cdc.gov/ebola

CDC Ebola Q&A:
Q: What is the incubation period for Ebola?
A: The incubation period, from exposure to when signs or symptoms appear, is to 2 to 21 days, but the average is 8 to 10 days.
http://cdc.gov/ebola

Facts about Ebola
When is someone able to spread the disease to others?
Ebola only spreads when people are sick. A patient must have symptoms to spread the disease to others. After 21 days, if an exposed person does not develop symptoms, they will not become sick with Ebola.

Get the facts on Ebola:
Ebola is not spread through: Casual contact, air, water, food in the United States.
WH.gov/Ebola-response

Get the facts on Ebola:
You can only get the Ebola virus through direct contact with: body fluids of a person who is sick with or has died from Ebola; objects contaminated with the virus; infected animals.
WH.gov/Ebola-response

Sunday, August 31, 2014

One-man Focus Group for Twitter's Timeline Changes

Shows tweets with text saying 'follows,' 'favorited' (both with red X marks), and 'retweeted' (with a green check mark).

TL;DR: Twitter is showing tweets in your timeline that people you follow have favorited or just from those they follow. Way below I outline how I have been reacting.

Much has been said of Twitter's recent change to start putting more than just promoted tweets into users' timelines (such as this forewarning from Gigaom in July). Much of it was said from the "what if" perspective before it had been fully implemented. I've decided to share my experience as a user now that it's up and running.

Context

For a little context, I first saw this happen in March and quickly got annoyed when Huffington Post (which I consider the bottom feeders of regurgitated news bites) tweets started to appear in my timeline. Considering how much time I have spent cultivating my feed, I was worried this was a new trend.

Once Twitter formalized this, some savvy people felt compelled to post a disclaimer once it became clear what they favorite could become stuffed into someone else's timeline alongside their name. Here's one example that covers my feelings pretty well:

I could link to tweet after tweet expressing frustration with this change, but posts like this one from The Next Web have already done a nice job of cataloging the changes as well as the general response.

With all the Ferguson coverage lately Twitter has come out as the best source for news — moreso than traditional media and far better than Facebook. It's been a PR boon, resulting in posts like the aptly-titled Why Facebook is for ice buckets, Twitter is for Ferguson.

Why would Twitter want to start adjusting the timeline that is garnering it so much praise, further risking a descent into being no more than an echo chamber or a marketing assault?

Observing Me

Once these changes started to appear in my timeline I mostly got annoyed and tried to ignore them. I swiped past them and mumbled. But this weekend I snapped. Saturday morning my timeline was regularly filled with cruft I have worked to avoid, from outlets such as Buzzfeed and TMZ. Since they always include photos in the tweets, it takes up half my screen with every unwanted tweet.

Knowing Twitter doesn't care about me as a single user, and clearly doesn't care about the rising voices who are against this change, I opted to do something about it for myself. I didn't start these steps with the intent of writing this post, but perhaps someone at Twitter will see how the user is routing around the problem and reconsider its position.

Steps I've Taken (So Far)

  • Blocking
  • Unfollowing
  • Not Favoriting

Detail on each follows…

Blocking

I enjoy the Twitter account Saved You a Click. It has become something of a news source for things I wouldn't ever see anyway (sports, celebrities). Saved You a Click follows many accounts I would never follow, like Buzzfeed and TMZ. After tweets from those two sources appeared in my timeline, tweets that Save You a Click didn't even favorite, I decided to simply block those accounts.

I then let Buzzfeed and TMZ know that I blocked them (probably falling on deaf ears). Perhaps, however, if enough people block the accounts that are shoehorned into their timelines, those account owners might raise a stink with Twitter on the other end.

The first screen shot shows a tweet from TMZ, the second shows another from TMZ, both taking up half of my visible timeline with content I do not want. So I blocked TMZ. You may click/tap/select each image for a larger version.

Unfollowing

Yesterday after seeing a few tweets that folks I follow had favorited, or even just from accounts that they follow, I opted to prune my following list. I cut my list from 199 people to 183 people and immediately reduced some of the items in my timeline related to sports, celebrities, and other things that don't interest me.

Having me as a follower isn't exactly a badge of honor. I'm sure none of them care very much. But we as users should all consider that we might lose followers simply because of who we follow and what we favorite (regardless of why you favorited it).

The first screen shot shows a tweet from CNN that I had already seen three hours prior (since I follow CNN), the second shows one from Buzzfeed, which I then blocked. In this case I did not unfollow the accounts from which those tweets were "sourced" (?), but I did unfollow others. Note that the second image shows two tweets, of three, that were not re-tweets nor from accounts I follow. You may click/tap/select each image for a larger version.

Not Favoriting

Tweets that I favorite might appear in someone's timeline now. I've already seen it happen to others, and just this morning I got verification that it happens for mine.

I don't like that. I don't want people seeing what I mark for later reading. I also don't want it to appear to be a re-tweet (I am so opposed to the "ideal" re-tweet model that I have only ever done one, the rest are all manual). So I have a simple solution: I will no longer favorite tweets. I'll simple send them to myself (there are tools that can do this for me, but I'll probably just email them).

Each image shows a tweet that someone I follow favorited. The tweets don't interest me, but I don't want to unfollow them. The lesson here is that I shouldn't favorite else I get unfollowed, not to mention I don't want folks to see a favorite as an endorsement. You may click/tap/select each image for a larger version.

Other Actions

I'm now looking at the tops of tweets to see if the tweet was truly re-tweeted, or just favorited, or is just from an account that someone I follow follows in turn (see the opening image). That's annoying.

I'll probably refine this over time, either as Twitter adapts or as I find better ways to do it (like installing a third-party app that I don't hate).

Wrap-up

I'd prefer if Twitter stopped this or at least made it an option I can disable. In the absence of that happening, I am taking the Internet's lead and routing around the problem.

In time I may simply check out of Twitter as I have already done with Facebook for doing the exact same thing.

If you are from Twitter and are reading this, I hope this post is useful as a one-person user study. I am happy to answer any questions you may have.

Update: September 4, 2014

Looks like this is just the first step in a larger change for Twitter to try to replicate the very feature that causes so many to make fun of Facebook: Twitter CFO says a Facebook-style filtered feed is coming, whether you like it or not

Since Saturday I have blocked the following Twitter accounts, solely because of Twitter's change:

  • @TMZ
  • @BuzzFeed
  • @WIRED
  • @VICE
  • @verge
  • @Slate
  • @HuffingtonPost
  • @peoplemag
  • @USATODAY
  • @Adweek

Monday, July 8, 2013

Backing Up Your Social Media

Social media icons Social media outlets are practically a dime a dozen. Excluding ones that are pretty stable right now (Twitter, Facebook, etc.), most of them will either fail or get bought. The problem is that your data, your content, typically dies when they do.

As an individual you might not care too much if one of the niche services fails. As a business who relies on social media, however, you should care.

Every post to Twitter or Facebook or Blogger or (insert whatever services you use here) represents effort spent to promote your brand. That effort is probably from paid staff (because nobody lets interns have the keys to their global brand, right?) and represents some cost as a result. Cultivated Facebook campaigns, Twitter conversations, Pinterest boards, all represent a combination of your effort and community participation.

When a service goes away, so does the money and effort you spent to cultivate it. So does the community feedback that demonstrates to others that yours is a good brand. So does any SEO benefit it may be giving you. So does the content you created.

I regularly ask social media practitioners how they back up all the data they post to these services and it almost always results in blank stares.

Most organizations make some effort to back up their marketing or sales materials, in addition to their intellectual property, but for some reason social media is left out in the cold.

I'll cover some examples of what I have done and do, along with some tips on how you can plan for your own back-up.

Twitter

Twitter allows you to produce an archive of all your tweets whenever you request it. What you will get is a link to download a ZIP archive which contains a completely stand-alone web site that allows you to see all your tweets. You can use this site right from your computer with no internet connection.

I suggest taking it one step further and creating a folder on your public web site so you and all your team (and even the general public if you want to share the address) can access all of your tweets at any time from any where. This method will also allow you to search all your tweets instead of being limited by Twitter's own date restrictions on searches. For example, I have my Twitter archive at AdrianRoselli.com/Tweets.

Tweets in the archive contain the full content of the original tweet, but do not contain any of the replies to, favorites of, or re-tweets of your tweets. They do, however, link you directly to the tweet at Twitter.com so you can get all that information.

As part of your job as a social media manager I recommend you set up a calendar reminder for the first of each month (or whenever works for you) to download and store your Twitter archive.

Facebook

Facebook also allows you to create an archive of everything you have posted, including photos, videos, wall posts, messages and chat conversations along with the names of your Facebook friends. It does not include comments you've left on the posts of others. An expanded archive option also provides historic information such as your IP addresses for when you have logged into Facebook.

As such, I recommend against posting your entire Facebook archive to your web site as it will probably contain information that you have opted to not share with the general public (especially since it can also contain other people's private information).

I should note that I am talking about a personal profile here, not a business profile. So far I have been unable to find information on how to archive a business/organization profile. Suggestions are welcome.

[Your Blog Here]

Quite a lot of social media involves maintaining a blog. This blog may exist on any one of many platforms, including one you've built yourself. For this example, I am talking about a blog that you host elsewhere, probably for free, such as an option from Wordpress or Blogger, among others.

In an ideal scenario you will have secured a blog sub-domain, such as blog.adrianroselli.com. This is the first step to having some portability and control should your blogging platform go away. It won't be so easy to get adrianroselli.blogger.com if Blogger goes away, mostly because I don't own (and likely would be unable to purchase) the domain blogger.com.

If your blog platform does go away and you have some advance notice, you have some options to get your content before it is lost. Some platforms will offer you a way to get all your content out and other platforms may offer you a way to import that content. If your failing platform doesn't offer an archive, you can always spider the content using a tool like HTTrack.

Ideally you'll want to recreate your content on your new blogging platform, so make sure you also recreate the same page addresses (most of the blogging tools allow you to create a custom page address, though it will be a manual process). In this scenario, any inbound links won't be broken. For those cases where you cannot replicate the page addresses, explore options to create custom redirections with your new blog provider or, if it's on your own server, through server-level mappings.

Pinterest, Tumblr, Instagram, and Other Services

I have used many services over the years, in particular services targeted at image sharing. I have used Brightkite, Plyce, Picplz, Posterous and am now on to Tumblr. With the exception of Tumblr (so far), they have all gone away. I haven't lost my images, however. In the case of Brightkite they made everything available for download for quite some time and in a structured format. Picplz offered the same, but not until many users raised a stink and followed its founder to his next gig to push their point. Posterous made its site available as a static HTML archive.

Had these sites not made the content available, however, I still had a plan to get everything out. I simply spidered my profile page for each site using a tool (HTTrack again) that converts it all to static HTML. In short, I captured every page and every image to a format that I could simply post on my own site or view on my local computer (as I did with Picplz and Posterous). While I cannot replicate the old addresses (similar to the case with a blog domain), I can at least make my content available should I want to reference it again.

When Pinterest or Instagram or Tumblr or insert-service-here announces it is going away, I will simply fire up the same tool and begin my archive process. Each service may very well offer a tool to do this, but I'd rather make sure I have it just in case they don't. In addition, sometimes it's more work to process a stack of JSON files than it is to simply spider the site and post it somewhere on your own site.

Related Bits

Monday, December 31, 2012

Social Media Goals for the New Year

Every year I think people will start to get the hang of social media. After all, it's really not much different from what we've done as a society forever, just more rapid-fire. Every year I am proven wrong.

Perhaps we need to consider better behavior on social media as a New Year Resolution for it to take effect. So here's my attempt at guidance.

Background

When I got to college, few people had heard of email and even fewer used it. Usenet was a foreign concept to nearly everyone I knew in meat-space, but with so much traffic I knew it wasn't hurting for users. Before there was a web, I understood the notion of choosing my words carefully. Archives of all my posts would surely stick around for many years, I thought, and so they have. I can still find stuff I posted back in 1992.

As the web happened and it became easier for anyone to share anything, and as email flourished (back when we had time to read it instead of filtering it), I adopted a variation on an old idea of how to behave in email — never write something in an email you wouldn't want to be posted on the front page of The New York Times. Nowadays maybe it's a tweet on the front page of the Fail Blog.

I think we should all accept that with the ubiquity of cell phone cameras, let alone all the surveillance cameras, web cams, and soon airborne drones made by 12-year-olds, everything you do runs the risk of being scrutinized and posted online for the world to judge. By posting your own contributions to social media sites, you (and I) continue to drive it.

When Facebook's co-founder's sister (who is also Facebook's former marketing director) posted a photo to Facebook and was surprised to see it tweeted by someone she didn't know, claiming it as an invasion of privacy, the collective web laughed at her. She became the holiday poster child for how confusing Facebook's privacy settings are to understand and implement — and she's the sister of the face of the company.

It also makes her follow-up tweet all the more laughable, partly because I doubt she asked the permission of her family members before posting their photos online:

What You Can Do as a Social Media User

Most importantly, don't think that just because you have locked down your social media accounts, no one that you haven't authorized can see it. An errant retweet or a misunderstood setting are all it takes to make that notion come crashing down. Just look at Zuckerberg's sister — she clearly doesn't understand either of the platforms she uses despite what she thinks.

I have my own set of rules I follow and I try to lead by example. That doesn't mean all mine are right, but I had to start somewhere.

  • For the most part, I do not post photos of people without their permission. Exceptions include crowd shots.
  • I don't post photos of children, though when there are exceptions I do not post names with the photos.
  • When I do take general place or crowd photos, I avoid posting ones with the faces of children visible.
  • I avoid posting photos with faces visible when I am making fun of a particular fashion choice.
  • I don't create venues for homes.
  • I don't post photos with street addresses visible.
  • I don't embed GPS information when tweeting from someone's home.
  • I don't retweet tweets from a protected account (unless I have permission or it's a particularly good insult to me).
  • I don't tag people in photos without permission or prior experience that it will be fine.
  • I don't tag friends in places when I am out, which is also why I don't auto-tweet my Foursquare check-ins (on top of the fact that it's annoying).
  • I don't include information about friend or family schedules in posts, especially when they are travelling.
  • I do not sync my phone with any cloud service or allow any auto-posting. I'd rather pick and choose than run the risk of the wrong image making it to the wrong place.

It's worth noting that I have violated all of these at least once, sometimes by accident and sometimes by stupidity. In a handful of cases I have been rightly chastised.

When it comes to kids (anyone's kids), I work to make sure I don't put enough information out there that a motivated offender couldn't just drive up to a kid on the street and spout enough information to make the kid think it's safe to get into his car. I wish more parents on Facebook made that effort.

What You Should Do as a Person in the World

Accept that everyone has a camera and can post photos and videos of you at any time. Accept that you may appear unintentionally in crowd photos that appear on everything from locked-down Facebook pages to the local news to band fliers and so on.

When you have a friend who keeps posting photos of you that you don't want posted, you should confront him or her. At some point you'll have to decide between how cautious or uptight you want to be versus how much that friendship means to you.

If you are a Facebook user, you can control whether or not you get tagged in photos (as a link to your Facebook page only) and you can even un-tag yourself.

Either behave or own your pile of crazy.

Related

Tuesday, November 6, 2012

Social Media Profile versus a Web Site

We paid $3,000 in Facebook ads last year to attract some new fans. Now, with this fancy [promote] button, we can pay $3,000 more for those fans to actually see our updates.
This image gleefully stolen from The Page That No One Will Ever See. Now it may be a seen page.

Yesterday an eye-catching headline popped up in my Twitter feed: 6 Reasons Facebook and Twitter Are More Important Than a Website (which is a different message than the author's "infographic" that suggests users find Facebook more useful than a brand's site). I have been down this road more than once, but I thought I would follow the link and see what those six well-thought, sound business reasons must be.

1. Websites Require Constant Maintenance

Given the immediate nature of social media, a traditional marketing web site needs far less maintenance than trying to engage followers. I argue that many users expect content on a web site to be relatively constant, updated as appropriate and, in the case of some web applications, automated to a degree.

A Twitter account that pushes out content every few days, however, might be considered slow. One that pushes content every few minutes can be an assault to a follower's timeline. One that doesn't respond to tweets from users might be considered disrespectful.

Contrast this with a Facebook page that has some traction and has many fans. When those fans post to the brand's wall or comment on posts from the brand, there is an expectation of a quick response from users, which requires constant vigilance to keep users from feeling like they are being ignored.

The author also claims web sites can cost between $50 and $5,000 dollars to build, but makes no effort to identify how much a social media resource costs to maintain profiles and fresh content across multiple social media outlets. This assumes a business isn't so clueless that interns are considered good resources for representing the entire brand on social media.

Sticking with the cost argument, I think the author hasn't been paying attention to recent Facebook changes in the form of promoted content.

2. Social Media Is Scalable

The author seemingly assumes most web sites are hosted on servers under desks. Granted, the real point is that a web site may not be able to handle traffic from a random viral traffic spike.

This may very well be true for some sites, but given how many sites are hosted on, and get resources from, content delivery networks and national hosts, the need to scale can often be handled with a phone call to a hosting provider to kick the site into the next hosting bracket. One cannot call Twitter or Facebook when it has been overloaded and demand it scales up for your traffic.

Interestingly, pages on my own site have suffered far more downtime as a result of embedded content from Twitter and Facebook. When they suffer the inevitable and random "fail whale," their poorly-written scripts can take down my entire page. At least when social media platforms are on the fritz, I can still direct users to the rest of my web site for information.

3. Websites Require Specialized Knowledge

I am actually a little sad this point isn't true. With the preponderance of WYSIWYG editors, export-to-web features, free platforms like Blogger or Wordpress with pre-built themes, it's far too easy for someone without specialized knowledge to get his or her message out there. And this is a good thing.

The author does make a point that to have a truly unique site with modern standards such as HTML5 and CSS will require someone with skill to do it for you. Oddly, the alternative he proposes is to use exactly the same Facebook or Twitter layout as everyone else. And I can personally guarantee it won't be built to modern standards such as HTML5 and CSS.

To be fair to social media, almost no web site claiming to be built to modern standards actually is either.

4. Your Customers Are Already on Social Media

Really? He knows that? He has run a series of surveys, done market analysis, engaged my users directly and determined they are on social media? And he found more than 15% of US adult web users are on Twitter?

For my target audience, he is right. Although that's by accident. I can also rattle off plenty of businesses (including my own clients) who don't know that for sure, haven't done the research, aren't in a position to, and can even guess that it's still not true.

The assumption in the article is that users are already inundated with web addresses. He argues that somehow a link to a Facebook page can percolate above all that, that even a Twitter hashtag will make sense to more users. The logic is that users are already on social media, so they'll just go right to your message.

Nevermind that your target users may be in a demographic that doesn't use social media. Or your business may not be a fit for social media. Or that there are still more web users than Facebook users (even if you include the thousands and thousands of fake accounts). Or that there is already enough noise in my Twitter and Facebook feed I don't see stuff from my real-life friends.

5. You’ll Be Easier to Find

Using SEO as a dirty word (well, it is), the author suggests that it's hard to find things on the web. He says social media platforms have their own search already, so if you just focus there you will be found much more readily.

To make an anecdotal argument here, which is abnormal for me but curiously appropriate in this case, I can tell you that if I want to find a brand or person on Twitter or Facebook, I go to Google first. Google provides a far better search for me than I can get in Facebook's or Twitter's results, partly because both Twitter and Facebook are too busy trying to pitch me or assume I know their lingo. If I'm not logged into either one, it's an overall useless experiment. If I am trying to research a product or service, then Facebook and Twitter are the last places I'll go.

Given how readily Twitter suggests people or brands I should follow that are either promoted, of no interest, or that I have already unfollowed, I would not rely on the discovery method of gaining new followers. Given how Facebook has changed its model to require you to pay to get your message in front of fans and their friends (promoted posts), I wouldn't rely on discovery there, either.

If you dismiss the value of a search engine to help users find you and rely solely on the search and discovery features of social media, then you are painting yourself into a corner. Twitter use won't generate enough content over time for all your targeted phrases (unless you constantly assault followers) and neither will Facebook, because they both push older content down, out of the view of search engines.

6. Facebook and Twitter Facilitate Content Creation

Yes, they do.

When I am particularly angry at a brand, I go right to their Facebook wall and post my issue. I also approach them on Twitter. In some cases, I hijack their hashtags. I create all sorts of content about how much that brand has disappointed me. The brand may respond and make it right, but my words are out there, getting indexed by Google, being associated with the brand.

But that's not what the author means, he means (his words) content can often be generated through the simple click of an upload button. Regardless of the fact that you need someone to take that photo, craft that caption, be available to respond if people engage with it, and even hope that anyone cares, he's telling us that content is free and writes itself.

Which it doesn't. Otherwise I wouldn't have had such a good turnout (and feedback) at my content strategy session at the local WordCamp.

Wrap-up

Only in the closing paragraph does the author suggest that maybe you might still need a web site and maybe you might benefit from Twitter and Facebook. So I have to ask myself, why didn't he lead with this? Why are the hollow arguments told strictly from the perspective of spending you effort on Facebook and Twitter to the detriment of your site? Because he's a social media services peddler.

If the author truly believed that Twitter and Facebook are more important to have than a web site, then I look forward to when he demonstrates that belief by shutting down his site and moving it all to Facebook and Twitter. Until then, it's a poorly-argued sales pitch.

Related

These are posts I've written that go into more detail on some of the points I raise above. Traditional web sites easily have as many issues and more, but that's not what this discussion is about.

Tuesday, September 18, 2012

Reviewing Twitter's New Profile Header

Today Twitter announced that it has added header images to profiles, similar to what Facebook and Google+ have done. In addition, Twitter has updated its apps for iOS and Android devices to use those header images. Twitter explains why it has added this feature:

Starting today you can make your presence on Twitter more meaningful with new Twitter profiles. […] You can upload your header photo, which appears above your Tweets, to express yourself instantly, anywhere.

By adding a header image, I am both making Twitter more meaningful and expressing myself. Even though I have used Twitter for 15,000+ of my own tweets so far to express myself, and follow a group of folks that bring meaning to my Twitter stream. In case it's not obvious, I am suspect of the reasoning. It feels to me more like Twitter trying to make itself more like Facebook (and Google+ and App.net), especially with the promotion of any photos from my timeline into their own prominent photo bar on mobile displays.

Twitter offers only two parameters for providing the header image — it should not be over 5MB and it should be 1,252 × 626 pixels. I can only assume this over-sized behemoth is Twitter's way of accounting for high resolution displays. And so I dutifully made and uploaded my header image.

Desktop Browser

Screen capture of new Twitter header on desktop browser.
Screen capture of new Twitter header on desktop browser.

I am wholly unimpressed with the desktop browser experience. Not only has the image been scaled down (which I expected), it was scaled down to 542 pixels in width, or by a factor of 2.31. That's not a nice even number and it relies on browser image scaling (which isn't even bicubic in older browsers) to present the image.

In addition, my name and description are lost in the image, which means I'd have to build a space into my file just to account for the text. On top of all this, the link to my web site doesn't stand out in any way as a hyperlink. It is not obvious that it is clickable, and that's ultimately the thing I want people to click if they visit my profile page.

Forgetting how the image disrupts copy laid on top of it, the size of the image header leaves (at the window size I was using) only 3 tweets visible in my timeline. While at this same window size I only had 5 tweets visible with the old header, I'd rather have those two tweets back given the issues I have with the new header.

Compare this with my profile page before the header:

Screen capture of old Twitter header on desktop browser.
Screen capture of old Twitter header on desktop browser.

Mobile Browser

Screen capture of new Twitter header on mobile browser (Chrome on Nexus 7).
Screen capture of new Twitter header on mobile browser (Chrome on Nexus 7).

The mobile browser experience isn't much better. The text is nearly illegible, but at least the hyperlink to my site appears to be bold, if smaller. Only three tweets are visible and then there is a bar with images I have posted. The worst part is that only one of those is mine (the other five are retweets), they are from July, and the thumbnail, when tapped, loads the wrong image. I don't like my tweets being truncated for this low-value content.

Without the header image, however, the experience is almost no better. I still lose the same amount of space to a header image I have not defined. The only plus is that the text is now legible. See the before photo:

Screen capture of old Twitter header on mobile browser (Chrome on Nexus 7).
Screen capture of old Twitter header on mobile browser (Chrome on Nexus 7).

Mobile App

Screen capture of updated Twitter app with new header (Nexus 7).
Screen capture of updated Twitter app with new header (Nexus 7).

Everything I said about the mobile browser experience with and without the new Twitter header applies.

Except this is even worse.

You can't see my description, location or web site address in my profile without swiping to a second panel. Perhaps in some misguided attempt to make the text more legible by laying down a black overlay on the background header image, Twitter has now made my biographical information and link to my site totally invisible without some user interaction.

Not providing a header image does not save me from this mistake. As you can see below, custom image or not, my information is still a screen away.

Screen capture of updated Twitter app without new header (Nexus 7).
Screen capture of updated Twitter app without new header (Nexus 7).

Conclusion

I removed the header image. I see no reason to push all those kilobytes to users to lessen their experience should they stumble across my profile page. On top of that, I don't want to hide any more tweets than necessary nor obfuscate the link to my site (though I have no control over that in the mobile app). Perhaps in the future I'll take time to craft an image to better fit the layout, but I have more important things to do than try to shoehorn something into Twitter's mistake. Not to mention they can just change the rules again at any time.

Frankly, I'd rather Twitter enable Twitter cards for all sites. There is far more value to me as a content creator and as a user in that feature. And that feature leans on the existing Twitter experience, not some vapid attempt to copy other social media platforms.

Update: 2:19PM

I just discovered .net Magazine did a brief piece on the Twitter header image this morning, and the sources they cite say pretty much the same thing as I do.

Thursday, September 6, 2012

Use Twitter's New Embedded Timeline without Slowing Your Page

Update: September 7, 2012

I misunderstood how browser load external JavaScript files when that load itself comes from embedded script. Ben Ward explained it to me and referenced this handy article, Thinking Async.

The gist of the article is that using JavaScript to write in a call to a JavaScript file causes the browser to load the external script asynchronously.

While it may be like wearing suspenders with a belt, I'm still going to leave my async edits in my Twitter embedded timeline calls.

Original Entry

Yesterday Twitter announced its new embedded timeline feature for web sites. The gist is that you drop a block of code on your site and users will see the timeline for the selected account as if they were viewing it on Twitter.com — embedded media, expanded links, etc.

This is a new feature and is likely to change, even if the how-to Twitter post isn't too clear on that. I say that it will change because of language in the developer documentation like No other customization options are available at this time, as well as the slew of requests for more type styling options (among other customization requests) on the Twitter Embedded Timelines Questions page(s).

There are also known bugs. If your domain has a hyphen in it, then this won't work. If you are using Opera Mobile, Android 2 or 3 default browser, or an iPad, then the swipe-to-scroll gesture doesn't work (I already reported that one).

Another issue that Twitter may not consider a bug is how the script to embed the timeline is loaded. Currently if you have an embedded tweet or the old embedded timeline on your page and Twitter is down (fail-whale down), then your web page will take quite a while to render. This is a function of how browsers load JavaScript. The browser won't finish rendering the page until it has loaded all the JavaScript or given up (a timeout, which can take minutes).

While there are JavaScript functions that can mitigate this, those don't come into play until the script has downloaded. Instead, HTML5 has a couple attributes for the script element that apply here — async and defer. Essentially these tell the browser it can render the page before the script is downloaded. Since Twitter content is often just add-on content for your existing page, this is the right approach.

Instead of spending a thousand words explaining how this attribute works, I refer you to the WHATWG specification using an embedded tweet where I manually insert the async attribute:

The new embedded timeline feature doesn't make it quite that easy. Twitter gives you code to drop on your page that has no script element into which you can casually paste async. The script element is generated by JavaScript, which looks like this:

<a class="twitter-timeline" href="https://twitter.com/aardrian" data-widget-id="243755160277487616">Tweets by @aardrian</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

Many of the people who may drop Twitter timelines into their web site are not JavaScript coders. So I whipped up a quick modification you can make to that pre-generated script that will drop the async attribute where it needs to go:

<a class="twitter-timeline" href="https://twitter.com/aardrian" data-widget-id="243755160277487616">Tweets by @aardrian</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

The js.async=true; tells the Twitter function to drop an async into its script reference when it gets created. The generated chunk of code will look like this:

<script src="//platform.twitter.com/widgets.js" async="" id="twitter-wjs">

Now if Twitter goes down again (which it will) your page won't hang as a result. I have also asked Twitter to consider including async in its standard copy-and-paste code.

I have eight (8!) examples of this in play on my Buffalo food truck page, where I have embedded the timelines of the current crop of food trucks in the area so I can check them all at once while aimlessly wandering the streets in a hunger stupor.

If you have a better solution, I am all ears. Please drop it in the comments with any other feedback.

Monday, June 25, 2012

Twitter Cards Are Now Valid HTML

Screen capture of an expanded tweet from the Twitter web site.If you've used the Twitter web interface much you might have noticed that sometimes a tweet that links to a popular site includes previews of the pictures, or perhaps video, or even maps.

For example, when I check into a venue on Foursquare and allow that to be auto-tweeted, the web version of my tweet includes venue details including a map, address, number of check-ins and (if I posted a photo) a cropped picture.

This sample image shows how that appears (albeit scaled down to fit on this page since it's so darn tall), but sadly (or goodly, depending on your objective and grammar) the embedded tweet feature doesn't contain all that detail when drawn:

If you go directly to the Foursquare page for that check-in and look at the source code you will find these two meta tags (among many others):

<meta value="@foursquare" name="twitter:site" />
<meta value="photo" name="twitter:card" />

In fact, if you look for other sites whose Twitter references tend to include images, videos, and so on, then you may find these meta tags rolling around in the page header. Here is a sample block from a YouTube video:

<meta name="twitter:card" value="player">
<meta name="twitter:site" value="@youtube">
<meta name="twitter:player" value="https://www.youtube.com/embed/dQw4w9WgXcQ">
<meta property="twitter:player:width" content="640">
<meta property="twitter:player:height" content="480">

This feature is called a Twitter Card, and Twitter has a detailed tutorial of how to enable Twitter Cards for your site at its developer site. If the code looks a bit familiar, it's based on Facebook's OpenGraph, which also stuffs content into meta tags for the use of Facebook embeds.

Not all sites that use Twitter cards will be automatically supported — at least not yet. Twitter is trying this out on some clearly major sites (Foursquare and YouTube are examples) and for anyone else to get their site content embedded into tweets like this they must apply to participate.

Unfortunately, you first have to implement Twitter cards on your site. Only once you have implemented them can you apply to participate, and even then there is no guarantee you'll be included. From Twitter's sign-up page:

As we roll out this new feature to users and publishers, we are looking for sites with great content and those that drive active discussion and activity on Twitter. Unfortunately we will not be able to respond to or approve all requests.

Even more unfortunately, the documentation Twitter provided (as of Friday morning) required you to use meta tags that would not validate. In both HTML4 and HTML5, a meta tag with a name attribute must have a corresponding content attribute, not a value attribute (or, more accurately, there is no content attribute).

A developer filed a bug report noting that the Twitter card code as presented on Twitter's site does not validate. Though Twitter did not respond to this bug report, on Friday afternoon Twitter updated its sample to make the code valid HTML — though nowhere in its document does Twitter notify readers what was updated or that the unnamed change made the code valid.

For those of us who implemented the Twitter Card on our sites in anticipation of wider roll-out of this feature, we are now faced with going through our code to update it at additional expense. Sadly, since this is relatively new and unannounced, there is no way to notify developers that the code has changed.

Twitter will now also be forced to support both variants, since it's clear Foursquare, YouTube, and probably everyone else who has this code in place has not changed it since Friday and may not change it for some time to come. In the end, if web developers just copy content from other sites as a base, they could end up propagating this bad markup.

Having already set up pages on our not-for-profit Buffalo Soccer Club site to use Twitter Cards on Friday morning (which Twitter does not honor yet), I now have to go back through and change them to use the new and valid meta. On the bright side, if you use a content management system that allows you to put custom meta tags on your pages, then you may not need to spend any money to get a developer to implement this feature (hint about our CMS, QuantumCMS).

The bright spot to this story is that Twitter made the change and the code will validate. Those of us trying to be early adopters should be more than happy to make the change.

Interesting aside — I actually wrote this up on Friday when the Twitter code was still broken, but when I went back to review/edit this post on Friday I saw Twitter had updated its code. I hate wasting a blog post, so you have now read my re-write.

Update: March 26, 2013

A List Apart has a new story today outlining not just Twitter cards, but also the the Open Graph meta data that pre-dates Twitter cards: “Like”-able Content: Spread Your Message with Third-Party Metadata