tech support 8

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 17 November 2011

Struggling with Semantics

Posted on 06:42 by Unknown



Piece of one panel from the CSSquirrel comic on this topic.




Now that HTML5 is starting to crack the mainstream, misunderstood and misrepresented though it may be , it makes sense that more and more developers and contributors should start to struggle with the shifting assignment of semantic meaning to the HTML5 elements. I wrote about this on Halloween in my post HTML5 kills [time], Resurrects [u], where I struggle with the changes elements have gone through from HTML4 to HTML5, and even during the course of the development of HTML5.




It makes sense, then, that given all this flux people might start to grapple with each others' definitions of semantics in the context of HTML5 elements. This week has seen a lot of activity around that topic, kicked off by the article Our Pointless Pursuit Of Semantic Value by Divya Manian. Regardless of the title, it's an interesting opinion piece about the process of choosing an element when coding a page. She hits on four main points in the post:




  1. The web no longer consists of structured content;

  2. Is it really accessible?

  3. Is it really searchable?

  4. Is it really portable?




The article itself is a good read, but the comments after the article include a lot of well-thought responses, some of which were reformulated and written up as separate responses of their own. Many felt the article itself was too aggressive and made over-generalizations, even to the point that the Smashing Magazine editor-in-chief wrote that the article should have been edited better. I disagree. The tone of the post is what kicked off the maelstrom of debate that has been lacking for some time now on the value of struggling with semantics in HTML5.




Jeremy Keith wrote a response on the same site, Pursuing Semantic Value, where he points out that there truly is a semantic difference between elements:




[...] a div conveys no meaning about the contained content whereas a section element is specifically for enclosing thematically-related content [...]



I disagree with his example of how you can see the difference in some browsers, since it is based on an arbitrary style decision made by a browser vendor and inserted into the default browser stylesheets:




You'll notice that the same element (h1) will have different styling depending on whether it is within a div or within a section element [...] So that's one illustration of the practical difference between div and section.



Regardless, his points clear and a good read for anyone who is struggling with choosing the right element and who might find him/herself giving up too easily and falling into the dark trap of div-itis.




Steve Faulkner weighs in with a comment on the original article that he then converted to a post on his own site, HTML5 semantics and accessibility. He opens up by, as he says, stating the obvious:




Semantics are not just about accessibility, accessibility is not just about assistive technology. But semantic information (name, role, states and properties) carried by HTML elements and attributes is integral to making content on the web accessible, especially for those who rely upon assistive technology to access and interact with web content.



He goes on to cover hgroup, header, hgroup, figure, figcaption, longdesc (the attribute) and even the HTML5 outlining algorithm and reminds us that the browsers have the burden of making these all function as accessible elements, driven by the developer community.





Paul Irish responded to Jeremy Keith's response in his post Semantics in practice and mapping semantic value to its consumers. He distills the struggle between and with accessibility and semantics pretty well, in my opinion, with this statement:




The practicalities of making accessible web content are messy, but important. The fact that we seem to spend more time on div vs article vs. section than on learning ARIA is a crime. (Furthermore, learning ARIA isn't complete unless youre listening to the results in a screenreader.)



John Foliot jumped onto the response bandwagon with his aptly titled post, My Thing About the Thing That Thing Wrote About Thing. His response is much more aggressive on the accessibility side and is far too difficult for me to distill with one takeaway quote. You need to really read through his post to understand everything. He was, however, nice enough to provide a tl;dr version:




Divya is quite confused about web accessibility. I examine everything she says in a detailed, semi-sarcastic, no-holds barred manner. Conclusion: Semantics matter – a lot.



In case you are wondering what that opening image is from, I stole it from CSSquirrel and its post The Value of Meaning. Consider that snippet from the comic to be my selection of a quote from the article.



Recap




Recent changes and chaos in HTML5 are frustrating developers who already struggle with the proper application of these new elements. One article exclaiming this frustration has started a much needed (even if it seems like common sense to many of us) discussion of how we as web developers need to approach choosing the right element for the job. If you are working in HTML5, it behooves you to read these articles and posts, and especially to read through the comments — here are gems of ideas and a treasure trove of links to help educate yourself. Take advantage of them.



Update: November 18, 2011




On some level I think Smashing Magazine has become ground zero for this debate. Bruce Lawson has a new article today on the site, HTML5 Semantics. This article goes into a good deal of depth on semantics and is worth a read.

Read More
Posted in accessibility, ARIA, html, standards, W3C, whatwg | No comments

Thursday, 10 November 2011

Even the Return of [time] Is a Painful Process

Posted on 09:33 by Unknown



Last Monday I wrote about some recent changes to the WHATWG HTML5 draft spec (HTML5 kills [time], Resurrects [u]), which then lead to my post discussing how the process to adjust the HTML5 spec only serves to confuse developers (End of <time> Is Not Helping the Case for HTML5). Then we all heard that our voices as developers were effective in restoring an element we valued to the W3C version of the spec (Well, It's about <time>).




And that wrapped up a nice little story about how, even with a convoluted process within and between WHATWG and W3C, change was affected.




As I started writing this post, <time> had not yet been reinstated. Though the direction from the HTML Working Group chairs was to restore the element [...] no later than the end of day on Tuesday 8th of November, that only happened within the last hour or so (probably around 12:30 EST on November 11).




This day-and-a-half delay isn't much at all. When measured against the whole of the life of the HTML5 specification (which is still ongoing) and considering nobody ran out and dropped <time> from their projects, it seems hardly worth mentioning.




Except it isn't a minor issue when you consider whether this is the normal process that the HTML5 specification will continue to follow.




Steve Faulkner, involved in the discussions from the start, sent an email the day after the promised revert date asking for an update and received this response:




The Chairs are working on this situation. Please be patient.



No expectation management of timing or any detail on what is happening, just a request to be patient. In my office, this is an unacceptable response. To see it come from the W3C and have no recourse to walk down the hall and set someone straight on expectation management is infuriating. Steve Faulkner's statement in the original email rings true with me:




I suggest the appearance of intransigence in resolving this issue only serves to undermine community faith in the W3C's stewardship of HTML.



It is my understanding that Ian Hickson (Hixie) has been silent on this topic, declining interviews, until this post from .net Magazine, Ian Hickson responds over HTML5 getting 'time' element back. This is an interesting statement from that article:




When we reported on the latter [the W3C decision to restore the <time> element], Hickson wasn't available for comment, but he's since kindly decided to answer our questions on the original backlash and the element's reinstatement.



In the interview Hickson makes his case and states the <time> element will be restored and will also take into account some of the new use cases from the recent debate. He also suggests other elements like <geo> or <scalar>, which could handle other highly specific data formats that the proposed <data> element might be too generic to tackle.




People are so fired up that even what I consider an off-hand comment about future HTML development resulted in a series of tweets and even an email to the W3C public mailing list with the suggestion to replace the HTML5 editor, by which the writer means Hickson.




Meanwhile, unrelated to that message, the WHATWG blog (Please leave your sense of logic at the door, thanks!) was updated with this week's news describing the return of <time>. The better news, however, is the return of <time> to the W3C version of the HTML5 specification.




The even better news is that with both WHATWG and W3C restoring <time> (or at least promising to) is that we are now not at immediate risk of seeing the HTML5 specification for into two similar, yet competing, standards managed by two different bodies with two different processes. It's bad enough we have ISO HTML, and look how well that's been adopted.




Seeing this chaos over just the <time> element has eroded my confidence in the process within and between WHATWG and W3C. To be fair, this may be the only process that works for them, but my distaste for it makes me question that. While I may be better off not paying attention to every detail, I am not so confident that doing so will result in a specification that will addresses my needs.



Update: November 17, 2011




The conversation you see in the comments below shifted over to Google+ as the week started. If you are curious, then you can read Ian Hickson's post (and its accompanying comments) and then read Steve Faulkner's response.

Read More
Posted in html, rant, standards, W3C, whatwg | No comments

Wednesday, 9 November 2011

Flash Isn't Going Away, Except from Your Mobile

Posted on 13:50 by Unknown



You may have heard some rumors that Flash is going away. You may read it as vindication for Steve Jobs. You may have decided web development will now change. You may be under the impression that HTML5 can do all the things Flash can. You can be excused when you read much of they hype, including such link-baiting headlines as Jobs Was Right: Adobe Abandons Mobile Flash Development, Report Says, clearly intended to draw Apple fanboys. Some of the news today:




  • Exclusive: Adobe ceases development on mobile browser Flash, refocuses efforts on HTML5 (UPDATED)

  • It’s Official: Flash Mobile Player is Dead

  • Adobe stops developing Flash for mobile




Before we get too far ahead of ourselves, this cessation of development is for mobile devices only (read Adobe's release). I also want everyone to take a deep breath and stop crediting Apple with this. Adobe has long been unable to make a Flash player for mobile devices with a small enough footprint to not feel like you are wading through pudding to see some pointless animation (or worse, a navigation bar). The iOS market share in the mobile space is still below Android's (suggesting to me that Apple cannot kill it on its own), but Flash's ability to play well on anything in the mobile space is still below all of that.




We can expect this to affect how Flash will be implemented on other sites, but not immediately. Web developers worth their pay are moving toward adaptive layouts that scale and reformat themselves for mobile devices. These developers have mostly excised Flash from their toolkit because it doesn't play well with these new approaches. Younger, less experienced developers, along with developers trapped in 2001, will still use the only tool they have (insert hammer/nail metaphor) until they have exhausted it.




As someone who has been resistant to Flash on client projects for years, partly because of accessibility concerns and partly due to its resource demands, there is no love lost here for the platform. I am happy to see it wander off into a corner and yield right-of-way to CSS3, HTML5 and its related specifications. Over 10 years ago, when Flash was already causing stress to web developers and user interface designers, Jakob Nielsen finally got on board with his article Flash: 99% Bad. Today is just another step in a much larger process of web standards development, even if Flash wasn't an official one (de facto has carried it this far).




In the meantime, expect to see Flash persist on the web of desktop browsers and expect to see it persist in old, forgotten sites for years (perhaps most of the restaurant web sites I see). Until HTML5 can figure out what it wants to be when it grows up (End of time Is Not Helping the Case for HTML5) and the debate over video codecs truly ends (Are Patents Killing HTML5 Video?), things aren't going to change for most of us very soon.




Millions of #Flash Designers/Developers can target HTML5 too. Next version of Flash Pro: Build in #Flash and convert to #HTML5 and #CSS




I am intentionally skipping the discussion around Adobe's statement to more broadly support HTML5, since it's not really news given its latest products. I'm also skipping the statements from Adobe about using Flash to feed to app development platforms like AIR since I think we all have seen that move for a while now.



Related (on this blog)




  • Adobe vs. Apple or Flash vs. HTML5, April 12, 2010.

  • Adobe to Drop iPhone Support, Target Android, April 21, 2010.

  • More Salvos from Apple and Adobe, to No One in Particular, May 13, 2010.

  • More on HTML5 as DHTML, August 8, 2011 (for the Adobe Edge points).

  • Thoughts on Muse (Obvious Pun Avoided), August 16, 2011.



Update November 10, 2011




As I suspected, the hype is starting to settle down after a day has passed. Some more news bits with more of an overall perspective:




  • Adobe axes Flash for TVs too at CNet.

  • Mobile Flash ISN'T dead at ZDNet.

  • Some Thoughts On Flash And Devices by Ben Forta of Adobe.

Read More
Posted in Adobe, css, Flash, html, standards | No comments

Thursday, 3 November 2011

Well, It's about [time]

Posted on 15:27 by Unknown



<time> will be back in HTML5 by next <time>tuesday 8th November</time> http://lists.w3.org/Archives/Public/public-html/2011Nov/0011.html #W3C




The decision to allow <time> back into the HTML5 fold has been made. Just like that, one element is restored. This recent dust-up still tells me that all the elements are always in peril.




You can read the full decision in the email archives. This section of the email describing the process is worthy of a blog post of its own, but I just don't have the energy to trace it all out tonight:





This change is related to bug 13240 [1] which was never sent to the HTML WG since it used a possibly incorrect Bugzilla component. Since WG members were NOT notified of the creation of this bug the Chairs have decided that this change should be subject to the Enhanced Change Control rules in the WG Decision Policy [2]:




"Therefore during a pre-LC review, or during a Last Call, feature additions or removals should only be done with sufficient prior notice to the group, in the form of a bug, a WG decision, or an on-list discussion. This applies only to LC-track drafts and does not apply to drafts that may include material for future versions of HTML."




We therefore ask for a revert of this change to be completed no later than the end of day on Tuesday 8th of November. If this revert is not complete by that time, we will instruct W3C staff to make this change.





You can also read the full bug report (filed because <time> was removed) along with the feedback.




If you are interested in tracking the process itself, you can also read the minutes for the meeting. The minutes don't provide a clear resolution and include nuggets like this which only continue to concern me about the whole process:





mjs: asking for vote to not having time element vs having time element

1 vote to not have it...larger number of people (7) would like to have time element




mjs: asking for data element vs not having data element

... it seems that it's clear (not full working group) favor having both elements <time> <data>




hixie: most of these use case are irrelevant





Yes, I cherry-picked that.




You can also read my other two posts on this topic if you need some context:




  • HTML5 kills <time>, Resurrects <u>

  • End of <time> Is Not Helping the Case for HTML5




Also, don't forget to see CSSquirrel's cartoon: Can Hixie’s <Data>leks Exterminate <Time>? It's funny because it's true. And daleks.



Update




Shortly after the decision came down regarding the return of <time>, Tantek Çelik put together a proposal for changes to the <time> element with the W3C:





Add the <time> element to HTML5 with all of the following




  • the functionality it had before removal

  • plus support for year-only dates per [1] (e.g. vCard4 RFC6350 / hCard 'bday' use-case)

  • plus support for year-month only dates per [2] ("")

  • plus support for month-day only dates per [3] ("")

  • timezone per [4]

  • duration per [5]


Read More
Posted in accessibility, html, standards, W3C, whatwg | No comments

Tuesday, 1 November 2011

End of [time] Is Not Helping the Case for HTML5

Posted on 10:19 by Unknown



Link to 'Why no <time>?' web site.Yesterday afternoon I posted a general overview of recent changes in HTML5, focusing on this weekend's development over the removal of <time>: HTML5 kills <time>, Resurrects <u>




I thought I was already a little late to the party, but apparently not so. With the start of the week people swung into action to protest the move, even firing up a brand new site, Why no <time>?, working its way across the web thanks to the #occupyhtml5 hashtag on Twitter.




As you follow the hashtag and read comments on Bruce Lawson's blog post and Zeldman's blog post, you can see a trend start to emerge — people are often annoyed because they have already implemented <time> in their own projects. For some it's personal and pet projects, for others it's been done on client sites, and then there are popular sites that have worked it in as well, such as Reddit, The Boston Globe, the default Wordpress theme, and now parts of Drupal's core.




Each of these represents some investment of time, effort and/or cash (I argue all three). These are people implementing it before it's a final specification. They are selling bread when the batter isn't even fully mixed but with the promise that it has no nuts.




In January 2010 I wrote about whether it was too soon to advocate HTML5. At the time I believed it was too soon. As the specification has moved forward and people have found good business cases for leaning on promised features (who aren't confusing them with WebGL, SVG, CSS3, and so on) I have started to warm to the idea.




If you go back to August 2009 you might recall when the HTML5 Super Friends (Zeldman, Jeremy Keith, Eric Meyer, etc.) got together to voice their concerns over elements and attributes in HTML5, even raising points about <time>. Back then the campaign got some resolution and things seemed to stabilize for at least one element — <time>.




This recent dust-up leads me to question just how stable the specification is. Even <time>, after a review and edits, still only got just over two years before it was gutted. Software projects can take that long to implement, so relying on a feature (in this case an element) at the start of a project that might go away before you are done is a huge risk.




If HTML5 is supposed to be a reflection of the current state of web development, as we see in its cavalier approach to attribute quoting, closed elements, proper nesting and so on, then I can't imagine why an element in the wild for over two years gets cut while other derided elements like <u> get a reprieve and are brought back into the fold.




Now let's add the case that WHATWG has made for moving HTML5, the one under its auspices, to a version-less model. WHATWG explains it in the post HTML is the new HTML5:




…[W]e realised that the demand for new features in HTML remained high, and so we would have to continue maintaining HTML and adding features to it before we could call "HTML5" complete, and as a result we moved to a new development model, where the technology is not versioned and instead we just have a living document that defines the technology as it evolves.



We have just witnessed what that means. An element in which significant investment has been made can just go away at the whim of one man. For this reason John Foliot has hit the nail on the head with this tweet when referring to the HTML5 specification:




Pissed about the <time> fiasco? You can help: when blogging & speaking reference the W3C version not WHATWG version of HTML5 #occupyHTML5




I am taking a different approach with clients. I am resisting the gee-whiz desire to be bleeding-edge with no business case to support HTML5 implementation and sticking with HTML 4.01. It's amazing how limiting that isn't given all the other great things going on with parallel web standards.



Update November 2, 2011




  • To distill the post Timeless by Jeremy Keith, Keep using the time element.

  • Oli Studholme touches on these same points and discusses <data> in Goodbye time, datetime, and pubdate. Hello data and value.



Update November 3, 2011




The <time> element has been restored. Read more: Well, It's about <time>

Read More
Posted in accessibility, html, rant, standards, W3C, whatwg | No comments

Monday, 31 October 2011

HTML5 kills [time], Resurrects [u]

Posted on 10:59 by Unknown



HTML5 logo -- I am the 'alt,' not the 'title'The HTML5 specification as managed by both W3C and WHATWG is an unfinished, incomplete specification that can change at any time. That isn't a criticism, it's just a statement of fact. It's a fact often ignored by people and companies who choose to implement it and then cry foul when something changes.



<i> and <b>




So far HTML5 has done things like convert the deprecated (in HTML 4) <i> and <b> elements to impart stylistic meaning with specific results. While the stylistic effect was known, this is why I stopped using them years ago, instead imparting semantic meaning by using <strong> and <em> and style via CSS. HTML5 Doctor covers this in more detail in The i, b, em, & strong elements. This caused me much consternation.



<small> and <hr>




Then they restored the <small> and <hr> elements by giving them semantic and structural meaning, repurposing yet more mis-used elements for reasons different than how people were already mis-using them. Once again, HTML5 Doctor addressed this in the post The small & hr elements.



The <img> altAttribute




Then in what I consider to be a profoundly anti-accessible move that can only make it easier for CMS vendors to cut corners, the requirement for an alt attribute on every <img> element was dropped under specific conditions. I know I wasn't alone on feeling this was a terrible decision when my two posts on this topic were widely distributed and still see a good deal of traffic six months later: Image alt Attributes Not Always Required in HTML5 and More on Image alt Requirement in HTML5.



And Now <u> Returns




I suppose, then, that I should not have been surprised when word came down that the <u> element was back. This is an element we blocked in our CMS, telling our clients that an underline meant text was clickable and there was no good reason to use it in regular copy. Even so, I still had a use case that I thought made sense — to indicate what character for a form field is accessible with the keyboard via the accesskey attribute. So of course the real reason for its resurrection surprised me. Let me reprint the entire entry for <u> in the WHATWG HTML5 specification:





4.6.18 The u element



The u element represents a span of text
with an unarticulated, though explicitly rendered, non-textual
annotation, such as labeling the text as being a proper name in
Chinese text (a Chinese proper name mark), or labeling the text as
being misspelt.



In most cases, another element is likely to be more appropriate:
for marking stress emphasis, the em element should be
used; for marking key words or phrases either the b
element or the mark element should be used, depending
on the context; for marking book titles, the cite
element should be used; for labeling text with explicit textual
annotations, the ruby element should be used; for
labeling ship names in Western texts, the i element
should be used.



The default rendering of the u element
in visual presentations clashes with the conventional rendering of
hyperlinks (underlining). Authors are encouraged to avoid using the
u element where it could be confused for a
hyperlink.





Proper names in Chinese and misspelled words. The u has returned and we get little detail for how to use it but plenty of detail on how not to use it.




Once again HTML 5 Doctor came to the rescue and provided explanations and use cases for the zombie <u> element in the post The return of the u element. To distill it here, some examples:




  • Chinese proper name marks, such as the names of people, places, dynasties, or organizations. It's akin to capital letter in English. Eg: 屈原放逐,乃賦離騒。左丘失明,厥有國語。

  • For indicating family names in Asian languages. Given that the family name often precedes the given name, this can be confusing to Western readers. This is an alternative to the capitalization we often see when translated to English. Eg: Lynn Minmay versus LYNN Minmay.

  • To indicate potential spelling errors, like you might see in MS Word or word processors and browsers with spell checkers. Eg: This is not my bootiful house.




In each of these cases you could use CSS to modify the <u> display to put a wavy line under the text (for the first and third examples) or to shift the characters to uppercase (the second example). The argument here is that the <u> underline will still render if the CSS is lost.




The specification lists the browsers that support this element, showing Internet Explorer, Firefox, Opera and Webkit. These browsers support it from its prior incarnation, however, as they have been supporting the <u> element since its presence in prior versions of HTML. Whether they support this new re-imagining is a different story. Since this new explanation is still primarily about display, the browsers may support it's new meaning by accident. The wavy line CSS, however, is only in Firefox right now.




The End of <time>




Oh for f*cks sake. We may as well just 'consider replacing all HTML tags with <derp>'




Just found a bug in #html5! There is a <data> element, that basically does nothing. We got <div> and <span> for that.'




Over the weekend I saw a tweet-storm from people who are closely tied to the pulse of HTML5. The <time> element was slated for destruction and quite a lot of people who have come to rely on it immediately swung into action — partly to educate those of us who aren't so intimately familiar with the element. The #occupyHTML5 hashtag on Twitter is on fire with people deriding the decision, though I defer to two experts on the subject to give a little explanation.




Ian Devlin, author of the new book HTML5 Multimedia: Develop and Design, wrote up his reaction in "On the disappearance of HTML5 <time>." To quote:




Many documents and pages that get posted on the web have some sort of timestamp attached to them. Think of every news and blog article that’s written, this very post included, that indicate somewhere when it was posted. Having a machine readable element that encapsulates this special case piece of information is very useful for both machines and humans alike to read and understand.



He notes that the new <data> element, which is intended to replace <time> as a more generic element, isn't a bad idea in itself, but is also a little late to the game.




Bruce Lawson, one of the HTML5 Doctors and one author of Introducing HTML5 (along with his role as standards evangelist at Opera), has received quite a lot of support for his post Goodbye HTML5 <time>, hello <data>! Awful Cher video notwithstanding, he raises good points:




<time> (or its precursor, <date>) has an obvious semantic (easy to learn, easy to read). Because it's restricted to dates and times, the datetime attribute has a specific syntax that can be checked by a validator. Conversely, <data value=""> has no such built-in syntax, as it's for arbitrary lumps of data, so can't be machine validated. This will lead to more erroneous dates being published. Therefore, the reliability and thus the utility of the information being communicated in machine-readable format diminishes.





He goes on to point out that Reddit, The Boston Globe, the default Wordpress theme, and now parts of Drupal's core have built <time> into them.




A request to reverse the decision to drop <time> has already been filed. There is also a shared document for people to log their arguments for keeping <time>, ostensibly for taking back to Hixie to reconsider the decision.



The Takeaway




Given all the ongoing tweaks to the HTML5 specification by WHATWG, my opinion that dropping the version number and making it a living document with no set versions is flawed. As developers who want to be on the bleeding edge start to integrate elements and attributes from a specification that's not fully baked, this moving target just means more refactoring and ultimately cost or delays to the end users and/or clients.



Related




  • The return of the <u> element

  • Second chance for u in HTML5

  • Goodbye HTML5 <time>, hello <data>!

  • On the disappearance of HTML5 <time>

  • HTML5 scraps semantic "time" element

  • Ian Hickson's note closing discussion on the change.

  • 4.6.10 The <data> element



Updated November 3, 2011




The <time> element has been restored. Read more: Well, It's about <time>




In case you had not read my piece following up this one with a broader look at the whole process around removing and restoring an element, go read End of <time> Is Not Helping the Case for HTML5

Read More
Posted in accessibility, html, rant, standards, W3C, whatwg | No comments

Saturday, 29 October 2011

Twitter's t.co Continues UX Failure of Link Shorteners

Posted on 13:51 by Unknown



Twitter stamp image created for Tutorial9 by Dawghouse Design StudioIt's been a few weeks since Twitter moved to its own link shortening service for tweets. Originally the shortener only kicked in for tweets over 18 characters, but Twitter recently moved to have it affect all URLs in tweets. Twitter's argument was that this allows Twitter to reduce the number of spam and phishing URLs embedded in tweets. In Twitter's own words (from the t.co site):




Twitter uses the t.co domain as part of a service to protect users from harmful activity, to provide value for the developer ecosystem, and as a quality signal for surfacing relevant, interesting Tweets.


Twitter's Reasons for the t.co Shortener




Twitter's explanation sounds reasonable but doesn't bear itself our now that I've had some time to try it out. Let me explore...



As Protection from Spam/Phishing




I still get the same number of spammers on Twitter, I did not expect a link shortener to change that. Those spammers also use link shorteners, so whether or not the t.co service came into play it wouldn't matter much — the link is still obfuscated. If the t.co service was doing its job, however, then those tweets would be caught or flagged. Even if it wasn't a pro-active service (because we know people can change the destination of a link shortened by many services, rendering it malicious from an initial innocuous configuration), I would expect it to do its job when I follow a link. It doesn't. Just this morning I received a spam tweet, and for the scope of this post opted to click the link. The t.co address showed up in browser, it spent time processing, and then sent me to the phishing site. Twitter's first claim is false.




A couple weeks ago I followed a tweeted link from a local business that fed through the t.co service. The t.co service told me that the link was to a spam or malware site. It was not. The link was to an online petition for a local issue. While I was motivated to just grab the original link from the tweet, there's no way to tell how may others may have had the same experience and were unable to weigh in on the petition. The risk here is that the t.co can also produce false positives, damaging anyone's reliance on Twitter as a link dissemination tool.



As Value for the Developer Ecosystem




Let's be clear here — as a user I don't care how much easier it is for developers. I don't let my web team just throw a bunch of fields on a web form without regard to the end user, no matter how much more quickly they can do it. But Twitter has a model that is less about the end user and more about driving organizations to rely on Twitter through its API and reporting features. The t.co shortener provides a boon to Twitter because it makes it easier for web masters to see how much traffic came to their site from a Twitter-shortened link.


Sometimes that t.co link isn't from Twitter (it's been shared elsewhere such as a blog, through originally from a tweet). Sometimes the same web page address has more than one t.co address. Sometimes that t.co link is to a bit.ly (or other shortener) link, which are often created for use on Twitter anyway.



As a Quality Signal for Relevant or Interesting Tweets




Given that I have no confidence in Twitter's ability to filter malware, spam and phishing sites, I certainly cannot believe that quality is an appropriate word. Just seeing the t.co address in a tweet doesn't tell me that it is relevant or interesting. Twitter may decide a link or tweet is relevant or interesting simply by measuring how many clicks it gets. In the absence of a clear explanation, those two metrics are also suspect.



Other Factors



Twitter Clients




I use TweetDeck on my computers and Seesmic on my phone. I have used Hootsuite and sometimes I use Twitterfall for a Twitter wall at events. They all display the t.co address instead of the full address underneath. These apps don't update at the same pace as the Twitter web site and not all users will allow frequent updates (whether by corporate IT policies or lack of interest) to their Twitter clients for when they do support expanding the t.co addresses.




This means I regularly see a t.co address. This wouldn't be an issue except I rely on the URL to know what will happen when I click a link: youtu.be means my Twitter client will play a YouTube video, twitpic.com means my client will show a picture, and so on. That link scent is now gone and I click fewer links as an end user because I don't know what I will get.



Twitter-Provided Tweet Streams




Screen shot of my Twitter stream with t.co shorteners both from Twitter RSS and Twitter JavaScript widget.




I use the Twitter-provided JavaScript code to embed a Twitter feed on my personal site. This does not expand the t.co URLs to show the full address. I push the Twitter-provided RSS feed of my tweets to my blog. This does not expand the t.co URLs to show the full address. Tweets pushed to Facebook or other services come with the t.co, again hiding the full address and link scent.



Extra Bandwidth Burden




At peak times I have found a link that goes through t.co takes longer to redirect me to my destination address. Often that destination address is being hit by only a few users, maybe a few thousand. The destination site can typically handle the traffic. The t.co service is taking the brunt of all the traffic from all the users on Twitter. This increases the bandwidth used across the web (and on my phone) and results in a longer click-to-destination time.



Copy/Paste Hassle




This may sound like a minor issue, but I regularly copy an entire tweet or just the URL from a tweet, often wanting to share via email, in my blog, or elsewhere. When I do that I typically get the t.co link, and I think it's obvious by now that I do not want that. If this affects me, then others who may do the same but not know how to tease the expanded URL out of a tweet could end up pushing traffic to my site from a blog that reports itself as a t.co referrer. In my reporting I will now be unable to distinguish traffic from a link and from a source that I may want to otherwise engage.



Blocking




I have read from a few sources that t.co is blocked in China. Given Twitter's prominence in recent events such as the Arab Spring, London riots, and now even Occupy Wall Street, creating a single point of failure with t.co means not only are the links blocked, but the expanded link may be blocked easily by any organization or government that wants to quell activity on Twitter.



My Former Reliance




I use a photo sharing service that pushes a link to the photo to Twitter. I used to take the RSS feed, along with the geolocation of the tweets, and pull the URL from the photo service to quickly hack up into a path to the thumbnail. I would then embed this modified RSS feed into a Google Map to show my activities and travels — most recently for a trip to Italy.




Because I was not using the Twitter API I could not be considered a developer, so I don't fall into Twitter's stated support for developers. As such, when the RSS feed from Twitter converted the URL from my photo sharing service my maps didn't display images and my followers stopped clicking links to my photos.




I also regularly craft URLs in tweets to remove the query string nonsense and unnecessary "www" prefixes (among other bits). I also regularly craft a tweet with the intent to make the URL visible to the end user because the address often feeds into my point or joke, Instead I find I exclude the "http://" from the address to get my point across, but it also means the link is not clickable for many users depending on their Twitter client.




A common annoyance is that Twitter now encodes URLs that are already far shorter than the Twitter-encoded t.co address. My own tweets have seen URLs double in character count after Twitter applies its link shortener.



Why Did Twitter Do This?




Three key reasons that I can contrive:




  1. Twitter owes much of its success to developers building apps and integrating it into other services. Shortening URLs reduces the efforts an end user has to make in a third-party tool to stay under the 140 character limit.

  2. Twitter's importance as a driver of web site traffic is reinforced when webmasters see the t.co links in their logs.

  3. All the t.co links track information, which puts Twitter in a position to monetize the data it captures from each shortening and each click.




For all the reasons I state above, Twitter isn't really helping the end user (either content consumer or non-developer). Twitter's goals here are more for its own gains. In the end, since it's a free service they have the right to do that. I would certainly appreciate a more direct and honest explanation and a consistent implementation across its API and own services (RSS, JavaScript widget).




Sadly Twitter has continued to set the mark for other developers and, like its infinite scroll and other user annoyances, it will continue to enable developers to make poor decisions that are counter to a good user experience.



Related



From Twitter




  • About Twitter's Link Service (http://t.co)

  • Twitter's t.co URL wrapper is now on for all URLs 19 characters and greater



My Posts about Link Shorteners




  • URL Shortener Spam Overrunning Blogger Stats, Feb. 4, 2011

  • You Get What You Pay For, Dec. 17, 2010

  • Libya's Terror Plot: Link Rot (Linkpocalypse?), Oct. 11, 2010

  • More News in the URL Shortener Market, Dec. 15, 2009

  • List of URL Shorteners Grows Shortener, Oct. 5, 2009

Read More
Posted in internet, rant, social media, Twitter, usability, UX | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • New Google Analytics Features
    In the article " Google Analytics Now More Powerful, Flexible and Intelligent " from last Tuesday (yes, I know I'm behind on t...
  • HTML5 Finally Gets... a Logo?
    Start Rant With all the debate about elements , attributes , semantic meaning and who really owns HTML5 , it's thrilling to see that t...
  • Speaking at WordCamp Buffalo 2013
    This Saturday I will be speaking at Buffalo's second WordCamp . Last year was a great day-long event filled with many good speakers (not...
  • Speaking: Accessible Web Apps & Standards
    I will be speaking twice in September, both of them sponsored by Infotech Niagara. If you're in the Buffalo area, these are great opport...
  • Copying Content Styled with Text-Transform
    Using the CSS property text-transform to automatically shift copy to uppercase has been popular for a while now, but a combination of a rec...
  • Current CSS3, HTML5 Support
    The Tool Last week saw the launch of FindMeByIp.com , a very handy web site that displays a user's current IP address (along with a geog...
  • Come See Me: October 6
    I will be one of the panelists at the Business First Power Breakfast: Online Networks , this coming Tuesday, October 6, 2009 at 7:30am at S...
  • Accessibility Bookmarklets and Tools
    Testing accessibility on your web projects can be a tricky task if you have no firsthand experience with visual, audible, physical or even c...
  • Brightkite Yields to Foursquare, Gowalla, Etc.
    Brighkite has made an announcement today that affects me and a handful of other people (not counting all the people on Facebook whose timel...
  • W3C and WHATWG Provide HTML5 Updates
    W3C The W3C is pretty good about posting news when new HTML/CSS-related documents undergo updates, status changes, or generally move forward...

Categories

  • accessibility
  • Adobe
  • analytics
  • Apple
  • apps
  • ARIA
  • Bing
  • Blink
  • Brightkite
  • browser
  • Buzz
  • Chrome
  • clients
  • css
  • design
  • Facebook
  • Firefox
  • Flash
  • fonts
  • food
  • Foursquare
  • g11n
  • geolocation
  • globalization
  • Google
  • Gowalla
  • html
  • i18n
  • ICANN
  • infographic
  • Instagram
  • internationalization
  • internet
  • Internet Explorer
  • JavaScript
  • JAWS
  • Klout
  • L10n
  • law
  • localization
  • Lynx
  • Mapquest
  • Microsoft
  • mobile
  • Netscape
  • ning
  • Opera
  • patents
  • picplz
  • Plus
  • print
  • privacy
  • project management
  • QR
  • rant
  • RSS
  • Safari
  • SCVNGR
  • search
  • SEM
  • SEO
  • social media
  • Sony
  • speaking
  • standards
  • SVG
  • touch
  • translation
  • Twitter
  • typefaces
  • usability
  • UX
  • Verizon
  • video
  • W3C
  • WAI
  • WCAG
  • WebKit
  • whatwg
  • Wired
  • WOFF
  • xhtml
  • Yahoo
  • YouTube

Blog Archive

  • ▼  2013 (39)
    • ▼  December (1)
      • Web Development Advent Calendars for 2013
    • ►  November (7)
    • ►  September (4)
    • ►  July (3)
    • ►  June (2)
    • ►  May (5)
    • ►  April (3)
    • ►  March (6)
    • ►  February (2)
    • ►  January (6)
  • ►  2012 (63)
    • ►  December (2)
    • ►  November (4)
    • ►  October (5)
    • ►  September (5)
    • ►  August (4)
    • ►  July (6)
    • ►  June (7)
    • ►  May (7)
    • ►  April (8)
    • ►  March (5)
    • ►  February (3)
    • ►  January (7)
  • ►  2011 (67)
    • ►  December (5)
    • ►  November (7)
    • ►  October (5)
    • ►  September (4)
    • ►  August (8)
    • ►  July (3)
    • ►  June (8)
    • ►  May (3)
    • ►  April (1)
    • ►  March (6)
    • ►  February (6)
    • ►  January (11)
  • ►  2010 (100)
    • ►  December (8)
    • ►  November (7)
    • ►  October (5)
    • ►  September (10)
    • ►  August (7)
    • ►  July (11)
    • ►  June (12)
    • ►  May (6)
    • ►  April (8)
    • ►  March (10)
    • ►  February (5)
    • ►  January (11)
  • ►  2009 (51)
    • ►  December (9)
    • ►  November (6)
    • ►  October (21)
    • ►  September (13)
    • ►  August (2)
  • ►  2003 (3)
    • ►  October (1)
    • ►  January (2)
  • ►  2002 (9)
    • ►  December (1)
    • ►  June (3)
    • ►  April (1)
    • ►  March (3)
    • ►  January (1)
  • ►  2001 (1)
    • ►  February (1)
  • ►  2000 (4)
    • ►  October (1)
    • ►  July (1)
    • ►  June (1)
    • ►  January (1)
  • ►  1999 (7)
    • ►  November (1)
    • ►  September (2)
    • ►  August (2)
    • ►  July (1)
    • ►  June (1)
Powered by Blogger.

About Me

Unknown
View my complete profile