Thursday, 25 October 2012



So I've submitted my written treatise and source code online.
My thesis is officially finished!

The prototype focused on implementing the proposed design for Facebook. I also included a detailed Readme file to assist in the setup required for the prototype. The prototype not only exports a .dot file, but renders a personal social network on screen. An example network is visible below.

I am very pleased with the results of the prototype, and I hope my presentation in a few weeks goes well.

Saturday, 13 October 2012

Draft Treatise Submission

I just submitted the draft of my treatise through eLearning.

In my draft I've completed the:

  • Abstract
  • Acknowledgements
  • Literature Review
  • Design: Proposed Method and Implementation
I've also outlined the sections for the strengths and limitations of the proposed method and implementation.

The included prototype implementation authenticates the user with Facebook and retrieves their friends list. The prototype then prints the details of the target user and if the flag is set to true, the users friends list.

Thursday, 4 October 2012

Brief Development Update

I've had a few midterm exams and assessments so progress over the past few weeks has been a little slow.

Scribe seems to be the way to go so far as establishing a connection to Facebook. I was able to retrieve information from my own profile. I'm now working on customising it for my own needs, and determining what permissions and data I will be retrieving.

Thursday, 20 September 2012

Development Update

I've continued developing over the past week, just trying to get a solid base to build my application on.

Connecting to Facebook in a way to get data is proving to be a little tricky. I've discovered that I cannot get the information directly from a users profile page, like I wanted to, as it is a breach of Facebook's terms and conditions. They will allow you to use automated data retrieval if you obtain prior written consent, but that is a little unrealistic for this project.

I've also implemented a PropertiesRetrieval class to return settings from a .properties file. Considering extensibility and the probably need to store a Facebook application id and secret key, it would be inefficient and ridiculous to have the required settings hard coded into the application. The externally configurable settings can now be set in the .properties file and the program will retrieve them when required.

The difficulty lies in that I'd like my application to be purely client-side. A lot of the support for developers on Facebook seem to focus on server-side applications and servlets. So it is difficult to find relevant information. I have had a play with a servlet implementation but it's not suitable for my needs.

I've found a java class called Scribe with lots of classes and methods for retrieving data from social media sites. I'm in the process of testing their demo implementation, but it looks promising!

Thursday, 13 September 2012

Quick Update

Over the past week I've been working on my prototype application. I have a POJO called Person which I will use to store the retrieved data for each individual. I also have skeleton classes for the SocialNetwork to be constructed and for the connection to Facebook.

I'm aiming to target just the Facebook users who have upgraded to timeline. The URL to access their friends lists (if public) is The URL to access the friends list for non-timeline users is much more complex. As Facebook will soon be moving all users to Timeline there isn't much to gain by supporting those profiles.

Thursday, 6 September 2012

Weekly Catch-Up

Today I had another catch-up meeting with my supervisor.

The progress I've made over the last few weeks has been good and should help reduce the complexity of my prototype.

My aims for this coming week are to have something written which can retrieve the friends of a targeted profile on Facebook. Once this is is accomplished, I can proceed to writing the recursive search to drill down through a social network and provide the visualisation for the program.

My supervisor recommended looking at Beautifulsoup, a python library to help parse html content. As I am programming in Java this may not be suitable but it will definitely be a good point to start.

Thursday, 30 August 2012

Weekly Update

Over the last week I've made a lot of progress on the design and development of the proof-of-concept prototype.

Focusing on Facebook, I have discovered that the friends page location (relative to a users Facebook URL) is dependent on whether they have upgraded to the timeline view or not. Given that Facebook is currently in the process of moving all users to timeline, I have chosen to focus my tool on that setup, as the wall setup will soon be obsolete.

I have also made some decisions regarding the data storage for the tool. As this is only a prototype model, I do not intend to persist the raw data retrieved from the social networks. The analysed data however will be persisted, most probably through writing a file to disk. Further development of the tool would probably benefit from supporting database data storage, especially if the tool becomes more complex.

Finally, I have identified several useful libraries that will greatly simplify development of the prototype. These libraries will help me save time in development and hopefully allow me to include some additional features in the prototype.

Unfortunately my supervisor was unable to meet with me today. I look forward to showing him the progress I've made and receiving some feedback about my design next week.

Over the next week I would very much like to get most of the core functionality developed for my prototype, so that I might be able to include some additional features.