�������������������� ������������ �������������� �������� ������� �������� ���������� ������������� ���������������� �� �!������ "��#��������$ ����������%�!��������� Dennis Wittenbrink 2799684 ���������������� Applied Digital Media ����������� 1 / 2009-2010 Research Methods No Yes ��������� �������� Waseem Akhtar Assignment III - Project Proposal & Table of Contents 18 x ��� �� ���������������������������������������������������������������� "������� 25.01.2010 "������������� 25.01.2010 &�������������������� � � ��������� � �� � ���������� � �� � � � ������� � ������� � ��� � ���� � ���� � ��� � ��������� � �� � ������� � ������ � �� � �������������������������������������������������������������������������������������������������������� � ������������������������������������������������������������������������������������������������������� � ��������������������������������������������������������������������� ���������������������������������������������������������������������������������������������������� � ����������������������������������������������������������������������������������������������������� � ����������������������������������������������������������������������������������������������������� � ���������������������������������������������� 25.01.2010 �������'''''''''''''''''''''"����'''''''''''''''''''''' ��������������������� � ����� � ����������������������������� � ���� � ������������������������������������������� � �� ���������������������������������������������������� 1 Master Final Project Proposal „Facebook 3.0“ Self learning Life-Blogging Network that offers more securety for participants. Student information name Dennis Wittenbrink studentnumber 2799684 contact dwitte8410@aol. com College information subject Research Methods lecturer Waseem Akthar course Msc in Applied Digital Media college Griffith College Dublin South Circular Road, Dublin 8 2 Table of Contents 1. Introduction »»1.1 Title . . . . . . . . . 4 »»1.2 Project overview . . . . . . . . . 4 »»1.3 Motivation . . . . . . . . . 4 »»1.4 Background . . . . . . . . . 5 • 1.4.1 Social Networks (Facebook) . . . . . . . . 5 • 1.4.2 SenseCam . . . . . . . . 5 • 1.4.3 Create and order Events . . . . . . . . 6 • 1.4.4 A learning algorithm “EGIS” . . . . . . . . 6 • 1.4.5 Communication and Filesharing Clients . . . . . . . . 7 2. Project Details »»2.1 Aims and Goals . . . . . . . . . 8 »»2.2 Clientele . . . . . . . . . 8 »»2.3 Staff/Administration . . . . . . . . . 9 »»2.4 Technologies . . . . . . . . . 9 »»2.5 Methods/Breakdown . . . . . . . . . 10 • 2.5.1 Pre-Project Organisation . . . . . . . . 10 • 2.5.2 Project work-tasks . . . . . . . . 11 3. Project Plan »»3.1 Project duration and resources overview . . . . . . . . . 13 • 3.1.1 General project duration . . . . . . . . 13 • 3.1.2 Project work-task duration . . . . . . . . 13 • 3.1.3 Project work-task resources . . . . . . . . 13 »»3.2 Project-Tables and Charts . . . . . . . . . 14 • 3.2.1 Table . . . . . . . . 14 • 3.2.2 Network-Diagramm . . . . . . . . 15 • 3.2.3 GANTT-Chart . . . . . . . . 16 »»3.3 Project Conclusion . . . . . . . . . 16 4. Bibliography »»4.1 Literature . . . . . . . . . 17 »»4.2 Example Hompages . . . . . . . . . 18 3 1. Introduction 1.1 Title „Facebook 3.0“ – Self learning Life-Blogging Network that offers more securety for participants. 1.2 Project overview Social Networks such as Facebook [6, 20] connect thousands of people show them areas of possible interest and help them to make new friend or communicate with old ones [2, 6]. At the end of this project Social-networking should be pushed onto the next level: Event-based life-blogging [8, 13] without revealing your life. As curious as this may sound it should give the user the possibility to find people of common interest or common location. This happens by providing an online application that supports a database, a profile interface and the opportunity to start a private peer-to-peer conservation with someone of interest. The idea is based on images taken by a Sense-Cam and presorted into events. [D] The data, the comparison-algorithm uses to create the event on a users local device can be uploaded to the profile on “Facebook 3.0”. Also the GPS position according to an event will be saved. More on the Sense-Cam will follow in the Background/Technology section! Using the described Data a “Facebook 3.0 profile consist of not more than the participant‘s name and a set of data like string/integer arrays which do not reveal as much privacy as a usual profile on a social network does. Nevertheless this set of data becomes useful as soon as a comparator on the server finds a match with another set of data. The holders of the data are now informed and can encode the data by simply looking at their personal event. Further they will be offered the opportunities to create a peer-to-peer connection (like ICQ, Skype [21]) to get in contact. Also they have to rate if the Comparator worked well or not, what can lead to an automaticly learning algorithm (on the platform as well as for the local device). From a economic point of view this application offers the opportunity to search for employees in a certain area of interest by giving managers the opportunity to create events and also allows to do market-studies but without revealing to much information about any user. 1.3 Motivation As a participant of different Social-Networks I am concerned about many security wholes and surveillance possibilities they give to companies, hackers, state and possible employers. Although I have these concerns, on the other hand it offers a great possibility to “meet” and make friends online no matter of their location. Many people argue and discuss about benefits and worries according to social networks, including myself during my bachelor studies and master studies. [F] 4 Until today nobody has found an appropriate way to secure the social network system and it‘s users. Although there are warnings during all media [6, 7, 12] the population in social networks and blogging grows. In some extreme cases you can talk of life-blogging [8]. During a conservation about life-blogging with colleges from my University in Germany I struggled into the term “life-logging” and was told about the so called “Sense Cam” invented by Microsoft and about projects running at the Dublin City University with this piece of technology. [10, 13] The creation of an illustrated life-log was tested here for different purposes, but according to the things mentioned above (and pretending that this technology will soon be accessible for everybody, I thought of a social network solution based on the principle they are using at DCU to create Event-Linkage for a single persons Event! [3, 4, 8] Also so I considered a principle to improve the algorithm and its learning pattern by taking advantage by the use of the “intelligence of masses” in an online community that can define whether the matching was good or bad. [10] The result can be a powerful tool on which a lot of extensions (like a business version) are possible and that brings social (for those who see it like this) to what it was originally invented for: To find people with common interest and share thought with them. Once established there are ways to create communities (like chat-rooms) but still without in fact telling the world your “Identity”. [2] 1.4 Background 1.4.1 Social Networks (Facebook) In the modern world of digital media social networks such as Facebook have a huge social impact. That counts for friending and someone‘s personal life as well as for the economy. The trend goes to present your entire life on Profiles using these platforms to be part of it and be respected. [2]By following the news during all media (including the internet itself and non-digital media) concerns about the security are stated any time and the public is advised to give as less information as possible when creating a profile to ensure there personal safety and to avoid any abuses [6, 7, 12]. Nevertheless people of all ages want to socialize all during the web and use the benefits of SNS (Social Network Sites). The principle how a SNS works and grows is basicly the same. At the end you can say a kind of “crawler” like Search Engines use it [10], goes through your profile and suggests you events and people that may be of interest. The more information you‘ve published the more you get but the more “spam” you get as well! 1.4.2 SenseCam The SenseCam is a camera invented by Microsoft that records and documents somebody‘s life. It can record GPS signals, Bluetooth devices temperature and like the name suggests images. For the purposes of this project especially the images but also the GPS functions are of importance. Fundamentally the camera takes images according to the users pre-sets what could for instance be: Every time the light changes or every 40 seconds. Accordingly the images/data is saved on am internal 1GB flash drive. The format is a kind of low quality format but enough to recognize the situation 5 (consider a 600x800 pixel image as low quality) and give a satisfying result. The basic idea of this camera is to relieve the human brain from some work (according to memorization) and help to remember certain events more detailed. Further there is the idea to use this technology in the neurodege nerative area where people suffer of diseases such as Alzheimer. Apparently there are visions that memories saved and cued by the camera can automaticly connect with the internet and compare sources like YouTube or Flickr to find additional information that may help a person to draw a clearer picture of his memories. Finally the construction of the Hardware makes it realistic that the SenseCam Device can become part of everyday life. The device has less weight and the same size like a modern mobile phone, what makes it user-friendly. [5, 8, 9, 13] 1.4.3 Create and order Events At the Dublin City University (DCU) they are basicly concentrating their researches and studies on the usability of the image-function and their use. For this purpose they let the camera take a picture every 30 seconds while the test-person is wearing the camera all day long. Experiments have been performed over the last two years and countable results are there already. Because the amount of data they collect is so huge they developed an application that should sort the images into events like “way to work”, “having breakfast”. Also they applied algorithms that allow that application to link events of a similar kind such as it can recognize that you having breakfast on Monday and on Tuesday. The result is displayed in a user friendly environment, so the user can intuitively percept his life without do much thinking about it. For sorting the massive amount of data a combination of the SURF algorithm and the MPEG7sense algorithm are used to compare the images, rank them and finally categorize them. Even though this principle delivers good results there is still space to improve. [3, 4, 8] 1.4.4 A learning algorithm “EGIS” Back in 2008 my old University (Bielefeld University) accepted a software project introduced by the electronic hypermarket and franchise corporation SYNAXON to create an online JAVA-based application to compare three given data-sheets (after they have been translated into German) for a product and deliver the best matching and ranked version out of them: “EGIS-Merge”. According to this other work groups created an application to display and handle the sheets as a kind of “Wiki” for all customers: “EGIS-Touch”. The goal was to use the intelligence of masses to get the best data-sheets by letting users correct wrong information. Without going in detail I have to mention that the ranking, abuse- and benefit-system were highly self organized. An important task was the API between these two applications: Whenever something is changed in TOUCH and/or applied as correct, this information (inclusive the original source) is stored and MERGE can download this information with the next start. Using this technique MERGE was able to deliver better results because of the self trained algorithm. [M] 6 1.4.5 Communication and Filesharing Clients File-Sharing clients like “bit torrent” offer the user the possibility to download data from many sources at the same time. These sources are no particular servers but other users running the same share-client. The principle is quite easy: In order to download something you have to upload something. Further we find communication clients like ICQ, MSN, SKYPE on most computers owned by digital natives. These clients allow to establish a real time peer-to-peer connection between two or more participants and allow them to communicate. These technologies ore more the idea behind them will be helpful to implement the communication tool into the project. [14, 17] 7 2. Project Details 2.1 Aims and Goals The ultimate goal of this project is to create the prototype of a social network that organizes itself and gives a maximum of privacy to its participants without losing the ability to deliver accurate results. It also aims to keep an economic interest and should support the improvement of its own as well as the previously mentioned technologies. Finally it should offer the participants to get in direct contact to each other if they want via a peer-to-peer connection. On this way they should be able to communicate and share information according to their event without getting anybody else involved. There should still be an opportunity to leave private message so two users do not have to be online at the same time but to share more detailed information or even images from their events they finally have to build the peer to peer connection. The first prototype should be designed for a sample size of just three or for people and events just to show how it works. The amount of data the server has to hold for such an application has to be as small as possible because it is nearly impossible to save millions of images per user and then even put algorithms on it. That would probably collapse usual broadband connections. But for the reason the comparison is based on numbers and text, it is the same as comparing two strings called “location”. Every event on a users profile is already a descriptive average data the application receives from the personal events the user already has, what means that although the server is able to deliver precise (encoded) data and information about a participant the amount per profile is in fact not that huge. The application would benefit from a cooperation with the software developed at the DCU [4, 8]. If this is not possible the folder structure can be taken. The main disadvantage would be that the upload of an event would take longer because the application had to apply the algorithm on the data first to receive accurate data. Once done it works the same. 2.2 Clientele This project and the first prototype aims for those people who don‘t want to “blog” their whole life in a profile so everybody can read it ( because they are afraid companies, hackers or villains use their data and in a worst case scenario steal their identity) but still want to benefit from the fact that they can find others with same areas of interest they can share their experience with. Secondary it also aims for scientists and developers who can take advantage of the learning the application continuously performs and even use the match quote for their own statistics. Further it is a chance for them to improve their user-interfaces (because as I stated in the background section the technology has originally been invented for a more medical and private purpose). The third big group that follows once the Application is established is the economy, which can still perform market-studies and even search for employees by 8 creating events and using the GPS data. This is possible even though the user delivers less information (visible, not-encoded) than he does on actual SNS. This group is unimportant for the prototype this project will be but it has to be kept in mind because APIs [1, 16] should be planed in already as well as it may have influence on the Database design. 2.3 Staff/Administration To realize a project of this size a staff of three people is required. These have to be at least comfortable wit SQL, HTML/CSS and object-orientated programming. With less than three participants this project is not realizable. It is also necessary to elect one project-manager/administrator inside the group who is in charge if a decision is not a hundred percent clear. This is a security measure that is very helpful according to my experience. 2.4 Technologies In the folowing section I will list all required technology with a brief comment why it is needed and what it is good for. 01) Microsoft SenseCam This technology is not urgent but of course it would be very helpful for creating new “test events” for a sample size of test-persons. [4, 8, 9, 13] 02) MPEG7sense-Codec The Codec is used to compare images so the images can be sorted and in our case considered as a matching event by attributed. [4] 03) SURF-Codec As the algorithm above. But is more efficient on its own. Finally both of them together are working well together and give the best results. [4] 04) MySQL – Database MySQL Databases are the most common databases and according management systems for data management on the web. It allows to create and interact with complex databases and it is open source. (The management system as well as the language SQL). [11,15,16] 05) JAVA A powerful Object-Orientated programming language that is especially preferable for web-application at this dimension. It is a Client-Side programming language and can be used on every modern platform and operating system. The version to use will be the latest one at project start. [15, 16] 06) PHP A Server-Side programming language what is absolutely necessary for dynamic web design these days. According to this project it is not that important but it offers the opportunity to create easy dynamic navigations and login systems (comfortable communication). [11] 9 07) JSF/JSP Technology to present and realize AJAX functionality. Java Server Pages and Java Server Faces allow to implement powerful JAVA-Applications on websites. [15, 16] 08) HTML/CSS In order to design a website these technologies are required. All web technologies mentioned above are included in this setting. [10, 11, 15, 16] 09) XMPP/JABBER/SMACK These technologies offer the opportunity to build a kind of instant messaging system on Java .They provide most required classes and make it relatively easy to realize the peer-to-peer part of this project. [15, 16] 10) Netbeans/Eclipse Powerful editors for most mentioned programming languages. Also both of them have team and “re-factor” tools that make programming for more developers comfortable. An in-built an the spot compiler also recognizes many little mistakes and both offer great interfaces and bug-fixing tools. Also they allow direct access to a server where files can be stored for a whole group. As far as I have more experience with Eclipse I would prefer this editor but net beans finally has more features according to JSF/JSP. [15, 16, 19] 11) Adobe Dreamweaver I prefer Adobe Dreamweaver for web-editing because it offers nice tools like auto-complete and included FTP-Server connections. It also supports all mentioned web-programming languages. It is not meant to use the “WYSIWYG”-mode. [19] 12) Web-Server A proper web server has to be provided so it is possible to work online and create a test environment where the functions can be tested. [15, 16] 13) Computers One computer for every staff-member internet access and the possibility to run all technologies mentioned. 2.5 Methods/Breakdown In order to achieve the goal to create a working prototype of a possible Social Network Application based on events (images) and location (GPS) I will breakdown the project in 2 main parts. Every part contains certain tasks to be done. For a project of this size a precise planing is absolutely required! 2.5.1 Pre-Project Organisation This section consists of tasks that has to be finished before the actual work on the project starts. This is important because it will build the base for a final time-scheduling as you will see. 10 01) Define detailed project/application specifications This takes part in a detailed planing discussion with the supervisor. The exact functionality has to manifested and signed off to guarantee an efficient planing in Stage 2. 02) Clear APIs and Access After the functionality is defined it is absolutely necessary to ensure accessibility for the DCU Event management application. If this is not possible the algorithms has to build in differently (as described in section 2.1) . 03) Re-Defining In case something unexpected happens in task 2 another meeting with the supervisor is required. 04) Create test-events This is especially important if there is no way of cooperation with the DCU. If there is there are two possibilities: a) try to get SenseCams for test purposes from Microsoft b) Create test-Events by using sample pictures taken with usual cameras. The results finally would suffer but still show the purpose of the application 2.5.2 Project work-tasks This stage consists of tasks that take place during the project work. 01) Database planing/design According to the functionality an appropriate Database is required. This has to hold different tables and pieces of information. It is absolutely required that the database is constructed clear and with the option to extend further functionality later. 02) Program-Design Before starting to write a program it has to be planed in detail. That means URL-Diagrams and SiteMaps with detailed information about parameters, functions and objects. Also relations between each other have to be marked. 03) Setting up a Server An appropriate server has to be set up where the application with all components can run on and be tested. 04) Creating a test GUI From my experience it brings advantages if JAVA programs are run by a JAVA-GUI before including them into the final application. This is because JAVA-GUI editors can work by a Drag-and-Drop principle and allow fast testing and bug fixing. 05) Database Controller and Manager Classes These classes communicate with the database and pass data through. Consider them the communicator between the intelligence and the 11 storage. These are very mighty components that usually run with threads, because different from objects that are individual for every user these objects are considered as unique. 06) Event-Manager Because the application should use AJAX elements and also because it saves the unnecessary linkage of objects an Event-Manager class as well as one or more Listener-Classes are required. These classes can react whenever a change has been performed. 07) Individual Classes Every user should finally see his own interface with specific options. For this purpose we need several classes that build this interface by “speaking” to the managers and listening to or firing events. 08) Link Database-Functionality and Individual Classes The Database and its manager classes have to be implemented into the rest of the program to create test runs on the functionality. 09) Website-Design Because we have a rich web-application it must be presented in an appropriate way with high usability. For this goal an intuitive design with high accessibility is required. 10) Web-Programming Using certain web programming technologies (SECTION) the JAVA Classes have to be embedded into the website. Also a login-system has to be done on the website and not in the JAVA-part (from my experience this allows better results). 11) Putting it all together The application finally has to be built into the website. 12) Usability Tests The application has to go through designed usability-tests which are designed after the previous manifested application specifications. 13) Final Bug-Fixing and Presentation In case that any problems occur during the usability tests, these have to be fixed. Finally a presentation has to be created. 12 3. Project Plan 3.1 Project duration and resources overview 3.1.1 General project duration Total time: 65 (+15) days Number of Tasks: 13 (+4) [Note: The numbers in brackets are for the pre-project-organization; The number of days is calculated with 13 weeks having 5 working days of 8-10 working hours] 3.1.2 Project work-task duration [Note: Task indexes refer to section 2.5.2] Task 01: 5 days Task 02: 5 days Task 03: 2 days Task 04: 3 days Task 05: 7 days Task 06: 7 days Task 07: 28 days Task 08: 7 days Task 09: 7 days Task 10: 21 days Task 11: 7 days Task 12: 4 days Task 13: 3 days 3.1.3 Project work-task resources [Note: Task indexes refer to section 2.5.2,; Resources refer to group members: A,B,C] Task 01: A Task 02: B Task 03: C Task 04: C Task 05: A Task 06: A Task 07: B+A Task 08: A+B Task 09: C Task 10: C Task 11: A Task 12: B Task 13: C 13 3.2 Project-Tables and Charts 3.2.1 Table Task 01 02 03 04 05 06 07 7.1 7.2 08 09 10 11 12 13 Duration (days) Resources Proceeding task 5 5 2 3 7 7 14 14 7 7 21 7 4 3 A B C C A A B A+B A+B C C A+B+C A+B+C A+B+C 03 01 05 02 06 07 04 09 08,10 11 12 14 3.2.2 Network-Diagramm Resource: A 5 days 01 7 days 03 02 5 days 2 days 3 days 05 14 days 7 days Resource: C 04 07.1 Resource: B 06 14 days 7 days 09 21 days 10 07.2 08 7 days Resource: A+B Resource: A+B+C 7 days 13 3 days 11 12 4 days 15 3.2.3 GANTT-Chart Day 5 10 15 20 25 30 35 40 45 50 55 60 65 01 02 03 04 05 06 Task 07.1 07.2 08 09 10 11 12 13 3.3 Project Conclusion As the tables and charts describe there are just 48 days used. This is because of two things: 1) If for some reason somebody can‘t keep to the given due date there is still some space. 2) At least 5 days I would plan in for a final documentation and paper including a professional printing. Further the charts reveal that Person C has less days during the working process. This is also a security measure to assist with other tasks or for instance prepare Task 12 in advance. The Network diagram is just a simplified version that helped to create the GANTT-Chart and organize the sources and tasks. A detailed version can just be done after the final Project-Specifications are clear (see: 2.5.1) It is a tight plan that forces a good planing and a working group to realize it. 16 4. Bibliography 4.1 Literature [Note: All entries are ordered alphabetically referring to the author‘s Surname] [1] Joshua Bloch, How to Design a Good API and Why it Matters, http://static.scribd.com/docs/908bil5xonqxe.pdf, 2006 (last checked: 23.01.2010) [2] Orla Butler, Digital Media and Society, 2009 Griffith College Dublin (Lecture and Slights) [3] Daragh Byrne, Hyowon Lee, Gareth J. F. Jones, Alan F. Smeaton, Guidelines for the Presentation and Visualisation of LifeLog Content, Centre for Digital Video Processing CLARITY: Centre for Sensor Web Technologies, Dublin City University, 2008 [4] Aiden R. Doherty, Ciarán Ó Conaire, Michael Blighe, Alan F. Smeaton, and Noel E. O’Connor, Combining Image Descriptors to Effectively Retrieve Events from Visual Lifelogs, Centre for Digital Video Processing and CLARITY: Centre for Sensor Web Technologies Dublin City University, 2008 [5] Aiden R. Doherty and Alan F. Smeaton, Utilising Wearable Sensor Technology to Provide Effective Memory Cues, http://doras.dcu.ie/2264/1/ERCIM_News_Article.pdf, 2009 (last checked: 23.01.210) [6] Nicole B. Ellison, Charles Steinfield, Cliff Lampe, The Benefits of Facebook „Friends:“ Social Capital and College Students‘ Use of Online Social Network Sites, Department of Telecommunication, Information Studies, and Media Michigan State University, 2007 (http://jcmc.indiana.edu/vol12/issue4/ellison.html ; last check: 23.01.2010) [7] Fox News, Social-Networking Sites Pose Huge Security Risk, Say Experts, News Corporation , 2008 (http://www.foxnews.com/story/0,2933,353121,00.html ; last check: 23.01.2010) [8] James May, Big Ideas – Sense Cam, BBC TV & Dublin City University, 2008 (http://www.youtube.com/watch?v=Moxqfeg8daI&feature=related; last check: 23.01.2010) [9] Microsoft Research, Introduction to SenseCam, http://research.microsoft.com/en-us/um/cambridge/projects/sensecam/ (last check on: 23.01.2010) [10] Ruairi Murphy, Internet Authoring, Griffith College Dublin, 2009 (Lecture and Slights) [11] Ruairi Murphy, Internetprogramming & Databases, Griffith College Dublin, 2009 (Lecture and slights) 17 [12] Michael Pelz, Sarah Becker, Medienrecht und Medieninformatik, Bielefeld University, 2010 [13] Michael Pelz, Lifelogs, Bielefeld University, 2010 [14] Janko Röttgers , Internetanbieter bremst Tauschbörsen aus, FOCUSonline, 2008 (http://www.focus.de/digital/internet/kabel-deutschland_aid_264070.html; last check on 23.01.2010) [15] Wachsmuth, Tscherepanow, Techniken der Projektentwicklung, Bielefeld University, 2008 [16] Wachsmuth, Stößel, Softwaremodellierung mit UML, Projektanalyse & -präsentation, Bielefeld University, 2007/2008 [17] Wikipedia, File sharing, http://en.wikipedia.org/wiki/File_sharing (last check: 23.01.2010) [Note: Also this is wikipedia I quote this source because it is very descriptive for file sharing. It also give a lot of references for protocols and other parts, after checking these links I dare to state that this information gives a valid overview] [18] Dennis Wittenbrink, Medien in Schulen, Bielefeld University & Ev. Stitftisches Gymnasium Gütersloh, 2009 4.2 Example Hompages [19] Editor Hompages: http://netbeans.org/, http://www.eclipse.org, http://www.adobe.com/products/dreamweaver (all last checked: 23.01.2010) [20] Examples of Social Networks: http://www.facebook.com, http://www.myspace.com (last checked: 23.01.2010) [21] Examples of peer-to-peer communication- and share-clients: http://www.icq.com/icq7.html ; http://www.skype.com/intl/en/ http://www.bittorrent.com/ (all pages last checked on 23.01.2010) 18