<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CyberTube &#187; Project</title>
	<atom:link href="http://blog.soton.ac.uk/cybertube/category/project/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.soton.ac.uk/cybertube</link>
	<description>Social network driven development blog</description>
	<lastBuildDate>Fri, 27 May 2011 15:12:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
<cloud domain='blog.soton.ac.uk' port='80' path='/cybertube/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Dragon&#8217;s Den Pitch Overview</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/27/dragons-den-pitch-overview/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/27/dragons-den-pitch-overview/#comments</comments>
		<pubDate>Fri, 27 May 2011 15:08:18 +0000</pubDate>
		<dc:creator>Tolias</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[dragon's den]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=611</guid>
		<description><![CDATA[Last week our team presented MovieIt social network-based recommendation application on the Dragon&#8217;s Den Pitch panel. We ran 10 minutes presentation that introduced key features of our system outlining technical, social, legal and economic aspects. After presentation “dragons” addressed to us multiple questions pointing out some “gaps” in our project. We found this critics and [...]]]></description>
			<content:encoded><![CDATA[<p>Last week our team presented MovieIt social network-based recommendation application on the Dragon&#8217;s Den Pitch panel. We ran 10 minutes presentation that introduced key features of our system outlining technical, social, legal and economic aspects. After presentation “dragons” addressed to us multiple questions pointing out some “gaps” in our project. We found this critics and notes very useful in terms of future idea and marketing strategy evolvement. Below are presentation slides and a short overview of some asked questions and provided answers.</p>
<p><span id="more-611"></span><br />
<object width="400" height="328"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=forslideshare-110525090344-phpapp01"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=forslideshare-110525090344-phpapp01"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="328"></embed></object></p>
<h3>Questions</h3>
<p><strong>What is the novelty of your idea? Why should users choose your system? Why is it better than analogous applications?</strong></p>
<p>Answer: our system is free, flexible, independent from any social networking platform and provides a better user experience in contrast to its rivals. MovieIt supports multidimensional trust-based recommendations exploiting geolocation information and relations between users in social networks. It means that the user gets different types of recommendations, some examples provided below:</p>
<div>
<ol>
<li>What movies would I like to watch?</li>
<li>Who suggested this movie to me? If it is Bob/Jane/etc., then probably I would love to see it as we have similar tastes.</li>
<li>What is the best place/cinema to watch this movie?</li>
<li>I’m in the movie theatre. What should I watch here?</li>
<li>Who wants to watch &#8220;Avatar&#8221; movie with me in the Odeon cinema in the evening?</li>
<li>What kind of movies my friends prefer?</li>
</ol>
</div>
<p>Secondly, user gets an extra information about made suggestions, e.g. &#8220;who suggested it?&#8221;, reviews, ratings, friends&#8217; comments. These details provide a better user experience and boost trust to received recommendation.  Moreover, we don&#8217;t limit the functionality of our system. It is more than just a recommendation tool: users can publish in their social network profiles information about movies and places or suggest movies directly to their friends. The novice of our application is that we turned it in a universal environment that combines different features as a multidimensional recommendation engine, a communication tool and a platform for self-expression (comments, reviews).</p>
<p><strong>What are weak points of your project?</strong></p>
<p>Answer: from the social perspective tagging friend in places and movies is something that it is considered personal information. This potentially will have legal implications and we have to find a way to provide means to protect. On approach is to block a user form tagging you for specific types of movies. Also we proposed to use the policy that should notify users about their liabilities and decided to keep the right to remove any material that provokes a complaint upon the request. Secondly, storing such vital information we have the obligation to protect the data from illegal access. System security is something that we have to consider seriously in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/27/dragons-den-pitch-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Future Developments</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/27/future-developments/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/27/future-developments/#comments</comments>
		<pubDate>Fri, 27 May 2011 14:55:15 +0000</pubDate>
		<dc:creator>Tolias</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[Related works]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=618</guid>
		<description><![CDATA[Our aim is to make this project a commercial product. To achieve this, firstly we have to improve the client side providing better user experience. At the moment has been implemented using multiple static pages. Further development might be to provide a single page static page where all the user dialogs will appear in the [...]]]></description>
			<content:encoded><![CDATA[<p>Our aim is to make this project a commercial product. To achieve this, firstly we have to improve the client side providing better user experience. At the moment has been implemented using multiple static pages. Further development might be to provide a single page static page where all the user dialogs will appear in the pages this will enable a the provision of a better user experience with  smooth transitions from dialog to dialog.</p>
<p>In terms of the technology we need to optimize our servlet algorithm by providing simultaneous (using Java threads) requests to social network APIs eliminating in that way the latency. Further improvement is to provide a buffer for each request for example the last 20 movie searches can be cashed on the servlet so in case the same query-string is requested again then the will return the information directly without making the request to the third party. This happens frequently because the user type a name on the search bar and the presses the backspace to correct it. The string after pressing the backspace is the string had previously requested.</p>
<p>We consider vital the integration of you system with foursquare because our system is mostly targeted foursquare type of users.  This kind of integration will have benefit all parties (user, Facebook and MovieIt) because the user gets better recommendation (from MovieIt) and badges (from foursquare) the Foursquare and MovieIt will  get information from the user activity the former for places and the later to provide better recommendation.</p>
<p>Finally there is a need of automatic composition, integration, and execution of Web Services. We can achieve this by extending our system to use Semantic Web Services based on RESTfull Web Services. This Semantic web technology will facilitate integration of other systems without ours gaining in that way more information for other sources and therefore more value.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/27/future-developments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacking Social Networks APIs&#8230; the MovieIT way</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/27/hacking-social-networks-apis-the-movieit-way/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/27/hacking-social-networks-apis-the-movieit-way/#comments</comments>
		<pubDate>Fri, 27 May 2011 05:06:28 +0000</pubDate>
		<dc:creator>Tolias</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[Auth]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Facebook Graph API]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OAuth 2.0]]></category>
		<category><![CDATA[servlet]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=549</guid>
		<description><![CDATA[Javascript based Facebook login OAuth 2.0 One of the positive features of OAuth 2.0 is that the OAuth dance occurs only by using HTTP GET method. This code resides in the Auth.htm page. The if structure checks the browser URL to identify the current step and move to the next one. The first step is [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/4578445047_02f5bfd1cb_z.jpg"><img class="alignleft size-medium wp-image-576" src="http://blog.soton.ac.uk/cybertube/files/2011/05/4578445047_02f5bfd1cb_z-300x199.jpg" alt="A pda in a binay code pattern" width="300" height="199" /></a>Javascript based Facebook login OAuth 2.0</h2>
<p>One of the positive features of OAuth 2.0 is that the OAuth dance occurs only by using HTTP GET method. This code resides in the Auth.htm page. The if structure checks the browser URL to identify the current step and move to the next one. The first step is to access the https://www.facebook.com/dialog/oauth by providing the application id, the redirection URI and the response type (which in our case is of type token). In our case we set the redirection address to again to the Auth.htm file. After the successful redirection from the Facebook page the script makes again a HTTP GET request to the same endpoint by providing the application ID, redirect URL, the response type and the resources that this application will have access to. If everything goes well then Facebook redirects the browser to back to the Auth.htm page by providing a code parameter. The final part of the script extracts this information for the url and passes it to our servlet in order to provide a customized to the user homepage (e.g. his profile image etc.).<span id="more-549"></span><br />
<!-- ======================================================== --><!-- =     Further information: http://www.java2html.de     = --></p>
<div class="java">
<p><!-- end source code --></p>
<p><!-- start Java2Html link --></p>
<p><!-- end Java2Html link --></p>
<table border="2" cellspacing="0" cellpadding="3" bgcolor="#ffffff">
<tbody>
<tr><!-- start source code --></p>
<td align="left" valign="top"><code><span style="color: #808080">01</span> <span style="color: #000000">var appId = </span><span style="color: #2a00ff">"*********************"</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">02</span> <span style="color: #ffffff"> </span><span style="color: #000000">var AppSecret = </span><span style="color: #2a00ff">"****"</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">03</span> <span style="color: #ffffff"> </span><span style="color: #7f0055"><strong>if </strong></span><span style="color: #000000">(</span><span style="color: #000000">window.location.hash == </span><span style="color: #2a00ff">""</span><span style="color: #000000">) {</span></p>
<p><span style="color: #808080">04</span> <span style="color: #ffffff"> </span><span style="color: #7f0055"><strong>if </strong></span><span style="color: #000000">(</span><span style="color: #000000">window.location.search == </span><span style="color: #990000">0</span><span style="color: #000000">) {</span></p>
<p><span style="color: #808080">05</span> <span style="color: #ffffff"> </span><span style="color: #000000">url = </span><span style="color: #2a00ff">"https://www.facebook.com/dialog/oauth?client_id=" </span><span style="color: #000000">+ appId + </span><span style="color: #2a00ff">"&amp;amp;redirect_uri=" </span><span style="color: #000000">+ </span></p>
<p><span style="color: #808080">06</span> <span style="color: #ffffff"> </span><span style="color: #000000">window.location + </span><span style="color: #2a00ff">"&amp;amp;response_type=token"</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">07</span> <span style="color: #ffffff"> </span><span style="color: #000000">window.location = url;</span></p>
<p><span style="color: #808080">08</span> <span style="color: #ffffff"> </span><span style="color: #000000">} </span><span style="color: #7f0055"><strong>else </strong></span><span style="color: #000000">{</span></p>
<p><span style="color: #808080">09</span> <span style="color: #ffffff"> </span><span style="color: #000000">var codeURL = window.location.search;</span></p>
<p><span style="color: #808080">10</span> <span style="color: #ffffff"> </span><span style="color: #000000">var codeURLSubString = codeURL.substring</span><span style="color: #000000">(</span><span style="color: #990000">6</span><span style="color: #000000">, codeURL.length</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">11</span> <span style="color: #ffffff"> </span><span style="color: #000000">var appAuth = </span><span style="color: #2a00ff">"https://graph.facebook.com/oauth/access_token?client_id=" </span><span style="color: #000000">+ </span></p>
<p><span style="color: #808080">12</span> <span style="color: #ffffff"> </span><span style="color: #000000">appId + </span><span style="color: #2a00ff">"&amp;amp;redirect_uri=" </span><span style="color: #000000">+ </span><span style="color: #2a00ff">"http://" </span><span style="color: #000000">+</span></p>
<p><span style="color: #808080">13</span> <span style="color: #ffffff"> </span><span style="color: #000000">window.location.host + window.location.pathname + </span><span style="color: #2a00ff">"&amp;amp;client_secret=" </span><span style="color: #000000">+ </span></p>
<p><span style="color: #808080">14</span> <span style="color: #ffffff"> </span><span style="color: #000000">AppSecret + </span><span style="color: #2a00ff">"&amp;amp;code=" </span><span style="color: #000000">+ codeURLSubString;</span></p>
<p><span style="color: #808080">15</span> <span style="color: #ffffff"> </span><span style="color: #000000">window.location = </span><span style="color: #2a00ff">"http://kanga-et2e10.ecs.soton.ac.uk:8080/Testing_servlets/Auth?oauth=" </span><span style="color: #000000">+</span></p>
<p><span style="color: #808080">16</span> <span style="color: #ffffff"> </span><span style="color: #000000">encodeURIComponent</span><span style="color: #000000">(</span><span style="color: #000000">appAuth</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">17</span> <span style="color: #ffffff"> </span><span style="color: #000000">}</span></p>
<p><span style="color: #808080">18</span> <span style="color: #ffffff"> </span><span style="color: #000000">} </span><span style="color: #7f0055"><strong>else </strong></span><span style="color: #000000">{</span></p>
<p><span style="color: #808080">19</span> <span style="color: #ffffff"> </span><span style="color: #7f0055"><strong>if </strong></span><span style="color: #000000">(</span><span style="color: #000000">window.location.hash.substring</span><span style="color: #000000">(</span><span style="color: #990000">1</span><span style="color: #000000">)</span><span style="color: #000000">.indexOf</span><span style="color: #000000">(</span><span style="color: #2a00ff">"access_token"</span><span style="color: #000000">) </span><span style="color: #000000">=== </span><span style="color: #990000">0</span><span style="color: #000000">) {</span></p>
<p><span style="color: #808080">20</span> <span style="color: #ffffff"> </span></p>
<p><span style="color: #808080">21</span> <span style="color: #ffffff"> </span><span style="color: #000000">graphUrl = </span><span style="color: #2a00ff">"https://www.facebook.com/dialog/oauth?client_id=" </span><span style="color: #000000">+ appId + </span><span style="color: #2a00ff">"&amp;amp;redirect_uri=" </span><span style="color: #000000">+ </span><span style="color: #2a00ff">"http://" </span><span style="color: #000000">+ </span></p>
<p><span style="color: #808080">22</span> <span style="color: #ffffff"> </span><span style="color: #000000">window.location.host + window.location.pathname + </span></p>
<p><span style="color: #808080">23</span> <span style="color: #ffffff"> </span><span style="color: #2a00ff">"&amp;amp;scope=email,read_stream,publish_stream,user_checkins,"</span><span style="color: #000000">+</span></p>
<p><span style="color: #808080">24</span> <span style="color: #ffffff"> </span><span style="color: #2a00ff">"friends_checkins,publish_checkins,offline_access,user_photos,"</span><span style="color: #000000">+</span></p>
<p><span style="color: #808080">25</span> <span style="color: #ffffff"> </span><span style="color: #2a00ff">"user_birthday,user_online_presence,friends_online_presence"</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">26</span> <span style="color: #ffffff"> </span><span style="color: #000000">window.location = graphUrl;</span></p>
<p><span style="color: #808080">27</span> <span style="color: #ffffff"> </span><span style="color: #000000">}</span></p>
<p><span style="color: #808080">28</span> <span style="color: #ffffff"> </span><span style="color: #000000">}</span></p>
<p><span style="color: #808080">29</span> <span style="color: #ffffff"> </span><span style="color: #000000">function displayUser</span><span style="color: #000000">(</span><span style="color: #000000">user</span><span style="color: #000000">) {</span></p>
<p><span style="color: #808080">30</span> <span style="color: #ffffff"> </span><span style="color: #000000">userName.innerText = user.name + </span><span style="color: #2a00ff">" " </span><span style="color: #000000">+ user.id;</span><br />
</code><code><span style="color: #808080">31</span> <span style="color: #ffffff"> </span><span style="color: #000000">}</span></code></td>
</tr>
<tr>
<td align="right"><a href="http://www.java2html.de" target="_blank">Java2htm</a></td>
</tr>
</tbody>
</table>
</div>
<h2>Check in on Facebook</h2>
<p>The following code snippet is a Java Servlet code that uses an HTTP GET method to access the https://graph.facebook.com/me/checkins endpoint. For the successful invocation we must provide a message, an access_token, the placeID of the place where the movie was watched, the friends ids they are also watching the movie and the coordinates of the check in place. Another important part on this code is the multipart/form-data mime type. This is the only content type supported by Facebook. Finally the DataOutputStream and the InputStream handles the HTTP request and response respectively.<br />
<!-- =     Further information: http://www.java2html.de     = --></p>
<div class="java">
<p><!-- end source code --></p>
<p><!-- start Java2Html link --></p>
<p><!-- end Java2Html link --></p>
<table border="2" cellspacing="0" cellpadding="3" bgcolor="#ffffff">
<tbody>
<tr><!-- start source code --></p>
<td align="left" valign="top"><code><span style="color: #808080">01</span> <span style="color: #ffffff"> </span><span style="color: #000000">String urlParameters=</span><span style="color: #2a00ff">"access_token="</span><span style="color: #000000">+access_token.replace</span><span style="color: #000000">(</span><span style="color: #2a00ff">"\n"</span><span style="color: #000000">, </span><span style="color: #2a00ff">""</span><span style="color: #000000">)</span><span style="color: #000000">+</span></p>
<p><span style="color: #808080">02</span> <span style="color: #ffffff"> </span><span style="color: #2a00ff">"&amp;amp;"</span><span style="color: #000000">+</span><span style="color: #2a00ff">"message="</span><span style="color: #000000">+</span><span style="color: #2a00ff">"I saw the \""</span><span style="color: #000000">+mov.get</span><span style="color: #000000">(</span><span style="color: #2a00ff">"original_name"</span><span style="color: #000000">)</span><span style="color: #000000">+</span><span style="color: #2a00ff">"\" movie "</span><span style="color: #000000">+</span></p>
<p><span style="color: #808080">03</span> <span style="color: #ffffff"> </span><span style="color: #000000">mov.get</span><span style="color: #000000">(</span><span style="color: #2a00ff">"trailer"</span><span style="color: #000000">)</span><span style="color: #000000">+</span><span style="color: #2a00ff">"&amp;amp;place="</span><span style="color: #000000">+pid+</span><span style="color: #2a00ff">"&amp;amp;tags="</span><span style="color: #000000">+</span></p>
<p><span style="color: #808080">04</span> <span style="color: #ffffff"> </span><span style="color: #000000">friendsStr+</span><span style="color: #2a00ff">"&amp;amp;coordinates={\"latitude\":\" "</span><span style="color: #000000">+latitude+</span><span style="color: #2a00ff">"\", \"longitude\": \""</span><span style="color: #000000">+longitude+</span><span style="color: #2a00ff">"\"}"</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">05</span> <span style="color: #ffffff"> </span><span style="color: #3f7f5f">//Create connection</span></p>
<p><span style="color: #808080">06</span> <span style="color: #ffffff"> </span><span style="color: #000000">url = </span><span style="color: #7f0055"><strong>new </strong></span><span style="color: #000000">URL</span><span style="color: #000000">(</span><span style="color: #2a00ff">"https://graph.facebook.com/me/checkins"</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">07</span> <span style="color: #ffffff"> </span><span style="color: #000000">connection = </span><span style="color: #000000">(</span><span style="color: #000000">HttpURLConnection</span><span style="color: #000000">)</span><span style="color: #000000">url.openConnection</span><span style="color: #000000">()</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">08</span> <span style="color: #ffffff"> </span><span style="color: #000000">connection.setRequestMethod</span><span style="color: #000000">(</span><span style="color: #2a00ff">"POST"</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">09</span> <span style="color: #ffffff"> </span><span style="color: #000000">connection.setRequestProperty</span><span style="color: #000000">(</span><span style="color: #2a00ff">"Content-Type"</span><span style="color: #000000">,</span><span style="color: #2a00ff">"multipart/form-data"</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">10</span> <span style="color: #ffffff"> </span><span style="color: #000000">connection.setRequestProperty</span><span style="color: #000000">(</span><span style="color: #2a00ff">"Content-Length"</span><span style="color: #000000">, </span><span style="color: #2a00ff">"" </span><span style="color: #000000">+ </span></p>
<p><span style="color: #808080">11</span> <span style="color: #ffffff"> </span><span style="color: #000000">Integer.toString</span><span style="color: #000000">(</span><span style="color: #000000">urlParameters.getBytes</span><span style="color: #000000">()</span><span style="color: #000000">.length</span><span style="color: #000000">))</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">12</span> <span style="color: #ffffff"> </span><span style="color: #000000">connection.setRequestProperty</span><span style="color: #000000">(</span><span style="color: #2a00ff">"Content-Language"</span><span style="color: #000000">, </span><span style="color: #2a00ff">"en-US"</span><span style="color: #000000">)</span><span style="color: #000000">; </span></p>
<p><span style="color: #808080">13</span> <span style="color: #ffffff"> </span><span style="color: #000000">connection.setUseCaches </span><span style="color: #000000">(</span><span style="color: #7f0055"><strong>false</strong></span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">14</span> <span style="color: #ffffff"> </span><span style="color: #000000">connection.setDoInput</span><span style="color: #000000">(</span><span style="color: #7f0055"><strong>true</strong></span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">15</span> <span style="color: #ffffff"> </span><span style="color: #000000">connection.setDoOutput</span><span style="color: #000000">(</span><span style="color: #7f0055"><strong>true</strong></span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">16</span> <span style="color: #ffffff"> </span></p>
<p><span style="color: #808080">17</span> <span style="color: #ffffff"> </span><span style="color: #3f7f5f">//Send request</span></p>
<p><span style="color: #808080">18</span> <span style="color: #ffffff"> </span><span style="color: #000000">DataOutputStream wr = </span><span style="color: #7f0055"><strong>new </strong></span><span style="color: #000000">DataOutputStream </span><span style="color: #000000">(</span><span style="color: #000000">connection.getOutputStream </span><span style="color: #000000">())</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">19</span> <span style="color: #ffffff"> </span><span style="color: #000000">wr.writeBytes </span><span style="color: #000000">(</span><span style="color: #000000">urlParameters</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">20</span> <span style="color: #ffffff"> </span><span style="color: #000000">wr.flush </span><span style="color: #000000">()</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">21</span> <span style="color: #ffffff"> </span><span style="color: #000000">wr.close </span><span style="color: #000000">()</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">22</span> <span style="color: #ffffff"> </span></p>
<p><span style="color: #808080">23</span> <span style="color: #ffffff"> </span><span style="color: #3f7f5f">//Get Response </span></p>
<p><span style="color: #808080">24</span> <span style="color: #ffffff"> </span><span style="color: #000000">InputStream is = connection.getInputStream</span><span style="color: #000000">()</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">25</span> <span style="color: #ffffff"> </span><span style="color: #000000">BufferedReader rd = </span><span style="color: #7f0055"><strong>new </strong></span><span style="color: #000000">BufferedReader</span><span style="color: #000000">(</span><span style="color: #7f0055"><strong>new </strong></span><span style="color: #000000">InputStreamReader</span><span style="color: #000000">(</span><span style="color: #000000">is</span><span style="color: #000000">))</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">26</span> <span style="color: #ffffff"> </span><span style="color: #000000">String line;</span></p>
<p><span style="color: #808080">27</span> <span style="color: #ffffff"> </span><span style="color: #000000">String responseCheckin=</span><span style="color: #2a00ff">""</span><span style="color: #000000">; </span></p>
<p><span style="color: #808080">28</span> <span style="color: #ffffff"> </span><span style="color: #7f0055"><strong>while</strong></span><span style="color: #000000">((</span><span style="color: #000000">line = rd.readLine</span><span style="color: #000000">()) </span><span style="color: #000000">!= </span><span style="color: #7f0055"><strong>null</strong></span><span style="color: #000000">) {</span></p>
<p><span style="color: #808080">29</span> <span style="color: #ffffff"> </span><span style="color: #000000">responseCheckin+=line+ </span><span style="color: #2a00ff">"\r"</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">30</span> <span style="color: #ffffff"> </span><span style="color: #000000">}</span><br />
</code><code><span style="color: #808080">31</span> <span style="color: #ffffff"> </span><span style="color: #000000">rd.close</span><span style="color: #000000">()</span><span style="color: #000000">;</span></code></td>
</tr>
<tr>
<td align="right"><a href="http://www.java2html.de" target="_blank">Java2html</a></td>
</tr>
</tbody>
</table>
</div>
<h2>Check in on twitter</h2>
<p>Twitter integrates the check in functionality on twitters (it is not a separate task like facebook). This means that the only we have to do is to make a post and provide in addition the geolocation information. In the figure below is the Java servlet code that does exactly that by employing the Scribe-Java library.<br />
<!-- =     Further information: http://www.java2html.de     = --></p>
<div class="java">
<p><!-- end source code --></p>
<p><!-- start Java2Html link --></p>
<p><!-- end Java2Html link --></p>
<table border="2" cellspacing="0" cellpadding="3" bgcolor="#ffffff">
<tbody>
<tr><!-- start source code --></p>
<td align="left" valign="top"><code><span style="color: #808080">01</span> <span style="color: #7f0055"><strong>private </strong></span><span style="color: #000000">String updateStatusOnTwitter</span><span style="color: #000000">(</span><span style="color: #000000">String accessTokena, String accessTokenb,</span></p>
<p><span style="color: #808080">02</span> <span style="color: #ffffff"> </span><span style="color: #000000">String message, String lat, String lon </span><span style="color: #000000">)</span><span style="color: #7f0055"><strong>throws </strong></span><span style="color: #000000">MalformedURLException, IOException</span><span style="color: #000000">{<br />
</span></p>
<p><span style="color: #808080">03</span> <span style="color: #ffffff"> </span><span style="color: #3f7f5f">//========================post code==================================</span></p>
<p><span style="color: #808080">04</span> <span style="color: #ffffff"> </span><span style="color: #000000">String PROTECTED_RESOURCE_URL = </span><span style="color: #2a00ff">"http://api.twitter.com/1/statuses/update.json"</span><span style="color: #000000">; </span></p>
<p><span style="color: #808080">05</span> <span style="color: #ffffff"> </span><span style="color: #000000">OAuthService service = </span><span style="color: #7f0055"><strong>new </strong></span><span style="color: #000000">ServiceBuilder</span><span style="color: #000000">()</span></p>
<p><span style="color: #808080">06</span> <span style="color: #ffffff"> </span><span style="color: #000000">.provider</span><span style="color: #000000">(</span><span style="color: #000000">TwitterApi.</span><span style="color: #7f0055"><strong>class</strong></span><span style="color: #000000">)</span></p>
<p><span style="color: #808080">07</span> <span style="color: #ffffff"> </span></p>
<p><span style="color: #808080">08</span> <span style="color: #ffffff"> </span><span style="color: #000000">.apiKey</span><span style="color: #000000">(</span><span style="color: #2a00ff">"***********************"</span><span style="color: #000000">)</span></p>
<p><span style="color: #808080">09</span> <span style="color: #ffffff"> </span><span style="color: #000000">.apiSecret</span><span style="color: #000000">(</span><span style="color: #2a00ff">"*****************************"</span><span style="color: #000000">)</span></p>
<p><span style="color: #808080">10</span> <span style="color: #ffffff"> </span><span style="color: #000000">.build</span><span style="color: #000000">()</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">11</span> <span style="color: #ffffff"> </span><span style="color: #000000">Token accessToken = </span><span style="color: #7f0055"><strong>new </strong></span><span style="color: #000000">Token</span><span style="color: #000000">(</span><span style="color: #000000">accessTokena,accessTokenb</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">12</span> <span style="color: #ffffff"> </span><span style="color: #000000">System.out.println</span><span style="color: #000000">(</span><span style="color: #2a00ff">"Got the Access Token!"</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">13</span> <span style="color: #ffffff"> </span><span style="color: #000000">System.out.println</span><span style="color: #000000">()</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">14</span> <span style="color: #ffffff"> </span></p>
<p><span style="color: #808080">15</span> <span style="color: #ffffff"> </span><span style="color: #3f7f5f">// Now let's go and ask for a protected resource!</span></p>
<p><span style="color: #808080">16</span> <span style="color: #ffffff"> </span><span style="color: #000000">System.out.println</span><span style="color: #000000">(</span><span style="color: #2a00ff">"Now we're going to access a protected resource..."</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">17</span> <span style="color: #ffffff"> </span><span style="color: #000000">OAuthRequest request = </span><span style="color: #7f0055"><strong>new </strong></span><span style="color: #000000">OAuthRequest</span><span style="color: #000000">(</span><span style="color: #000000">Verb.POST, PROTECTED_RESOURCE_URL</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">18</span> <span style="color: #ffffff"> </span><span style="color: #000000">request.addBodyParameter</span><span style="color: #000000">(</span><span style="color: #2a00ff">"status"</span><span style="color: #000000">, message</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">19</span> <span style="color: #ffffff"> </span><span style="color: #000000">request.addBodyParameter</span><span style="color: #000000">(</span><span style="color: #2a00ff">"lat"</span><span style="color: #000000">, lat</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">20</span> <span style="color: #ffffff"> </span><span style="color: #000000">request.addBodyParameter</span><span style="color: #000000">(</span><span style="color: #2a00ff">"long"</span><span style="color: #000000">, lon</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">21</span> <span style="color: #ffffff"> </span></p>
<p><span style="color: #808080">22</span> <span style="color: #ffffff"> </span><span style="color: #000000">service.signRequest</span><span style="color: #000000">(</span><span style="color: #000000">accessToken, request</span><span style="color: #000000">)</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">23</span> <span style="color: #ffffff"> </span><span style="color: #000000">Response response = request.send</span><span style="color: #000000">()</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">24</span> <span style="color: #ffffff"> </span><span style="color: #7f0055"><strong>return </strong></span><span style="color: #000000">response.getBody</span><span style="color: #000000">()</span><span style="color: #000000">;</span></p>
<p><span style="color: #808080">25</span> <span style="color: #ffffff"> </span><br />
</code><code><span style="color: #808080">26</span> <span style="color: #ffffff"> </span><span style="color: #000000">}</span></code></td>
</tr>
<tr>
<td align="right"><a href="http://www.java2html.de" target="_blank">Java2html</a></td>
</tr>
</tbody>
</table>
</div>
<p><!-- =       END of automatically generated HTML code       = --><br />
<!-- ======================================================== --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/27/hacking-social-networks-apis-the-movieit-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The MovieIT system in UML (updated)</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/27/the-movieit-system-in-uml-updated/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/27/the-movieit-system-in-uml-updated/#comments</comments>
		<pubDate>Fri, 27 May 2011 00:59:47 +0000</pubDate>
		<dc:creator>Tolias</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[Class diagram]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[use case]]></category>
		<category><![CDATA[use case diagram]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=385</guid>
		<description><![CDATA[Use case diagram Login The system requires the Facebook authentication of the user in order to function. For this reason when the user accesses the page is redirected to Facebook web page to provide his/her credentials and then, is redirected back to the main page of the application. The authentication “dance” between the client and [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/UML_Diagrams.jpg"><img class="alignleft size-medium wp-image-542" src="http://blog.soton.ac.uk/cybertube/files/2011/05/UML_Diagrams-300x225.jpg" alt="Different types fo UML document" width="180" height="135" /></a>Use case diagram</h2>
<h3>Login</h3>
<p>The system requires the Facebook authentication of the user in order to function. For this reason when the user accesses the page is redirected to Facebook web page to provide his/her credentials and then, is redirected back to the main page of the application. The authentication “dance” between the client and Facebook is shown in the following image.</p>
<p style="text-align: center">
<div id="attachment_604" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/LoginSequencediagram.png"><img class="size-medium wp-image-604 " src="http://blog.soton.ac.uk/cybertube/files/2011/05/LoginSequencediagram-300x150.png" alt="Login Sequence diagram" width="300" height="150" /></a><p class="wp-caption-text">Login Sequence diagram</p></div>
<h3>Check In</h3>
<p>In the check in use case the user selects the place he wants to check in, the movie he watched and the friends he watched the movie with. The system finds the trailer of the movie selected and posts the check in information both to Facebook and Twitter.<span id="more-385"></span></p>
<div id="attachment_444" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/CheckInSequenceDiagram.png"><img class="size-medium wp-image-444" src="http://blog.soton.ac.uk/cybertube/files/2011/05/CheckInSequenceDiagram-300x109.png" alt="Sequence diagram for the check in use case" width="300" height="109" /></a><p class="wp-caption-text">Sequence diagram for the check in use case</p></div>
<h3>Comment and rate</h3>
<p>The user selects the rate button and chooses the movie he wants to comment and rate. The system collect the information provided by the user and stores it into the database then the system updates the users Facebook and Twitter status.</p>
<div id="attachment_514" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/RateAndCommentMovie.png"><img class="size-medium wp-image-514" src="http://blog.soton.ac.uk/cybertube/files/2011/05/RateAndCommentMovie-300x191.png" alt="Rate and comment use case diagram" width="300" height="191" /></a><p class="wp-caption-text">Rate and comment use case diagram</p></div>
<h3>Suggest a movie</h3>
<p>The user presses the suggest button. The system gets from the database the movies watched by the user and provides them for selection to the user. The user then selects the movie he/she wants to suggest and then selects the one of his social friends he want to suggest the movie to. The system finds the social network that the firend(s) belong to and sends a post accordingly.</p>
<div id="attachment_535" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/SuggestAMovie.png"><img class="size-medium wp-image-535" src="http://blog.soton.ac.uk/cybertube/files/2011/05/SuggestAMovie-300x295.png" alt="Suggest a movie to a friend sequence diagram" width="300" height="295" /></a><p class="wp-caption-text">Suggest a movie to a friend sequence diagram</p></div>
<h3>Get suggestions</h3>
<p>The user presses the get recommendation button. The system uses the recommendation algorithm and returns 5 movies with the highest score.</p>
<div id="attachment_541" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/GetRecommendations.png"><img class="size-medium wp-image-541" src="http://blog.soton.ac.uk/cybertube/files/2011/05/GetRecommendations-300x145.png" alt="Get recommendation sequence diagram" width="300" height="145" /></a><p class="wp-caption-text">Get movie recommendation sequence diagram</p></div>
<h2>Class diagram</h2>
<p>Our system consists of 3 main packages. The FacebookLib handles the communication with Facebook, the TwitterLib handles the communication with Twitter and the MoviesLib package where the main functionality is provided. The Movies package consist of 2 main classes the MySQLAccess class for handling the communication with the database and the MovieIT class that acts as a controller handling the communication between the different software components.</p>
<div id="attachment_418" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/ClassDiagram1.png"><img class="size-medium wp-image-418" src="http://blog.soton.ac.uk/cybertube/files/2011/05/ClassDiagram1-300x101.png" alt="The movie it classs diagram" width="300" height="101" /></a><p class="wp-caption-text">The MovieIT system class diagram</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/27/the-movieit-system-in-uml-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MovieIt Usability Evaluation</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/26/movieit-usability-evaluation/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/26/movieit-usability-evaluation/#comments</comments>
		<pubDate>Thu, 26 May 2011 23:11:15 +0000</pubDate>
		<dc:creator>Kristina Koysina</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[proposed system]]></category>
		<category><![CDATA[usability evaluation]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=380</guid>
		<description><![CDATA[Last advances in mobile technologies and rapid spread of 3G networks engaged handsets with the Web bringing an instance access to online resources from any place and at any time. However, facilities of mobile devices are not equal to PC (lower screen resolution, performance issues, diversity in geometry of the display and buttons arrangement, etc.) [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/green4.jpg"><img class="alignleft size-full wp-image-382" src="http://blog.soton.ac.uk/cybertube/files/2011/05/green4.jpg" alt="" width="310" height="193" /></a>Last advances in mobile technologies and rapid spread of 3G networks engaged handsets with the Web bringing an instance access to online resources from any place and at any time. However, facilities of mobile devices are not equal to PC (lower screen resolution, performance issues, diversity in geometry of the display and buttons arrangement,<em> </em>etc.) what significantly spoils the user experience. Thus, building a web-based app we need to keep in mind this specific and follow usability rules. In this post we will examine MovieIt in terms of its usability comparing core system characteristics with mobile usability check lists.</p>
<p><span id="more-380"></span><br />
* For usability evaluation of our system we used &#8220;A Usability Checklist for the Usability Evaluation of Mobile Phone User Interface&#8221; proposed by Yong Gu Ji, Jun Ho Park, Cheol Lee and Myung Hwan Yun.</p>
<table border="0px" cellspacing="0">
<tbody>
<tr>
<td>
<h4>Criteria</h4>
</td>
<td>
<h4>MovieIt</h4>
</td>
</tr>
<tr>
<td><strong>Content</strong><br />
Mobile users should not be overwhelmed with the content, thus, web site has to provide just necessary information</td>
<td><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png"><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png" alt="" width="60" height="61" /></a></td>
</tr>
<tr>
<td><strong>Layout</strong><br />
The user interface must be organized purposefully, in meaningful and useful ways that put related things together and separate unrelated things based on clear, consistent models that are apparent and recognizable to others</td>
<td><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png" alt="" width="60" height="61" /></td>
</tr>
<tr>
<td><strong>Buttons, input fields and other form elements</strong><br />
Form elements should show the focus on the selection and have to be easily accessible by keyboard, accessibility tools and other input methods</td>
<td><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png" alt="" width="60" height="61" /></td>
</tr>
<tr>
<td><strong>Consistency</strong><br />
The user interface must be designed consistently</td>
<td><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png" alt="" width="60" height="61" /></td>
</tr>
<tr>
<td><strong>Visibility</strong><br />
The user interface should always keep users informed about what is going on, through appropriate feedback within reasonable time</td>
<td><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png" alt="" width="60" height="61" /></td>
</tr>
<tr>
<td><strong>Simplicity</strong><br />
Make simple, common tasks simple to do, communicate simply in the user’s own language and provide good shortcuts that are meaningfully related to longer procedures</td>
<td><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png" alt="" width="60" height="61" /></td>
</tr>
<tr>
<td><strong>Interaction support feedback</strong><br />
The user interface must keep users informed of actions or interpretations, changes of state or condition using clear, concise, and unambiguous language familiar to users</td>
<td><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png" alt="" width="60" height="61" /></td>
</tr>
<tr>
<td><strong>Error indication</strong><br />
The representation of errors must be clear to users</td>
<td><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/yellow.png"><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/yellow.png" alt="" width="60" height="59" /></a></td>
</tr>
<tr>
<td><strong>Responsiveness</strong><br />
The system must respond in an appropriate time</td>
<td><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/yellow.png" alt="" width="60" height="59" /></td>
</tr>
<tr>
<td><strong>Customizability</strong><br />
The user must be able to modify the interface in order to improve efficiency. The customizing features must be easily accessible</td>
<td><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/red.png"><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/red.png" alt="" width="59" height="61" /></a></td>
</tr>
<tr>
<td><strong>Effort</strong><br />
The user interface should be designed to minimize the user’s effort for using the system</td>
<td><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png" alt="" width="60" height="61" /></td>
</tr>
<tr>
<td><strong>Flexibility</strong><br />
The user interface must be flexible so that adapts to various environments and users</td>
<td><img src="http://blog.soton.ac.uk/cybertube/files/2011/05/green.png" alt="" width="60" height="61" /></td>
</tr>
</tbody>
</table>
<h2>Additional testing</h2>
<p>One of the major problems of User Interface for mobile phones is a diversity of screen resolutions and display geometry. Another serious issue is incompatibility of web technologies with mobile platforms and browsers (for example, not all mobile browsers support cookies).  In order to ensure that MovieIT system works properly on the most common handsets we ran a set of tests using simulators for following devices: iPhone 3G, iPhone 4,  iPad, Blackberry Playbook, Blackberry Tourch, Blackberry Bold 97200, Samsung H1 (touch), HTC Android, Nokia N8 and Nokia 97/5800 (touch). Some screenshots of tested simulators provided below.</p>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 443px"><br />
<a href="http://blog.soton.ac.uk/cybertube/files/2011/05/Blackberry-Bold.jpg"><img class="size-full wp-image-486" src="http://blog.soton.ac.uk/cybertube/files/2011/05/Blackberry-Bold.jpg" alt="Blackberry - Bold" width="433" height="719" /></a><br />
<p class="wp-caption-text">Blackberry Bold</p></div>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 438px"><br />
<a href="http://blog.soton.ac.uk/cybertube/files/2011/05/Blackberry.jpg"><img class="size-full wp-image-488" src="http://blog.soton.ac.uk/cybertube/files/2011/05/Blackberry.jpg" alt="Blackberry Touch" width="428" height="695" /></a><br />
<p class="wp-caption-text">Blackberry Touch</p></div>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 646px"><br />
<a href="http://blog.soton.ac.uk/cybertube/files/2011/05/Blackberry-Playbook.jpg"><img class="size-full wp-image-491 " src="http://blog.soton.ac.uk/cybertube/files/2011/05/Blackberry-Playbook.jpg" alt="Blackberry Playbook" width="636" height="432" /></a><br />
<p class="wp-caption-text">Blackberry Playbook</p></div>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 392px"><br />
<a href="http://blog.soton.ac.uk/cybertube/files/2011/05/1-11.png"><img class="size-full wp-image-496" src="http://blog.soton.ac.uk/cybertube/files/2011/05/1-11.png" alt="iPhone" width="382" height="724" /></a><br />
<p class="wp-caption-text">iPhone</p></div>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 679px"><br />
<a href="http://blog.soton.ac.uk/cybertube/files/2011/05/android.png"><img class="size-full wp-image-522 " src="http://blog.soton.ac.uk/cybertube/files/2011/05/android.png" alt="Android" width="669" height="615" /></a><br />
<p class="wp-caption-text">HTC Android</p></div>
<p><strong>Testing results</strong></p>
<p>Simulations revealed that MovieIt system is compatible with all major mobile platforms. Moreover, user interface is displayed properly on all tested devices.</p>
<h2>Conclusion</h2>
<p>Overall, system has shown itself successfully in the majority of usability evaluation activities. However, there are some drawback as a lack of customization, insufficient feedback in the case of the wrong input and performance issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/26/movieit-usability-evaluation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MovieIt Demo Video</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/26/movieit-demo-video/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/26/movieit-demo-video/#comments</comments>
		<pubDate>Thu, 26 May 2011 21:27:18 +0000</pubDate>
		<dc:creator>Kristina Koysina</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=407</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/38J51UXtRo0?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/38J51UXtRo0?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/26/movieit-demo-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working Demo link!</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/20/working-demo-link/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/20/working-demo-link/#comments</comments>
		<pubDate>Fri, 20 May 2011 16:56:34 +0000</pubDate>
		<dc:creator>Tolias</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=368</guid>
		<description><![CDATA[kanga-et2e10.ecs.soton.ac.uk/Movies/Auth.htm (Accessible only from ECS)]]></description>
			<content:encoded><![CDATA[<p><a title="MovieIt Demo" href="http://kanga-et2e10.ecs.soton.ac.uk/Movies/Auth.htm" target="_blank">kanga-et2e10.ecs.soton.ac.uk/Movies/Auth.htm</a> (Accessible only from ECS)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/20/working-demo-link/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MovieIt and Legal Aspects</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/17/movieit-and-legal-aspects/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/17/movieit-and-legal-aspects/#comments</comments>
		<pubDate>Tue, 17 May 2011 22:31:22 +0000</pubDate>
		<dc:creator>Kristina Koysina</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[application policy]]></category>
		<category><![CDATA[copyright infringement]]></category>
		<category><![CDATA[legal issues]]></category>
		<category><![CDATA[proposed system]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=338</guid>
		<description><![CDATA[The Web 2.0 content can be categorized as a user generated content (UGC) where anyone can say anything about anything. This decentralization of information publishing boosted even more intensive spread of WWW and attracted huge amount of people that generate millions of pages, records, images, videos and other multimedia content every day.  Along with obvious [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/3-10-2010-legal-books-hiring-lawyer-blog-iStock_000006938226XSmall.jpg"><img class="alignleft size-full wp-image-340" src="http://blog.soton.ac.uk/cybertube/files/2011/05/3-10-2010-legal-books-hiring-lawyer-blog-iStock_000006938226XSmall.jpg" alt="Legal issues" width="247" height="161" /></a>The Web 2.0 content can be categorized as a user generated content (UGC) where anyone can say anything about anything. This decentralization of information publishing boosted even more intensive spread of WWW and attracted huge amount of people that generate millions of pages, records, images, videos and other multimedia content every day.  Along with obvious advantages (diverse and rich content, availability of discussion platforms, etc.) social Web exposed some serious legal issues related to copyright infringements or publishing of false and detractive information about facts, individuals or legal entities. However, it would not be true to say that legal issues in the Web appeared with the movement to UGC model. Plagiarism and libel existed long before WWW invention but due to the decentralized nature of the Web 2.0 and a huge amount of generated content they became less controllable and, thus, more common. Another issue with a social content is that the majority of users does not consider online publishing as something serious and feel less responsible for the exposed web content. For example, the survey held by <strong>YouGov</strong> in 2008 revealed that &#8220;three quarters of Internet users who comment online realize they could be breaking the libel law&#8221;.</p>
<p><span id="more-338"></span></p>
<p><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/alert.png"><img class="alignleft size-full wp-image-343" src="http://blog.soton.ac.uk/cybertube/files/2011/05/alert.png" alt="" width="38" height="34" /></a>Considering what legal issues can be exposed by our application we should take into account that the “MovieIt” allows users to publish reviews on movies and leave comments about cinemas. Below we listed possible legal problems:</p>
<ol>
<li>Accessibility problems (According to the UK Equality Act (2010) inaccessible web content is against the law);</li>
<li>Copyright infringement (in case if user leaves a review on movie or cinema that was copied from another resource);</li>
<li>Libel (in case if user writes wittingly false information about cinemas or movies);</li>
</ol>
<h3>Risks for the CyberTube team</h3>
<ol>
<li>The law can consider application owner as a publisher or editor of the illegal content;</li>
<li> The owner of an application can be accused in inaccessible content;</li>
</ol>
<blockquote><p>If you edit or run a group of community, even if you&#8217;re not responsible for the hosting of content (such as Flickr group), then choosing not to exercise control and ignoring requests to remove defamatory or illegal content would not be a defence to any claims brought against you.</p></blockquote>
<p style="text-align: right"><strong><em>Danvers Baillieu<br />
Associate at Winston Straws</em></strong></p>
<h3>Possible solutions</h3>
<h4>Accessibility</h4>
<ol>
<li>Use of Accessibility guidelines (WCAG) and specifications (WAI-ARIA) during the design process;</li>
<li>Test application accessibility using automated tools (W3C HTML and CSS Checkers) and guides (IBM guideline, Section 508);</li>
<li>Test application accessibility against focus group of people with different sorts of disabilities;</li>
</ol>
<h4>Copyright Infringement and Libel</h4>
<ol>
<li>Have a clear complaint policy and procedure;</li>
<li>Remove any material that provokes a complaint upon the request;</li>
<li>Provide “terms and conditions of use” guidelines that state clearly what content can be considered as a plagiarism or libel  and ensure that the user was acquainted with a material;</li>
<li>Monitor the content;</li>
</ol>
<p>As it can be seen there are different ways to protect users and owners of the application from being sued for inappropriate content starting from removal of provocative materials and content monitoring and ending with more mild actions as make the user aware about his/her responsibilities and possible consequences. Considering what way is more preferable for our application we should find an optimal solution that will minimize risks and make users comfortable with our system at the same time (e.g. system should not impede free sharing of opinions and views). We are strongly perceived that a good user experience is one of the key features of our system, thus, we prefer to make users aware about their responsibilities and we exclude an opportunity of content monitoring. However, we leave the right to remove materials that provoke a compliant.</p>
<p><strong>Materials used</strong></p>
<p>1. Presentation on <a href="http://www.slideshare.net/oursocialtimes/social-media-and-the-law-4563337" target="_blank">&#8220;Is your social media marketing breaking the law?&#8221;</a> prepared by Dom Sparkes, MD.<br />
2. Robert P. Latham, Jeremy T. Brown and Carl C. Butzer, &#8220;Legal Implications of User Generated Content: YouTube, MySpace, Facebook&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/17/movieit-and-legal-aspects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s all about data!</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/12/its-all-about-data/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/12/its-all-about-data/#comments</comments>
		<pubDate>Thu, 12 May 2011 21:53:25 +0000</pubDate>
		<dc:creator>Hamid</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=449</guid>
		<description><![CDATA[Database managment is an important of the aspects of the MovieIt project. The following diagram displays the structure of our relational database, along with the conenctions between them.]]></description>
			<content:encoded><![CDATA[<p>Database managment is an important of the aspects of the MovieIt project. The following diagram displays the structure of our relational database, along with the conenctions between them.</p>
<p><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/ERPdiagram.png"><img class="aligncenter size-medium wp-image-451" src="http://blog.soton.ac.uk/cybertube/files/2011/05/ERPdiagram-300x183.png" alt="" width="300" height="183" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/12/its-all-about-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MovieIt and Economic Aspects</title>
		<link>http://blog.soton.ac.uk/cybertube/2011/05/09/economic-aspects-of-movieit/</link>
		<comments>http://blog.soton.ac.uk/cybertube/2011/05/09/economic-aspects-of-movieit/#comments</comments>
		<pubDate>Mon, 09 May 2011 16:17:48 +0000</pubDate>
		<dc:creator>foroogh</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://blog.soton.ac.uk/cybertube/?p=327</guid>
		<description><![CDATA[By increase in the amount of movies offered through the web, people require a mean to find and evaluate these many alternatives. Recommender systems are a solution to this problem. Actually, recommendation systems are emerging as an important business application with significant economic impact. Movie recommendation systems such as Netflix or our proposed system (MovieIt) [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.soton.ac.uk/cybertube/files/2011/05/economics.jpg"><img class="alignleft size-medium wp-image-358" src="http://blog.soton.ac.uk/cybertube/files/2011/05/economics-300x214.jpg" alt="" width="300" height="214" /></a></p>
<p>By increase in the amount of movies offered through the web, people require a mean to find and evaluate these many alternatives. Recommender systems are a solution to this problem. Actually, recommendation systems are emerging as an important business application with significant economic impact. Movie recommendation systems such as Netflix or our proposed system (MovieIt) recommend movies to users. In fact, recommender systems help consumers, to find out about new products, and this increases sales diversity. Providing these kinds of systems is an incentive for movie companies, because it can help them increase profits.<span id="more-327"></span></p>
<p>Some believe that the likelihood of purchasing a recommended product depends on the information provided, context and familiarity. In MovieIt recommender system, people receive recommendations from their Facebook friends. In other word, it is more likely that the recommendation they get from their friends, matches their taste. On the other hand, with MovieIt people can also rate a movie and write a comment about the movie they have seen. This means, that other than giving recommendation, some other information is also provided about those movies. This makes the process of decision for users much easier. All of this can increase the probability of purchasing a movie or going to the cinema and watching it which causes more profit for the movie company.</p>
<p>These kinds of applications can revolutionise the way we choose products. Furthermore, these types of applications can leverage the power of social interactions and use it for making more informed, more suitable and simply better decisions.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soton.ac.uk/cybertube/2011/05/09/economic-aspects-of-movieit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
