Archive for the 'Social Networking' Category

Google Analytics rolling out social network activity streams: Paradata heaven?

Today in Capturing The Value Of Social Media Using Google Analytics Google announced some new features that will be appearing in Google Analytics. The post is mainly focused around ‘social value’ of defining and monitoring goals for getting people coming to your site from social networks to do something on your site (click a button, view a certain page).

The bit that is really interesting (for me anyway) is the announcement on ‘activity streams’. These will include information on:

how people are engaging socially with your content off your site across the social web. For content that was shared publicly, you can see the URLs they shared, how and where they shared (via a “reshare” on Google+ for example), and what they said. Currently, activities are reported for Google+ and across a growing list of our Social Data Hub partners including recently signed brands Badoo, Disqus, Echo, Hatena and Meetup.

Example Activity Stream

There is obvious overlap here with some of my recent work extracting ‘activity data’ from social networks for sites and repositories, but before I pack my bags there are a number of things to consider.

Twitter and Facebook probably won’t come to the party
Google’s access to activity data is limited to those who want to join the Analytics Social Data Hub. While there are already some reasonably big names signed up given the Twitter/Facebook/Google+ social network war it’s unlikely that you are going to see individual tweet analytics as I achieved here in the near future.

Access to the data
It’ll be interesting if Google will make ‘activity stream’ data available for download or access via their API. There’s very little information on the Social Data Hub website about what 3rd party services are signing up to and if there is an compensation for make their data available. For a number of the existing signups they already have their own public APIs so they may be happy for this data to be made available. Only time will tell.

Not everyone uses Google Analytics
I’m also trying to take comfort in the fact that not everyone uses Google Analytics, so there is hopefully still value is surfacing and centralising activity data for non-Analytics users.

So interesting times, but does anyone actually care about this type of data yet?

Introducing a RSS social engagement tracker in Google Apps Script #dev8d

For my session at Dev8D I got delegates building a RSS social engagement tracker similar to PostRank (Slides here) [Note to self: Too much coding for the room. Doh!]. Initially I was going to use my Fast-tracking feedback example for this session but forever wanting to make my life difficult decided late on to come up with something entirely new. Part of this decision was influenced by being featured in Mashable’s  5 Essential Spreadsheets for Social Media Analytics (yeah), combined with the fact that my PostRank daily email notifications are broken.

For those not familiar with PostRank their service (now owned by Google) would allow you to enter a blog RSS feed and then they would monitor ‘social engagement’ around that feed recording tweets, likes, saves etc.

Here is my solution that does something similar:

*** FeedRankSheet Google Spreadsheet v0.1 ***

This is still very beta and doesn’t entirely work as I’d like. I’ll be making improvements based on your feedback ;)

How to use it

Enter the RSS feed of the posts and comments you want to track, blog address and optionally a comma separated list of Twitter usernames you want to remove from the search. Then open the Script Editor and Run doFeedRank (you’ll need to authorise), finally add a trigger to run daily.

What it does

Example output [click to enlarge]Each time the script runs it gets the latest share counts for posts via the sharedcount.com, combines it with the comment feed and Twitter search results and generated an email to send to designated people (click on image for example output).

How it works

Most of the script is just data reading and writing. The clever bit is using Google Sites pages as a template for the email. Here is the page for the email wrapper and this page is the post share count template.

The thing that really surprised me is that SitesApp.getPageByUrl can get any public Google Sites page allowing you to do Page calls like .getHtmlContent() even if you don’t own it.

Things to improve

  • Exceeding maximum execution – I might need to optimise the code as I was getting timeouts when running as a trigger.
  • Deltas – It would be useful to include individual share count increases on daily updates (eg Twitter 9(+3))
  • I also have a sneaking suspicion that reading the posts from the spreadsheet rather than accessing the raw feed xml using apps script might be a problem. I need to run over a period of time to get data.

Integrating Google Spreadsheet/Apps Script with R: Enabling social network analysis in TAGS

Increasingly I find myself creating Twitter hashtag archives using my TAGS Google Spreadsheet template as a means to identify who in that community has the most influence and ultimately use this intelligence to target people that might be able to help me disseminate my work. Marc Smith at the Social Media Research Foundation has a useful overview on ‘How to build a collection of influential followers in Twitter using social network analysis and NodeXL’.

I don’t go to the extreme of seeking people to follow and gaining influence with retweets, I usually just follow interesting people who follow me, but the post introduces the important concept of:

  betweenness centrality” – a measure of how much a person acts a bridge between others.

(betweenness centrality (BC) was a big turning point in my interest and understanding of social network analysis, a moment captured by Sheila MacNeill)

To date the only way I could calculate BC on an archive of tweets was to download the data to my desktop, run it through NodeXL and review the data. This isn’t ideal as the data becomes orphaned. I have experimented with calculating BC using Google Apps Script using a modified version of some PHP code put together by Jonathan Cummings, but kept hitting timeouts before I could get anything back.

I forgot about pursuing this angle until that is I saw Tony Hirst’s A Quick View Over a MASHe Google Spreadsheet Twitter Archive of UKGC12 Tweets in which he uses the statistical computing and graphing tool ‘R’ to read a spreadsheet of archived tweets and produce some quick summary views (I highly recommend you read this post and also check the contribution from Ben Marwick in the comments). Reading this post made me think if it is that easy to read and analyse data using R could you also not somehow push the results back.

Fortunately, and I do mean fortunately, I have no experience of R, R Script, R Studio (I like having no preconceived ideas of what new tools can do – it far more rewarding to throw yourself into the unknown and see if you make it out the other side), but I do know a lot about Google Apps Script giving me a destination – just no way of getting there.

The idea, I think, is ingeniously simple. Read data, as Tony did, process it in R and then using Apps Script’s feature to be published as a service to simply POST the data back to the original spreadsheet.

As that is quite complicated I’ll recap. Fetch a Google Spreadsheet as a *.csv, do something with the data and then push the data back in the same way that you post a web form (and if you skipped the link the first time POST the data back to the original spreadsheet).

Having sunk a day of my own time (and it is my own time because I get paid for the OER Visualisation project for the hours I work on it), I’m not going to go into the details of how to setup R (or in my case RStudio) to do this – hey I learned it in a couple of hours so can you – instead I’ll give you the bits and pieces you need and general instructions.  Before I start you might want to see if the result is worth it so here’s a sheet of SNA stats for the #ukgc12 archive.

SNA Stats 

Playing with some test data

To make it easier I start with a partially complete dataset. The scenario is I’ve got my archive and run options 1-3 in the TAGS – Advanced menu to get an Edges sheet of friend/follower information.

  1. Open this Google Spreadsheet and File > Make a copy (this is a fully functioning – if I haven’t broken it of the next version of TAGS so if you clear the Archive and setup you can start collecting and using this with your own data).
  2. Once you’ve copied select File > Publish to the web and publish the spreadsheet
  3. In the new spreadsheet open Tools >  Script editor.. and Run > Setup (this get a copy of the spreadsheet id need to run as a service – in the normal scenario this is collected when the user authenticates the script with Twitter)
  4. Open Share > Publish as service..  and check ‘Allow anyone to invoke’ with ‘anonymous access’, not forgetting to ‘enable service’. You’ll need a copy of the service URL for later on. Click ‘Save’
    Publish as service
  5. Back in the script editor on line 57 enter a ‘secret’ – this will prevent anyone from uploading data will in anonymous mode (you can choose to only enable the service when required for extra security.
  6. Open your install of R and load a copy of this script.
  7. There are four things to edit in this script
    1. key – spreadsheet key, the bit after https://docs.google.com/spreadsheet/ccc?key= and before the &hl… junk
    2. gid – the sheet number of the Edges sheet, unless you insert/use a different sheet should always be 105 for a TAGS spreadsheet
    3. serviceUrl – the url you got in step 4
    4. secret -  the same secret you entered in step 5
  8. You might also need to install the packages used – most of them are standard but you may need to get igraph – used to get all social network data
  9. Run the R script – it may take some time to read a write to Google Spreadsheets so be patient

That’s it. If you go back to the spreadsheet (you may need to refresh) the SNA Metrics and Vertices sheets should be populated with data generated from R

The Apps Script Magic

Here’s the Google Apps Script snippet used to handle the data being pushed from R:

I’ve commented most of it so you can see what is happening. While Apps Script has a debugger which lets you monitor execution and variables it can’t intercept the POST so I used the original POST/GET code to dump the data into some cells then tweaked the script to read it from there to work out what needed to be done.

Final thoughts

I think this is a powerful model of reading selected, processing and then uploading data back to the source. I’m also only using the very basics of igraph and sure much more could be done to detect neighbourhoods, clusters and more. Also I wonder if more of the friendship data collection could be done in R with the TwitteR – (you R people really know how to make it hard to find info/help/support for your stuff ;) Right now I can get friend/follower info for a list of 250 users.

The intriguing aspect is just how much data can you push back to Apps Script and as there is a long list of Services could you also handle binary data like chart images (perhaps down the Blob and then Document Service route, or maybe just straight into Charts).

I welcome any comments you have about this technique and particularly value any feedback (I’m not a SNA expert so if there are errors in calculation or better measures I would welcome these)

Infographic: #fote11 conversations coded with sentiment data from ViralHeat [NodeXL]

[This text originally appeared in Live Twitter data from FOTE #fote11 post but I’m extracting here to provide a separate space for comment (and hit RSS aggregators with something I think is quite interesting]

fote11-all-day-sentiment_thumb[1]

Using a combination of my Using Google Spreadsheets as a data source to analyse extended Twitter conversations in NodeXL (and Gephi) and Using the Viralheat Sentiment API and a Google Spreadsheet of conference tweets to find out how that keynote went down I was able to import sentiment data for each tweet (edge). I then accumulated the sentiment probability for each twitterer (vertex), -1 = 100% probability of negative sentiment +1 = 100% probability of positive sentiment, and averaged the overall sentiment by the number of tweets that person (vertex) made. Using the autofill the vertices were coloured by average sentiment probability (green = +ve, red = –ve) and grouped by overall positive sentiment, overall negative sentiment and no data.

The graph shows that over 80% (n.296) of #fote11 hash taggers (n.355) posted tweets with an overall positive sentiment detection.

Somethings worth noting with this data. Sentiment analysis is being analysed using machine detection (ie it might be wrong). Someone with overall negative sentiment doesn’t necessarily indicate that they had a bad event experience. If the person was reflecting on issues being presented or quoting others who had a negative experience this will be reflected in their sentiment score. The bottom line is the graph gives an overview of a more complex story. If you want to start unpicking that story yourself the GraphML data is available on the NodeXL GraphGallery.

Update: Just so you don’t think @jamsclay is the ‘king of miserable’ these were the tweets detected as negative sentiment  … I’ll let you decide ;)

Using Google Spreadsheet/Apps Script and Google Social Graph to get Twitter edges for visualizing in NodeXL and Gephi

GraphImage.png

One of the things I really liked about the network analysis and visualisation tool NodeXL which I wrote about last week was the built-in tools for grabbing data from Twitter. I said:

The advantage of NodeXL, particularly for graphing Twitter communities, is it has built-in features for grabbing the data for you. Not only that the coding is clever enough to handle the data collection for mere mortals, so when you hit your rate limit NodeXL waits until it should be able to get more data.

What I didn’t mention at the time was that it can take a long time to get complex network data (as in set it running overnight) and also I was having problems getting this to work. I haven’t looked closely at how NodeXL is generating the data but say for example I wanted to find out if the people I followed also followed each other. So I can get all the user ids of the people I follow using https://dev.twitter.com/docs/api/1/get/friends/ids which give me 497 ids.

To see if @psychemedia also follows any of these I could get his list of friend ids and see how many id’s match. Assuming everyone I follow has less than 5000 friends (this is the maximum the Twitter API can return in one call) I can do this in 496 API calls. NodeXL also captures more user information (friend/follower counts, bio etc) which it can do in batches of 100 using https://dev.twitter.com/docs/api/1/get/users/lookup

So in summary:

  • 1x my following ids
  • 496 x who are my friends following (but more if any of my friends follow more than 5000)
  • 4 x details user info

Which means at least 501 calls (with a 350 api calls per hour this has to be done in two batches). And if you want to look beyond that and seeing who are the friends of your friends it’s a lot more.

Fortunately there is a way to get this information a lot quicker. A separate API which is mentioned at the very end of Tony’s Visualising Twitter Friend Connections Using Gephi is the Google Social Graph API. The Social Graph API “makes information about public connections between people easily available and useful” and importantly includes connection information from Twitter. Here’s a demo page from Social Graph using my Twitter id as a starting point.

As I’ve already Ported: Tony Hirst’s Using Protovis to Visualise Twitter Connections which uses Social Graph to a Google Spreadsheet it was a quick hack to modify this to take a list of twitter usernames your interested in and create a two column edge list required by NodeXL, Gephi and other network visualisation tools.

How-to get Twitter edges using Google Social Graph

Before I start I should say the endpoint in this is using NodeXL but Gephi is also able to import the edge csv file generated with this spreadsheet.

  1. Grab a copy of this Google Spreadsheet template for Get Twitter Edges from Screen Names

    If you are having problems getting a copy of the template try opening this spreadsheet and File > Make a copy
  2. Paste a list of twitter usernames you want to graph connections for in the source sheet (I’ve a collection of Google Spreadsheets I’ve developed which can be used to get friends/follows, search terms and more. I also recently wrote about SocialBro which can do a .csv export of usernames (but as pointed out by Angelo you can’t export other peoples data)) If you want to play along here’s a list from #eas11
  3. In the Twitter Edges spreadsheet open Tools > Script editor…  and follow the instructions for registering for a Twitter API key and secret (if you have used any of my other Twitter/Google Spreadsheet mashups you can use the same key/secret).
  4. Once you’ve entered the key and secret don’t forget to Run > authorize
  5. Next on line 24 you need to enter the level of data. For this example lets stick with 1.5
  6. Now Run > getConnections.
  7. Once the the yellow status bar with Running getConnections disappears close the script window.
  8. Back in the spreadsheet view open the ‘Edges’ sheet which should be populated with data
  9. Select File > Download as … > CSV (Current Sheet)
  10. Start a new NodeXL template
  11. Open the CSV in Excel and copy the edges data to your new NodeXL template Edges sheet
  12. From the NodeXL ribbon menu click on Prepare Data (left hand side) and select ‘Merge Duplicate Edges’ and then again from Prepare Data select ‘Get Vertices from Edge List’

And now you can do the rest of your analysis of the data (if you haven’t generated Twitter network visualisations in NodeXL before you can follow parts of the the basic recipe here).

and here’s one I made earlier

#eas11 hashtag community

One very important caveat – the data from Social Graph isn’t 100% accurate and as I posted in Social media wars: Measuring the battle lines since Google+ has come along this data might be becoming less reliable.

PS In making this I found that when I passed 50 usernames to the Social Graph API I only got data back for 15 usernames. I wasn’t able to find any documentation on why. Reducing the call to 10 names at a time seemed to work (but means there are bugs in my other Social Graphs bits and pieces:(

Twitter network analysis and visualisation II: NodeXL – Getting started with the @WiredUK friends network

The other tool that I got wind of just after SocialBro was Network Overview, Discovery and Exploration for Excel – NodeXL. As indicated in the title NodeXL is an add-on for Microsoft Excel (Windows version) but the code is free and open source. Here’s the description from the website:

For a while I’ve been admiring Tony Hirst’s work visualising large networks like Twitter communities using the open source and cross-platform tool Gephi. Tony has lots of great posts for getting you started with Gephi including Visualising Twitter Friend Connections Using Gephi: An Example Using the @WiredUK Friends Network.

I’d been put off cooking something up myself until now because a) Tony has been doing a great job and I couldn’t see what I could add b) large network visualisations need large amounts of data (Tony has previously published his Twitter Community Grabbing Code – newt.py, but as I’m not whitelisted with the Twitter API I only get 350 hits/hr and not 20,000 which can be somewhat of a hindrance when getting follower relationships).

The advantage of NodeXL, particularly for graphing Twitter communities, is it has built-in features for grabbing the data for you. Not only that the coding is clever enough to handle the data collection for mere mortals, so when you hit your rate limit NodeXL waits until it should be able to get more data. NodeXL also has “built-in connections for getting networks from Flickr, YouTube, and your local email. Additional importers for Exchange Email, Facebook, and Hyperlink networks are available”.  

To let you see how to use NodeXL and to allow me to make comparisons with Gephi I thought I’d re-run Tony’s WiredUK example (besides why should I break my habit of only ever building on Tony’s work ;).

In Tony’s original post the beginning (getting the data) is at the end. Fortunately with NodeXL we can start here. I’m assuming you’ve downloaded and installed NodeXL so we begin by starting a new template – I do this from the Windows Start menu and selecting the NodeXL Excel Template shortcut from the Microsoft NodeXL application folder. From the NodeXL ribbon select Import > From Twitter Users’s Network. In the import dialog box enter:

  • Get the Twitter Network of the user with the username: wiredUK
  • Add a vertex for each: Person followed by the user
  • Levels to include: 1.5
  • and what level of authentication you want to use

NodeXL - get data from a user's network

Once the data has been collected (you can see updates in the status bar of the import dialog box), when you click  ‘Show Graph’ you’ll get the raw form:

NodeXL - raw form

At this point Tony highlights that:

Sometimes a graph may contain nodes that are not connected to any other nodes. (For example, protected Twitter accounts do not publish – and are not published in – friends or followers lists publicly via the Twitter API.) Some layout algorithms may push unconnected nodes far away from the rest of the graph, which can affect generation of presentation views of the network, so we need to filter out these unconnected nodes. The easiest way of doing this is to filter the graph using the Giant Component filter.

NodeXL has some ‘Dynamic Filters’ that include bounding the graph by x and y which could be used to crop the image, but I couldn’t find a component filter

NodeXL - Dynamic Filters

Next Tony colours the graph using “the modularity statistic. This algorithm attempts to find clusters in the graph by identifying components that are highly interconnected.” NodeXL doesn’t have a built-in function for calculating ‘modularity’ but we can cluster nodes into groups using other algorithms, in this case Clauset-Newman-Moore. From the Groups menu make sure this algorithm is selected then click ‘Group by Cluster’

NodeXL - Group by Cluster

When you Refresh Graph you’ll see the nodes have been colour coded as per group.

NodeXL - Cluster colour applied 

If you navigate to the Groups sheet there is a column where this colour is set (the right-click to set the colour doesn’t work for me but with the cell highlighted you can use the color picker within the Visual Properties part of the ribbon (top-right of the screenshot below)):

NodeXL - group colour

In Tony’s example he says: “While we have the Statistics panel open, we can take the opportunity to run another measure: the HITS algorithm. This generates the well known Authority and Hub values which we can use to size nodes in the graph.” NodeXL doesn’t have a statistics panel as such but can calculate some but not as many metrics.

NodeXL - calculating metrics

Next Tony looks at graph layout. In NodeXL there aren’t as many options but enough to get started with (I stuck with Fruchterman-Reingo). To add Twitter IDs and have a varying node size we Autofill the Visual Properties. As NodeXL doesn’t have a HITS algorithm I’m using Betweeness Centrality (for an explanation of this see Sheila MacNeill’s Betweenness Centrality – helping us understand our networks post).

NodeXL - node size and labelling

Within the Graph Options there are some further adjustments you can do like changing the joining lines to curves and adjusting the label font (unfortunately the font-size is fixed, it’s just the node icon that scales relative to the betweenness centraility.

NodeXL - graph options

It’s still hard to see what is going on, but we have some more layout tricks. To start with we can layout graphs for groups in separate boxes and also adjust the strength of the repulsive force.

NodeXL - Layout options 

Once you’re happy if you right click on the graph there is an option to save it as an image.

NodeXL - save image

And here is the final result

NodeXL - WiredUK

and for comparison here’s what Tony produced

Which is better Gephi or NodeXL? For entry level (if such a thing exists given the number of different algorithms and theories in network analysis) NodeXL ticks a lot of the boxes. Its easy to grab data and do basic processing. If you want to do more you might want to switch to Gephi. The good news is NodeXL can export the data files in Gephi supported formats so potentially you can get the best of both worlds.

Twitter network analysis and visualisation I: SocialBro

Last week a couple of network analysis tools landed in my inbox and after having a quick play I thought they were worth highlighting here. In this post I’m going to have a quick look at SocialBro which is billed as a tool to ‘manage and analyse your Twitter Community.

The main features are:

  • Browse your Community Search your followers and friends using different criteria such as name, location and description.
  • Filter and Sort Number of followers, followers/friends ratio, frequency of tweets, account age, recent activity, language, time zone.
  • Easy Follow Back Tools Discover your new followers and easily follow them back
  • Easy Unfollow Tools Detect noisy friends, potential spammers, inactive friends and easily unfollow them.
  • Track Unfollows Detect who recently unfollowed you and you can easily unfollow them back.
  • Manage Twitter Lists Organize your followers and friends by creating Twitter lists with the search results.
  • Backup your Twitter Community Download all your Twitter followers and friends to a local database which you can consult even when offline.
  • Fast Communication Tweet and direct message from search results.
  • Visualize Statistical Information Time zone charts, languages charts, users by number of followers, users by recent activity, etc.
  • See your Community in Map Visualize the world wide distribution of your community in a map.

SocialBro Dashboard

You’ll find a number of these features in other web services, for example, I already use TwUnfollow.com to see who unfollows me. The big difference with SocialBro is it’s the first downloadable Twitter analytics tool I’ve seen (I’m ignoring the Archivist Desktop because while its great at downloading search terms it doesn’t have much in the way of analysis).

Being a downloaded software program has pros and cons. The main pro is you are downloading data for offline use. The main con is you’ll need to fire the application up to synchronise the data and how often you do this will effect the resolution of time based data (e.g. follower growth)

The client uses Adobe Air which gives it cross-platform support (if you are using TweetDeck Desktop you already have Air installed). Once the software is installed you need a beta account with SocialBro, which for me was processed very quickly. I noticed that each time you start the software it checks that you have an account with them. You can cancel this and still access your locally stored data but you can’t synchronise. I’m guessing once they get out of beta there’ll be a freeium or even just a premium model.

Watching the garden grow

As well as being able to export your friends and followers as a csv file there are a couple of build-in reports for ‘Best time to tweet’ and ‘Insights’.

Here’s my full ‘best time to tweet’ report from SocialBro. Something I’m not sure about is “the free version of “Best Time to Tweet” is generated by analyzing only your top 100 followers”. I’m not sure how they are categorising ‘top’ but I’m guessing they mean ‘last’. It’s interesting to note that SocialBro and online Twitter analytics service Crowdbooster have very similar best time to tweet matrix charts.

SocialBro - best time to tweetCrowdbooster - best time to tweet
Best time to tweet from SocialBroBest time to tweet from Crowdbooster

Here’s a link to my ‘insights report’. The pdf version has breakdowns for language and timezones. The client also includes a map overlay:

SocialBro - follower map

Weeding and seeding

As well as SocialBro giving you a overview and option to filter things like non-reciprocal relationships for your account you can also add additional data sources. These sources can be Twitter searches, other Twitter user’s friends/followers or Twitter lists. For example, I added the eas11-delegate list and I can see that of the 116 members I only follow 20 so their might be some interesting people to checkout in the remaining 96.

SocialBro - Add new source

Final thoughts

SocialBro has some great tools to help you manage and analyse your Twitter community particularly if you are managing a class or community account. Big question for me is how long will it stay free.  Perhaps it’s time to revisit my collection of Twitter Google Spreadsheets …

Google Spreadsheets as a lean mean social bookmark/share counting machine

It’s been a whole social metricy couple of weeks. First there was UKOLNEIM where I got a chance to chat to Martin Weller about digital scholar dashboards, and yesterday I flicked through Nicola Osborne’s Listen, Repeat, Learn: How to use Social Media Conversations to Measure and Demonstrate Impact and Improve Engagement session at IWMW11.

In Nicola’s presentation she mentioned that they use a spreadsheet to aggregate stats for EDINA online activity (page views, social reaction etc). This fitted in nicely with the ideas I was forming after talking to Martin Weller about centralising this type of information for digital scholars. There are already services like PostRank and Readermeter which can be used to start aggregating different part of this web of data, but I’ve bigger and more personal ideas in mind.

Perhaps not surprising my glue to prototype this is Google Spreadsheets. Yesterday I started looking at pulling social bookmark/share counts for specified urls. What I’ve come up with (or found from elsewhere) is a bunch of Google Apps Script snippets for getting social bookmark/share counts as cell formula.

This script has already been added to this spreadsheet. If you look in cell D2 you’ll see the formula =getFacebookLike(B2). What this does is look up the Facebook API to see how many times the url in B2 has been liked. Here’s the complete list of formula this spreadsheet has access to:

  • getFacebookLike(url)
  • getFacebookShare(url)
  • getFacebookComment(url) 
  • getTweetCount(url)
  • getBuzzCount(url)
  • getPlusones(url) – this one was published by Tom Anthony
  • getLinkedInCount(url)
  • getDiggCount(url)
  • getDeliciousCount(url)
  • getStumbleCount(url)

Note: To use these formula you must have a copy of the Apps Script code mentioned earlier or make a copy of the spreadsheet

Limitations

It’s worth noting that if you start using these formula in a lot of cells you’ll start getting ‘-‘ as the returned value. This is because the code uses the UrlFetch service which appears to be rate limited. So if you have a sheet with over 100 of these formula in it, when it opens after Thinking… about the cell value and fetching the individual stats from the various service APIs it runs out of UrlFetches and can’t get anymore data (it appears the sheet also cache results but I don’t know for how long).

Where next

For what I have in mind I need over 100 calls to these formula so I’ll be looking for a different method, which might include using the Shared Count API which would aggregate a number of these stats into one call. 

Some things I learned along the way

I hate handling callbacks and this is how you create md5 hashes

Social Media and Metrics: What I’ve got and how I use it

On the 11th July I’ll be at the Metrics and Social Web Services: Quantitative Evidence for their Use and Impact event and I thought it would be useful to just document some of the tools, services and recipes I’ve been using with for my personal accounts (this blog and @mhawksey) and service accounts (our main website and @rsc_ne_scotland).

Google Analytics

Social section on Google AnalyticsProbably the staple for most people who want to track web content. Why am I including it in a post about Social Media metrics? Well for a while advance users have been able to track the use of social media share buttons (Like, Tweet etc) by using Google Analytics _trackEvent bindings. Recently however Google announced a new tracking binding for _trackSocial which is designed specifically for these buttons and also gets a dedicated section in the Analytics reporting.

For most Google Analytics users you will already be automatically monitoring Google +1 buttons, but for other types of button additional code is required. Hopefully plugin developers will start incorporating this soon but I’m not holding my breath (I use the Sharedaddy plugin for WordPress and they seem to have a slow response to adding other services to the point that I’ve already heavily modified the version I use to include Google +1 and LinkedIn).

[I haven’t spent much time with the new social tracking functionality but I keep an eye on link referral to see if traffic is coming from the likes of twitter.com]

Bit.ly

A bit like the Twitter analytics sites mentioned above bit.ly lets you analysis how your content is resonating with the community, but importantly beyond the confines of Twitter. You don’t have the same granular level of detail like who is recommending your stuff but you can see the influence of your bit.ly links in other social networks. A nice feature of bit.ly that Tony Hirst made me aware of is Bit.ly ClickThrus for Your Domain.

One tip when using bit.ly (and a mistake I’ve made) is be selective about the other services which shortens link for you using bit.ly. I’ve plugged my api key in for a mix of personal and work related stuff which means I’ve tainted the stats.

Dlvr.it

Dlvr.it is not only a great service for automatically publishing material out to different social media channels but it has a great set of metric reporting and tools to help you monitor your content. Recent additions include a dashboard and tracking geotagged tweets. Another nice feature is a built-in tool to add Google Analytics tracking code into your links.

TwitSprout, Crowdbooster (and Tap11 until they wanted to charge)

All three of these do roughly the same thing to varying degrees, providing metrics about twitter accounts like follower growth, tweets that have got the most mentions and more. The feature I probably most use is keeping an eye on tweets that are resonating the most with our audience. For example, ‘Contribute your Scottish words to new online dictionary’  got 5 retweets, 1 reply and potentially reached 7,386 pairs of eyes.

Crowdbooster also has an interesting metric which tells you when the best time it is to tweet something for maximum impact. I don’t know how this is calculated (it might be monitoring when your followers are online, or the times you get the most retweeting, or something else) and whether it is cause or effect.  

Things aren’t always as they appear – Visibili

I’ve tried out a  fair few Twitter analytics sites and generally they all do a good job. One service I stopped using was Visibili. The reason I stopped was I didn’t like their  strategy for collecting tracking data. Unlike the other analytic services that I’ve mentioned which use your authenticated twitter access to read data from your account, Visibili also use it to rewrite your tweets. What they are doing is reprocessing all the links mentioned in your tweet through their bit.ly account. This means they have much more reliable click data to report but it also means if you are using your own shortening service to track click data this information is going to be lost. The video below demonstrates how Visibili do this (basically they duplicate your tweet the new url’s then delete the original. Here’s an archive of a Twitter conversation I had with Visibili about this):

PostRank Analytics

PostRank Analytics provide as service which monitors over 20 different social networks and tracks comments and reactions to blog posts and webpages. I signed up for a beta account after yet another tip of from Tony and unfortunately since then the service has been bought by Google which has temporarily closed the beta programme.

As well as tracking your own stuff you can use it to track other sites. So by submitting the OUseful or UK Web Focus RSS feeds I can see which posts are engaging their audience and even see who is engaging with them. Here is the PostRank report for the UK Web Focus blog post on Plans for “Metrics and Social Web Services” Workshop on Monday. There is more information on the use of PostRank for this purpose in a ReadWriteWeb post, Google Acquires Postrank: A Fork in the Road for the Future of Social Media (PostRank isn’t the first social media tracking service to recently get bought. BackType was recently acquired by Twitter which leaves me wondering if we are on the verge of a social stats intelligence war).

[To see what you can do with with sort of data on the PostRank blog they have a post on And the most engaging TED talk is…]

Summary

So having read all of this you might think I purveyor of all knowledge when it comes to tracking what’s going on in terms of my social media presence and impact with a clear strategy on how to maximise this information … uh no. In theory I should but because of poor account maintenance (on my behalf) and because I’m more of a dabbler than a serious metrics driver a lot of this data only gets a cursory glance and isn’t part of a big plan. A new leaf might be required ;)     

Academic Uses of Social Media

I can’t remember how but (It was via Joss Winn’s shared Google Reader posts – which makes this post somewhat circular) a link to a recent Harvard University seminar on Academic Uses of Social Media: Exploring 21st Century Communications ended up in my in tray via John Naughton’s Memex 1.1 blog.

I always find it interesting to view how other academics are addressing social media so to find a recording of the panel session which was packed to the gunnels with noted American academics talking about their own uses of social media got my attention.

The speaker who I found most engaging was Nancy Koehn (@nancykoehn) Professor of Business Administration, Harvard Business School. Nancy did a great job in setting the scene highlighting the importance of social media in a wider context (business and humanitarian), but also that the pace of technological change is now so fast that it requires a lot of rapid fire experimentation to discover the best processes or tools to support learning.

This aligns closely to my own thinking and in my own research, increasingly I find my focus is around the rapid development of tools to support all aspects of teaching and learning.

This leaves me wondering do institutions have the framework or capacity for these ‘zero day hacks’ which are increasingly becoming necessary to align teaching and learning with what is going on out there in the wider world. With so many institutions tightening the screw on learning support units I fear that their not getting the bigger picture.

There are however some exceptions. For example, if you haven’t already I strongly encourage you to read about University of Lincoln’s LCND group which for very little money is supporting staff AND students who “wish to contribute to the rapid innovation of appropriate technology for education at the university”. Read more in Joss Winn’s Technology for education: A new group post.

Here is my annotation of the Academic Uses of Social Media video (here’s the original). Feel free to add your own comments.


Comments powered by Twitter Click here to add yours ...

About

This blog is authored by Martin Hawksey+ JISC CETIS Learning Technology Advisor (OER Programme Support)
jisc cetis logo

The MASHezine (tabloid)

It's back! A tabloid edition of the latest posts in PDF format (complete with QR Codes). Click here to view the MASHezine

Preview powered by:
Bluga.net Webthumb

The MASHebook

You can also download this post as:

Subscribe to monthly email digest of posts

Loading...Loading...


Subscribe to per post email updates

Enter your email address:

Delivered by FeedBurner

Creative Commons Licence
This work is licensed under a Creative Commons Attribution 3.0 Unported License. CC-BY mhawksey