Archive for July, 2010

More Antisocial Networking

July 24th, 2010 by Nick Fitzsimons

Following on from the recent brouhaha surrounding Gillian McKeith and Twitter, this weekend brings another example of how not to respond to Twitter comments in the shape of a threat of legal action against blogger Luke Bozier.

Luke tweeted his unflattering opinion of ex-Prime Minister Gordon Brown’s new web site, and also posted more detailed criticism of Tangent One, who are apparently responsible for the site, on his blog.

Shortly afterwards, he received the following message from somebody describing themselves as executive director of Tangent Communications plc, parent company of Tangent One:

I respectfully suggest you delete that tweet, issue no more similar ones and generally try to sell your products in a more professional way. I really don’t like the prospect of either a public slanting match or legal action, but if I need to protect my company’s business and reputation, I will.

This has resulted in Jack of Kent (aka legal eagle David Allen Green) repeatedly re-tweeting the original tweet and promoting the hashtag #OffTangent, which is now trending nicely in the UK.

Assuming the threat received by Luke Bozier is real, one has to wonder at a digital agency whose response to online criticism is to immediately reach for the threat of legal action.

If they had chosen to ignore Luke’s tweet, it would have been seen by those of his 1,000-plus followers who regularly check Twitter, and perhaps passed along by some of them. The overall effect would almost certainly have been negligible.

Instead they came out blustering and, just as happened with the @gillianmckeith account the other week, have whipped up a storm of virtual criticism.

I’m not sure these people really get how this “social web” thing works ;-)

Antisocial Networking

July 14th, 2010 by Nick Fitzsimons

For some background to the Twitter-related brouhaha that led to this post, read Jack of Kent’s The Integrity and Honesty of @gillianmckeith.

So, @gillianmckeith tweets that @bengoldacre‘s Bad Science contains lies, and Mr Goldacre promptly calls her (if it was her…) on it. @gillianmckeith then appears to remove the offending tweets and tries to suggest that that account isn’t necessarily the Gillian McKeith’s account; but unfortunately it’s linked to from her own site (to which I am not granting any google linkjuice, by the way).

When this is pointed out, the link is removed from her site by somebody. Unfortunately, it’s only removed in the sense of being commented out, and is still clearly visible in the source. Also, as David Naylor points out, it’s still present on places like her YouTube channel, which is linked to from the same “social networking” section of her site.

Time to bring out the big guns: now, the entire “social networking” section is removed.

You guessed it:


<!--
<div id="gillianssocialnetwork">
 <a href="http://twitter.com/gillianmckeith" target="_blank" title="Follow Gillian on Twitter">
  <img src="i/twitter.jpg" alt="Twitter" width="39" height="44" border="0" class="networkicon" />
 </a>
 <a href="http://www.facebook.com/GillianMcKeithOFFICIAL" target="_blank" title="Gillian's facebook Page">
  <img src="i/facebook.jpg" alt="Facebook" width="39" height="44" border="0" class="networkicon" />
 </a>
 <a href="http://www.youtube.com/user/gillianmckeithTV" target="_blank" title="Gillian's YouTube Channel">
  <img src="i/youtube.jpg" alt="Gillian's YouTube Channel" width="39" height="44" border="0" class="networkicon" />
 </a>
 <a href="http://uk.linkedin.com/in/gillianmckeith" target="_blank" title="Gillian on LinkdIn">
  <img src="i/linkdin.jpg" alt="Gillian on LinkdIn" width="39" height="44" border="0" class="networkicon" />
 </a>
</div>
<div class="rightcolitems">
 Do you social network? So does Gillian! Follow her on the links above
</div><br />
-->

All I can really say is: #viewsourceftw.

UPDATE, 2010-07-15T01:00: Actually, that isn’t the only Twitter-related content that has been commented out on that page. It also has the following:

<!--    <div id="twitterboxheader"><a href="http://twitter.com/gillianmckeith" target="_blank"><img src="i/gillianmckeith_on_twitter.jpg" alt="Follow Gillian on Twitter" border="0" title="Follow Gillian on Twitter"/></a>
    </div>
<div id="twitterboxmain">
<div id="twitter_div">
<ul id="twitter_update_list"></ul>
<br /><br />

</div>
<a href="http://twitter.com/gillianmckeith" id="twitter-link" style="display:block;text-align:right; font-size:1.2em;" target="_blank">follow me on Twitter*lt;/a>
</div>
<div id="twitterboxend"><img src="i/twitterboxbase.jpg" /></div><br /><br />-->

which is code to display the latest tweet from @gillianmckeith, and towards the end of the source code is some HTML loading some JavaScript:

<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/gillianmckeith.json?callback=twitterCallback2&count=1"></script>

which actually updates that box with the most recent tweet.

You will notice that the JavaScript section hasn't been commented out. This would suggest that the data is still being loaded from that Twitter account by that page, whenever it is viewed. And indeed, a check with the wonderful Charles HTTP debugging proxy, a tool which allows one to examine the low-level nuts and bolts of one's computer's communications with the web, shows that this is the case. When I load the page at gillianmckeith.info into my browser, the second script shown above sends the following additional HTTP request to Twitter from my browser:

GET /statuses/user_timeline/gillianmckeith.json?callback=twitterCallback2&count=1 HTTP/1.1
Host: twitter.com
Pragma: no-cache
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16
Accept: */*
Referer: http://www.gillianmckeith.info/
Cache-Control: no-cache
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Cookie: <removed for security reasons>
Connection: keep-alive

which sends the response (formatted for clarity):

HTTP/1.1 200 OK
Date: Wed, 14 Jul 2010 23:38:55 GMT
Server: hi
Status: 200 OK
X-Transaction: 1279150735-24110-17319
X-RateLimit-Limit: 150
ETag: "fcf22c639f08a8ca540302c7c569266e"-gzip
Last-Modified: Wed, 14 Jul 2010 23:38:55 GMT
X-RateLimit-Remaining: 143
X-Runtime: 0.00977
Content-Type: application/json; charset=utf-8
Pragma: no-cache
X-RateLimit-Class: api
X-Revision: DEV
Expires: Tue, 31 Mar 1981 05:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
X-RateLimit-Reset: 1279153007
Set-Cookie: lang=en; path=/
Set-Cookie: <removed for security reasons>
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 630
Connection: close

twitterCallback2(
[
    {
        "contributors":null,
        "source":"web",
        "created_at":"Wed Jul 14 13:06:40 +0000 2010",
        "coordinates":null,
        "truncated":false,
        "in_reply_to_status_id":null,
        "user": {
            "profile_link_color":"ff0073",
            "description":".",
            "location":"Earth",
            "profile_background_image_url":
            "http://a3.twimg.com/profile_background_images/111501429/Picture_145.png",
            "profile_image_url":
            "http://a0.twimg.com/profile_images/813972928/gillian1_normal.jpg",
            "profile_sidebar_fill_color":"e07ecc",
            "profile_background_tile":false,
            "screen_name":"gillianmckeith",
            "lang":"en",
            "statuses_count":1344,
            "created_at":"Tue Jul 08 15:26:42 +0000 2008",
            "profile_sidebar_border_color":"000000",
            "profile_use_background_image":true,
            "followers_count":2570,
            "contributors_enabled":false,
            "friends_count":16,
            "following":false,
            "geo_enabled":false,
            "profile_background_color":"ffffff",
            "protected":false,
            "favourites_count":1,
            "name":"Gillian McKeith",
            "verified":false,
            "profile_text_color":"000000",
            "url":"http://www.gillianmckeith.com",
            "id":15354299,
            "follow_request_sent":false,
            "notifications":false,
            "time_zone":"London",
            "utc_offset":0
        },
        "place":null,
        "geo":null,
        "in_reply_to_screen_name":null,
        "favorited":false,
        "id":18517738649,
        "in_reply_to_user_id":null,
        "text":"The moral of the story:  Love your neighbour and your enemies too."
    }
]);

That is data from the Twitter API, containing the public information about the @gillianmckeith account together with the most recent tweet from that account, in a standard data format called JSON. You can get the same info from this link, just to show that there's nothing special going on here. In fact, here's the same info but for my Twitter account.

So, whatever the reason might be that some person has removed the visible evidence of that Twitter account being related to Ms McKeith, the fact is that, at the time of writing, her web site is causing data from that Twitter account to be loaded into every JavaScript-enabled web browser that visits her home page; it just doesn't cause them to display the information once they've received it.