Category Archives: development

All Finished

Well I’m all finished.  Handed in my report, I’m pleased with all I’ve accomplished through this project.

Here is the Abstract for the report:

Through discussion and analysis of current research in collaborative tagging systems, an emerging area of research was discovered, improving accessibility and search of visual resources through tagging.  Of particular interest were two tagging projects ESP Game and Steve.Museum, where users were encouraged to tag images to improve accessibility and search of images.  VideoTag extends this research by harnessing the user motivations of Play and Competition to increase and improve the meta data of a selection of YouTube videos through tagging. 

The VideoTag tagging experiment consisted of a one player game where users were encouraged to tag a selection of sixty carefully chosen, funny or interesting YouTube Videos.  The videos were separated over five difficulty levels.  Gameplay was carefully planned in order to encourage users to tag the videos more descriptively, using tags of a subordinate rather than basic cognitive level.  The experiment was uncontrolled with random users being attracted to the game through promotion on various Web 2.0 sites.

Analysis of the results focused on whether a game environment is beneficial to encouraging users to tag videos.  Quantitative methods of analysis found VideoTag to be successful at increasing the amount of tags per video compared to YouTube.   A long tail effect was found to present in the tag data which allowed for qualitative analysis of the quality of the tags entered based on their cognitive level.  

As only a small selection of videos were used, tag data generated by the VideoTag experiment is not sufficient to test whether the data can improve search for those selected videos, or create descriptions to improve accessibility for visually impaired users.  Analysis and evaluation does discuss how VideoTag proves as a concept, game based tagging could be used to improve accessibility and search and there is scope for future research . 

Advertisements

<6 weeks to go

I’ve got 6 weeks till i have to hand in my project.  In real terms as i don’t get all the time in the world to work that gives me 12 days.  12 days to write up 2 chapters detailing what i’ve done, describing the experiment, explaining the results, analysing the results and critical evaluation of the whole thing.  On top of this i remain completly baffled by SPSS and it really is the best way to produce my longtail graphs.  Although i am tempted to knock some out in excel if time runs out.  To top it all off i have writers block.  The chapters are running round in my head all jumbled up but i can’t get them out onto paper for some reason.

I’m also regretting ever finding facebook as it is a perfect distraction to stop me starting writing.  And it turns out so is this blog as i’m writing this instead of just mind dumping on paper to get myself started!

you tube rss feeds

In order to analyse the quality of the tags VideoTag is generating, i want to compare them to the existing tags for the videos in YouTube.   So i set about the arduous task of collecting all these tags and entering them into my database.  I checked the YouTube rss feed and no example for favourites, so i googled it and found sites that use the youTube API to let you rss feed users favourites, but you only get the 10 off the first page, which is useless for my 60 odd videos.  So i resorted grudgingly to manually copying and pasting off each video.  Then i had the bright idea of seeing if i could rss feed my playlist.  After a quick google search i found this site:

http://www.ubeek.com/youtube/
I was kicking myself for not thinking of this sooner, it saved me lots of time,  especially when after entering all the YouTube tags for my 63 videos i got this error “possible deep recursion attack” and lost them all!!
Arghhh!!

So my annoyance at not having found it earlier, changed to being thankful i’d found it at all so re entering the 63 sets of tags wouldn’t take quite so long.  grrr i hate it when quick jobs to ease you into your working day take up half of it unexpectedly.

play as guest

i made my mind up and added a play as guest facility.  I decided as long as the tags were recorded it was better to have more players tagging than know their username.  However i have put limitations on the guest accounts, they cannot progress passed level 1 and can not be entered onto the leaderboard.

Cheating and future developments

I have changed my mind about leaving off the board of shame.   I have had my first cheater.  It didn’t take much to work out you could enter anything and score points i’m lucky so far only 1 person has discovered this.  So i have stripped him of his points and added him to the board of shame, hopefuly this will deter others from doing it.  It is too much for this run of the game and my MSC project to add dictionary checks on the tags, although i would like to implement this in the future.

I was considering adding a play as guest facility, but have decided to stick with my register at the minute, i don’t ask for much information, i feel if i have play as guest nobody will bother to register.   Again this is something i will implement in the future.  Maybe a try game before registering option and let them play for a bit but not score points.

I had another idea to try and keep players tagging and sustain interest – adding a Golden Tag.  This could be a highly descriptive tag that if found would award the user with a large number of points.  There would be one golden tag for each video.   I like this idea and it will definatly go into a new version of the game.

I might also enlist some graphic design skills to  give the look and feel of the game more impact, especially the homepage, i agree with feedback that this will attract more users.

One wierd thing i’ve noticed is that people are bothering to register, but then not playing, i would like to know why this is.  They probably think the game looks rubbish and leave, or their connections slow so the game doesn’t work properly.

It’s so interesting now my game has some users to disect it with the help of feedback and the data it’s generating and find ways to improve it.  i think even if i don’t get the oppurtunity to continue this project into phd level i will re develop the game with these additions added.

I keep thinking about the play as guest facility – should i allow it or not?

VideoTag – live and ready to play

The VideoTag game is all finished, working and ready to play. I am pleased with it, i think it works well and should, providing people play it, be a useful vehicle at generating the data i want.

The all important link:

http://www.videotag.co.uk

There was only one thing that i couldn’t fix and that was the onkeypress problem mentioned in the Ajax post. I couldn’t stop it refreshing the page each time a tag was submitted, so the return/enter key has been left disabled. Not the best usability, but a more desirable fix than having a new video after every tag entered.

I have definatly reached the top of the MSC hill, the downward slope being filled with evaluating results and critically evaluating the whole project. Oh an writing up what i did and how i did it and creating some extra design document that i left to the end if i had time. So not too much work then! Roll on Sept 30th, then i won’t have a clue what to do with my time and my brain will have nothing to think about! I’ll be lost.

Ajax GET and POST

I’m posting my GET and POST ajax code it will hopefully be useful to some people.

I searched a lot to find some simple code as i didn’t need to validate the forms. So many scripts didn’t work properly or seemed unnecesserily complicated for my requirements.

The code has been adapted from
http://www.w3schools.com/ajax/def

the GET from:
http://www.openjs.com/articles/ajax_xmlhttp_using_post.php

Hope you find this helpful!

//Set up the XMLHttpRequest

var http = createRequestObject();
function createRequestObject() {
var objAjax;
var browser = navigator.appName;
if(browser == “Microsoft Internet Explorer”){
objAjax = new ActiveXObject(“Microsoft.XMLHTTP”);
}else{
objAjax = new XMLHttpRequest();
}
return objAjax;
}

//THE GET

function getNewContent(){
http.open(‘get’,’newcontent.php’);
http.onreadystatechange = updateNewContent;
http.send(null);
return false;
}

function updateNewContent(){
if(http.readyState == 4){
document.getElementById(‘Content’).innerHTML = http.responseText;
}
}

//THE POST

function postForm() {
var url = “formentry.php”;
var formtag = document.getElementById(‘fmfield’).value;
var params = “newfield=” + formfield;
http.open(“POST”, url, true);

//Send the proper header information along with the request
http.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”);
http.setRequestHeader(“Content-length”, params.length);
http.setRequestHeader(“Connection”, “close”);

http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
document.getElementById(‘fomentered’).innerHTML = http.responseText;
document.getElementById(‘fmfield’).value = “”;
}
}
http.send(params);
}

the functions are called through an onclick event
e.g.
GET <a href=”#” onclick=”getNewContent()”>New Content</a>
POST <a href=”#” onclick=”postForm()”><img src=”Submit.gif”></a>

I couldn’t get it to work properly with a button with type image and i wanted an image so i did it with an <a> tag – i think it works with a normal <input type=”button” onclick=”postForm()”> But it won’t work if you have an <input type=”submit”> button.

I am still trying to figure out how to get it to work when the user presses return or enter – it calls the postForm() but refreshes the page.

If any one can help me on this please comment!!