Surveying Social Network Abuse and An Exercise in Using Smartphone Apps to Visualise Research Questions

Surveying Social Network Abuse and An Exercise in Using Smartphone Apps to Visualise Research Questions


A busy month on my MSc Digital Sociology course has seen me learn a whole host of new things, from mapping the prevalence of spam and abuse across small social networks using digitally qualitative tools, to learning how to create Corona and Android based smartphone apps to visualise elements of my research question. Below is a discussion of the methods used, problems tackled and a bit of a interactive and somewhat musical result.

Methods and Discussion

Survey of spam and abuse across social networks:

As part of a CAST London seminar on “Social network analysis – data collection and how to structure surveys” by the excellent Gaia Marcus from the RSA (Royal Society of Arts), we were asked to design a mini survey that would ask a small selection of people questions related to our research.  I decided to use the free survey app at, mainly because it allowed me to do an intelligent branching survey, and to collect the data as an easily processable .csv file, with an output into visual aggregate charts.  I asked a very small sample of 50 people the questions below.  They mainly covered which social networks the respondents used, if they had received spam or abusive messages via these social networks, and what action they took if they did. You can view the actual form on my FormAssembly account, and click on a pop-up screengrab of it below:

Social Networks: Survey Form

Because this was a survey of a very small dataset, I received a total of 37 responses from a pool of 50 people.  I found that out of all surveyed, more people had received spam (20 people) than abusive messages (6) via their social networks. In the case of spam, more people readily reported the spam (6), and deleted (15) and blocked spammers (15).  Only 3 had received abusive messages through social media, and in both cases, they had deleted the message or blocked/unfriended the abuser – none had reported the abuse. In hindsight, I should have been more specific in the questions I asked in my survey, as 18 out of the 37 respondents used Twitter amongst their daily use of social networks, however, because of the way I designed the survey, I was not able to link-up the occurences of spam or abuse specifically with each network – something I will be more careful to focus on in future.

In terms of visualisation of the data extracted from the survey, previous posts have seen me visualise data with the help of Gephi, and OpenStreetMap, and although we had a very useful follow-up session on how to pull more data out of Gephi, I wanted to see if I could test the app-building skills I learned at a later date in the CAST London “Android/Corona Games” lab.

Visualising Data in an App

In my search to find a new way to display this data, I was inspired by the previously mentioned “aggregate data view” option that outputs some of its reports in.  I decided to use my fledging app building skills to display this data as a smartphone slideshow, so with the help of the Corona SDK sample resource for the Slide Show, I put together some screengrabs of the aggregate data and programmed them into swipe-able slides.

Here is a screengrab of some of the very basic Lua code I manipulated to create the Slide Show app:

Survey Data: Slideshow App: Lua Code

Unfortunately, the trial version of Corona SDK restricts the exporting of the app (more about how I got around this below), so I did some screengrabs of the slides in action – which you can click on to see larger pop-up versions of my data in the mini-Flickr plugin below:

[miniflickr photoset_id=72157629278207856&sortby=date-posted-asc&per_page=3]

Basic animation: Angry Tweeters Turning Red

Having gotten a taste for hacking into Corona SDK’s project samples, I wanted to see how I could use more of my fledging Lua programming skills to visualise interactive apps.

I started off by looking at one of Corona SDK’s sample packages that helps you develop your graphics, orientation and object touch skills: ‘Fishies‘.

Still getting to grips with the physics engine, I came up with the slightly dubious animated game below – it is an iphone app version of my previous python script, which used the Twitter API and JSON to visualise negative tweets.

Here is a screengrab of some of the Lua code I manipulated to create the app:

I was so pleased to have hacked together an app that not only had moving animations of the tweeting bird from the one I had designed for this blog’s logo way back in September, but also an app that one could interact with by clicking on the birds as they bounced (I’m afraid it really is ‘bounced’ and not ‘flew’ with my beginners’ skills) – that I did a quick screen recording of my app as I tested it (played with it) in the Corona SDK simulator – I used the Youtube video editor to add the music and effects as you see my mouse click on the birds to find the abusive tweeters below:

Onwards and Upwards: Twitter vs Angry Tweeters

On a high from my little flurry into interactive Lua coding, I decided to push my skills further.  I wanted to find a way of using the Corona SDK’s physics engine and ability to create a simple app by linking a series of levels and gravity commands into a small simulation of the popular Angry Birds app.  Luckily, my ambitions were helped along by Carlos M. Icaza’s “Angry Turtles” project, which I found in Corona SDK’s very helpful ‘Share Your Code’ Community section.

Here is a screengrab of how the original “Angry Turtles” game looks in the Corona SDK simulator:

"Angry Turtle" or "Turtle vs Hares" game

To see if I could manipulate the code and graphics in this project to turn it into a “Twitter Abused” game, I started off by downloading the code, opening it up in Lua, and also opening up Photoshop to start creating the sprite and background images I would need.

I used the original tweeting bird I designed for the logo of this blog, and followed this up by hunting down a suitably menacing looking blue bird that I would use to represent an “angry Twitter user”.  I found this on the catalogue, and after purchasing a low-res version of the image for a few credits, I opened up Photoshop and added an extra layer of angry expletives that I hoped would appear to be coming out of the bird’s mouth in the game:

I wanted to change the background image of the game into something a bit moodier, to create a slightly darker atmosphere, but still have the feeling of hope, so I went back into my old Flickr favourites file, and tracked down a photograph of a window looking out onto a misty dawn, the sun just coming up over the horizon.  After getting the photographer Ines Perković’s permission to use the image in this project, I imported it as a background into the game.  The original image is below:

Ines Perković: Rainy Morning

And here it is as a background to the game, with some clouds floating over it, and the bird from my logo as the main protaganist:

Level 1: Background: Ines Perković: Rainy Morning


Then down to the programming – I opened up my graphics editor, and with the Corona SDK simulator open on one part of my screen, I started to manipulate the placement and size of the game characters.  You can see how on line #1437 of the code below, I have changed the size of the sprites from thieir original 50 x 50 pixels, to a much larger 100 x 100 pixels:

Original sprite size (line #1437 in the code vs a small pair of angry blue tweeters):

Level 1: Abusive Bird Enemies: Size 50

Changed sprite size (line #1437 in the code vs a larger pair of angry blue tweeters):

Level 1: Abusive Bird Enemies: Size 100 pixels

The trickiest parts were programming the positioning of the birds and little things like the pop-up messags that appeared in various parts of the game, and also making sure that this was uniform across the two levels of the game.  Below, you can see from line #758 – 762, where I battled with the font name, size, positioning, scale and colour of the simple text “TAP TO CONTINUE”, which appears when you have completed each section of the game.  Such a seemingly short message caused me quite a bit of time as a beginner tweaking the code, but gladly, it all came out well in the end…

Level 2: "Tap to Continue"

And the result:

By this point, I was having fun, and gave the bird a bit of character, where it said not so nice things if it failed to beat the angry tweeters (see bird swearing below):


Level 1: Losing Commentary


A Game in Motion

Finally though, I managed to complete the creation of a simulated app, and did a screen recording of it, adding some free music from the Youtube video editing app. Here is a short animation of my game in-play. This app won’t be published beyond this page due to my Corona SDK trial running out.




Comments are closed.