2 OVERVIEW With this project, a Web-application is created and expanded taking advantage of the existing infrastructure of the Social Network Site Facebook with the aim of improving communication among users. My objective has been to profit of the most important existing users data base of the World Wide Web, the social network site Facebook, to make users information gathering and collect data which in a future would be available for any type of statistics. Many multinational companies as Zara or Coca-Cola need to make marketing studies before launching a new product to characterize for each country an approximate anticipation of sales. The application developed in this project is centered on the mood of the users, and can reveal some other personal information as user location or favorite colors, any type of user information which can be really precious for marketing companies. Amongst others, the technologies that have been used are: HTML, the marking-up language in which web pages are written. PHP5, a scripting language that is especially suited for web development and can be embedded into HTML. JavaScript, mainly used to improve the management between the client/server interface. FBML, the Facebook Markup Language. The following objectives of the implementation have been met, thus guaranteeing: Taking advantage of the free Internet web and Facebook infrastructure without having to acquire any type of hardware device. Integrating a classic Web-application with its structure in the Facebook Platform. The application being available to any user on the Social Network Facebook. Improving the communication between Facebook users. Interpreting the results obtained from the data gathering of all activeusers which executed the application.

3 INDEX TITLE: CREATION, DISTRIBUTION AND SOCIAL DATA GATHERING BY AN APPLICATION ON FACEBOOK CHAPTER 1: INTRODUCTION MOTIVATION MAIN GOALS PLANNING OF THE PROJECT METHODOLOGY OF THE WORK TEMPORAL DIVISION... 2 CHAPTER 2: PROJECT PRESENTATION WHAT IS SOCIAL NETWORKING Definition The limits of the social networks FACEBOOK Presentation of Social Network Site Facebook The Facebook Platform The API FBML, Facebook Markup Language XFBML, an extension to FBML FBJS, Facebook Java Script CHAPTER 3: TECHNOLOGIES LANGUAGES HTML HTML History Core principles JavaScript (See Appendix) What is JavaScript? History of JavaScript What is it used for? (See APPENDIX) PHP What is PHP? History of PHP Evolution of the PHP versions What is it used for? TOOLS Filezilla Client PsPad... 20

5 INDEX OF FIGURES Fig. 1.1 Temporal division of the project... 3 Fig. 2.2 Picture of the idea of Social Networking... 4 Fig. 2.3 Screenshot of user information page Fig. 2.4 Screenshot of user Home page Fig. 2.5 The Facebook Platform Fig. 2.6 FBML request Fig. 3.7 How PHP works Fig. 3.8 Screenshot of Filezilla window Fig. 3.9 Screenshot of PSPad window Fig Screenshot of Microsoft Excel window Fig Template for the acceptation of the Developer application* Fig Chronogram of the application Fig Inviting user to login Facebook Fig Allowing API access to user profile Fig Welcoming application page Fig Result application page Fig Basic architecture of the application Fig Programming architecture Fig Facebook Platform client libraries package Fig Integrating the application in the Facebook Platform Fig Verifying the user login Fig Catching user information Fig Calculating the number of user friends Fig Including the number of visitors by calling countlectura.php Fig Form of 4 questions Fig Forcing user to fill all the questions Fig Calculating the result Fig Personalizing the result Fig Sharing the result on the user Wall Fig Allowing the user to access the application profile Fig Capture of countlectura.php Fig Capture of count.php Fig Capture of the count.txt file Fig Managing the permission access to count.txt Fig Statistics of all the users Mood Result Fig Statistics of users male Mood Result Fig Number of user friends of user who add the application after at least one friends Fig Log/log Fig Number of Friends VS number of users Fig log(number of friend ) VS log(number of user) Fig Scheme of sustainable development... 47

6 INDEX OF TABLES Table 5.1 Result mood statistics depending on the users gender Table 5.2 Result mood statistics depending on users location Table 5.3 Number of user who add the application after at least one friends Table 5.5 Number of user friends Table 5.6 Estimation of #user corresponding to #friends

7 Using social networking to expand an application MOTIVATION CHAPTER 1: INTRODUCTION Why this project? To begin with, I was working as an intern in a Spanish engineering and systems integration company in Barcelona, and it was a really interesting environment to develop my final project within my department. That year, the company was in need of lot of trainees, and who came first would have more chances to get assigned to a project. In spite of the nature of the company operations, I could not make my final project in the firm. So I decided to contact an investigator of the UPC and ex-professor in the master I m actually completing. As I met Juan Carlos Aguado Chao, he was working on different projects in connection with the subject of Social Networking. He suggested me to try this subject to begin and see what I could find interesting to develop. I accepted right away and began to investigate. After a - too much- long time of prospecting I decided to base my research on the most important Social Network Site, Facebook. Facebook has the most relevant social website for the past five years, so it is really easy to find information and there is plenty of documentation about it. Also another important Facebook characteristic motivated me, the Facebook Platform. This is one of the most important political changes of Facebook and it has accelerated its growth considerably. The concept of Facebook Platform allows anybody with minimum skills in programming to participate in the development of new applications in Facebook. I liked the idea to create a little application on Facebook for two reasons. First of all, I needed to consolidate my knowledge in programming. I was coming from an educational background more centered on electronics systems, and I was not specialized in any programming language. In another words, it was a good challenge to build an application which all people in Facebook could enjoy for a personal use and profit the world biggest world profile data base to base my Master final project. 1.2 MAIN GOALS The main goal of the project work is to develop a web application open to any user of the Social Network Site Facebook from a given infrastructure which supports the network web site, the Facebook Platform. The application has to distract users in Facebook to get a minimum of success and expand itself in the social network site without means of any advertisment. In a first conception, it is a free tool. However, another application goal is to extract data from the user profiles in order to interpret it and make statistics. For example, the marketing division of Zara wants to launch a new collection of jacket in Spain. They want to know the preferred colors for a jacket in Spain, to control the production of an approximated amount of colorized jackets. User personal information can be exploited to develop any type of statistics. A basic application developed in Facebook can extract user personal information very useful to base a marketing research.

8 Using social networking to expand an application PLANNING OF THE PROJECT The proposal of the project planning starts from 4 phases: Phase 1: A first meeting is scheduled with the director of the project, Juan Carlos Aguado Chao to define the subject and make decisions for the direction to take in the first phase of documentation and information. The subject of Social Networking is chosen and the study begins. Phase 2: Focus on the social network site Facebook. Definition of general idea and goals for the Web-application. Study of the Facebook Platform characteristics and how to create a Web-application to integrate it on. Choice of the PHP Language for the Webapplication realized. Phase 3: Choice of the web hosting and Web-application development. Creation of the application on Facebook. Programming the application in PHP with the Facebook Platform tools and languages. Phase 4: Collect the user personal data and push up some interesting interpretation and statistics result. Conclusion of the work and definition of future enhancements. 1.4 METHODOLOGY OF THE WORK During the 6 months of length of the process I have carried out a series of tasks depending on the situation I found myself in, and some of them have been more appropriate than others. I have to point out that, before this 6-month period, I had dedicated some time to the study of the Social Networking in general and the various programming languages used. And this period of time which is not counted in here, is equally or more important than the later 6 months, since without great part of the knowledge acquired, it would have been very difficult for me to undertake the tasks I have carried out. 1.5 TEMPORAL DIVISION The different phases described in the planning are exposed in the calendar of the project.

9 Using social networking to expand an application Fig. 1.1 Temporal division of the project

10 Using social networking to expand an application 4 CHAPTER 2: PROJECT PRESENTATION 2.1 WHAT IS SOCIAL NETWORKING The exponential growth of the Internet and particularly the new concepts called Web 2.0 and Web 3.0 generate many new Web applications. In the beginning of 2010, according to Alexa The Web Information Company, Facebook, Microsoft Network (MSN) and MySpace appeared in the Top 20 of world-wide Internet traffic. These applications allow creating profiles, messages, forums, forming a circle of friends, and finding partners, job or other business partners to be related to on the Web. This type of Internet applications forms what we are used to call online social networks: places dedicated to the communication of knowledge, the meeting of new people or the construction of professional relationships. They all have a similar operation: create a profile (personal information, photos, and hobbies or skills) and invite friends or "partners" to be linked together. According to the ideal version of the creators of these social networks, each new contact that accepts an invitation increases the network of contacts. Users who just arrived register their contacts as well and so on until the entire world is connected. But generally, most of the users do not invite anybody, but look for familiars which are already part of the network, mainly individuals that know themselves by interposed Internet. Friends, "virtual" contacts! Fig. 2.2 Picture of the idea of Social Networking

11 Using social networking to expand an application Definition The first serious studies about social networking put forward the theory of 6 degrees of separation. In 1967, the American sociologist Stanley Milgram conducted the small world experiment examining the average path length for social networks of people in the United States. But a current objective of the new Internet-based social networks could be to regroup some usual Website applications on the same social Network Site. By the same way it gives the possibility for the user to be to the reached only by one click of any application he or she is using regularly. For the social network site it means to secure its users. Why to register in a social network site? First of all, by curiosity and because it is in vogue. Other reasons are more idealistic and to be able to make contact with the whole world is not the last one of the causes. Finally some are materialistic: to obtain benefit from the contacts of a friend (the friends of my friends always are my friends in the social networks ), to find somebody in his virtual relations who have the answers to the questions that we are considering Generally, social networks allow users to meet old friends and get in contact with some missing persons. But mainly, for an important part of the Internet users, social networks allow to manage their virtual reputation. In addition, some social networks make the persons who meets more people (the one that get more contacts) look more important. That implies on the other hand the reflection: The more people he or she knows, the more important he or she is, therefore I have to add him or her to my contacts, if I am somebody. Some people register with the intention to improve their ego: to become someone more important. An amused case very probable would be people who knew their next door neighbor in these social networks, instead of talking with him or her in the stairs. One of the interesting uses of these networks in professional way is contracting. If you do not have a profile, run to register. LinkedIn, the leader in business social networking, give the possibilities of its network for the following interesting points: Manage the information that s publicly available about you as professional Find and be introduced to potential clients, service providers, and subject recommended experts Create and collaborate on projects, gather data, share files and solve problems Be found for business opportunities and find potential partners Gain new insights from discussions with likeminded professionals in private group settings Discover inside connections that can help you land jobs and close deals Post and distribute job listings to find the best talent for your company For marketing use, social networks constitute an alternate mechanism of data processing within the market. The postulate is that it makes possible for information to arrive at the desired individuals with the greatest economy of means (compared to a diffusion generalized of the whole information to all the actors). Social networks play the part of filter. They are the means which allow most quickly reaching the points furthest away from the network, and to saturate a network as well as possible. In that way, social networks can be seen as a channel of distribution based on the cooperative filtrate. There are many more possibilities on this context

12 Using social networking to expand an application 6 Another example of successful use of social network sites, is in politics. In USA the last presidential campaign strategy was both inspired by and run on sites of virtual communities like Facebook and MySpace. One of the four founders of Facebook, graduated in Harvard, Chris Hughes (24 years) leaved the company two years ago, to join the team of Obama campaign. Mark Penn, ex-adviser of Hillary Clinton, indicated to the New York Times that the followers of Obama seemed to belong to the Facebook world, and Hughes was satisfied. In spite of the undisputed means to campaign can still be the television, now Internet makes possible for the candidates communicate with more people and faster. Joseph Mercury, political consultant and president of National Political Services with headquarters in New York explains why the democrats obtained advantages from the use of the last technology. The campaign of Obama was sophisticated, comparing it with McCain: his people could open a site of Facebook easily and there were hundreds of volunteers who did this every day, up to a million. Several types of social networks exist, and they can be grouped within 3 categories, according to their openness: Open networks Networks to invitation (it is necessary to be invited by one of his members) Professional services in line of networking (they favour the professional encounter, the supplies of position and the search of profiles) And on the other hand, a specialized classification of social networks sites might define 7 categories according to their goals: The social network sites of business and jobs The social network sites of young people The Private social network sites (by invitation) The specialized social network sites: video, images The communitarian and thematic social network sites The social network sites numerical identity like Ziki and MyBlogLog The social network sites micro: microblogging, microvideo, etc A basic and interesting definition of a social network is: A map of the relationships between individuals, indicating the ways in which they are connected through various social familiarities ranging from casual acquaintance to close familial bonds. I In the Internet, each social network site develops its own definition to attract users to register. An example is with music360, a social network site whose objective is to gather the members together around specific subjects. II Yahoo, protagonist in social networks with Yahoo!360 until last summer because it closed its services on July , described the social network like a quite ample

13 Using social networking to expand an application 7 term that designates Internet sites that help users to create their own Internet profile and to share a part of its favorite contents, including photography, video and music. III LinkedIn is an interconnected network of experienced professionals from around the world, representing 170 industries and 200 countries IV With LinkedIn, Members can create customizable profiles that detail employment history, business accomplishments, and other professional accolades. These definitions are applied to the spirit of the interested social networks correctly. But what is in common between a list of friends published on Facebook or Yahoo!360 (social networks in leisure activity), a place of professional contacts like LinkedIn (social network in businesses) and a social network numerical identity like Ziki or MyBlogLog? As the Web 2.0 concept, the definition of a social networking could be multiplied proportionally to the number of specificities of these networks. Basically, to characterize social network sites these 3 essentials points are sufficient: An user profile An investigation among users A way to put in contact users on the Web The limits of the social networks Although the social networks are the ideal place to interact with other Internet users, it is important to know they represent a real danger: cases of of identity thefts and cheating are common in social networks and can generate potentials damages. A social network is able to define a numerical identity for users and the question that has to be considered is: What is the real use of the registered data in these networks? In true life, personal, familiar, professional, friendly, institutional circles of a human being can come together and complement each others in order to define his identity. And consequently, according to the circle in which we were, we may not share the same information and we may behave differently in front of the members of distinct circles. Nowadays, social network sites do not propose filtering possibilities that would allow to structure and specialize the social network according to the acquaintance circles. The confidence issue is also a concern. The Internet users who register in a social network really do not feel closer to another member of the same network than a perfect stranger, just think that they might improve the quality of the mutual exchanges. It is a trader speech In effect, algorithms of confidence and anonymity are discussed. How can be sure the friend of one contact is really his friend? Each social networking web site has its own rules and restrictions on the types of members who can join. Some websites have age restrictions, country restrictions or restrictions based on the level of interest in a particular topic. With any social networking web site however, there are a number of dangers that exist.

14 Using social networking to expand an application 8 Paedophiles and Child Abuse. Adults seeking children for their own sexual gratification may be lurking in social networking web sites, pretending to be other children. Online relationship may be formed which could lead to real life meetings. Personal Information. Children may be able to post identifiable personal information in profiles, chat rooms or blogs thus putting them at risk. Time Wasting / Internet Addiction. Children and teenagers may spend hours online modifying their profiles and communicating with others. Other tasks, such as homework, may suffer as a result. No Age Verification. Many social networking web sites do not have age verification technologies in place, so people of all ages could be members, even if it is against the terms and conditions of joining. Cyber Bullying and Flaming. Many web sites let you rate another member s profile. This fact opens the opportunity up for cyber bullying and nasty comments to be made. Negative comments can also appear in discussion groups and blogs. 2.2 FACEBOOK Presentation of Social Network Site Facebook The own overview of Facebook is more implicit and a little more affected than others Social Networking Site: Facebook's mission is to give people the power to share and make the world more open and connected. Millions of people use Facebook everyday to keep up with friends, upload an unlimited number of photos, share links and videos, and learn more about the people they meet. V Facebook is a global Networking Social website and intended to gather close or unknown people on its website. Since 2010, the website has more than 400 millions active users worldwide VI. It is the 2nd site, after Google, more visited in the world according to Alexa Internet VII. Facebook was born in Harvard in 2004: it was the closed social network only for student of this university before to become accessible to the rest of American universities and its name was Thefacebook.com. The verification of the user identity was simply by the of the student. Since 2006, the website is open to everyone. A January 2009 Compete.com study ranked Facebook as the most used social network by worldwide monthly active users, followed by MySpace VIII. The site has gone from a few Ivy League students looking to locate friends to a major marketing and social networking tool for junior high, high school and college students as well as young professionals, businessmen, and industry powerhouses. Further expansions included adding a marketplace and allowing users to upload photos. Currently, Facebook is the most popular site to upload photos on the web. Facebook was also opened to companies and other individuals unaffiliated with schools. The site now also contains a dating or personals service and has a whole network available to marketers interested in hosting pages or ads on the site as well as a system of collecting analytics from users to help these marketers.

15 Using social networking to expand an application 9 Like any web application of social networking, Facebook allows its users to enter personal information and interact with other users. Information that can be placed at the disposal of the network is civil status, studies, hobbies and interests. Fig. 2.3 Screenshot of user information page. The most important step, once the user has created the corresponding profile, is to connect with friends, colleagues or contacts to build his or her personal social network. Facebook enables users to have a list of friends and to join different groups or private networks like high school or company. The interactivity of Facebook is one the point which makes it grow considerably. Each user shares indirectly his activity on the network (status, participation in a group, uploading photos, wall messages, applications used ) to all the friends and contact he made in Facebook. This activity appears in the wall of the user profile, and in the Home page (Live feed) of each contact in the network. It is possible and sometimes necessary to filter all this information. More the user has Facebook friends (or contacts) more information he will have on the wall.

16 Using social networking to expand an application 10 Fig. 2.4 Screenshot of user Home page The Facebook Platform Facebook launched the Facebook Platform on May 24, 2007, providing a framework for software developers to create applications that interact with core Facebook features IX. Facebook Platform (including Facebook Connect, canvas page and desktop applications, Share, and other services) is a set of APIs and tools that enables thirdparty applications and websites to access content on behalf of Facebook users. Since the inception of Facebook Platform, the goal has been to allow any developer to build more social application that give people the power to share activities on the website.

17 Using social networking to expand an application 11 Fig. 2.5 The Facebook Platform The Facebook Platform comprises a number of core components, including: The API. FBML, Facebook Markup Language XFBML, an extension to FBML FQL, Facebook Query Language FBJS, Facebook JavaScript The API The API consists of a number of methods that let the developers-users add social context to their applications. Facebook uses a system of communication that they denominate REST-interface, something similar to a server SOAP with XML, but with its particularities. In other words, from applications requests routes HTTP are send to Facebook API REST server and will execute the methods that are solicited (or it will send the properties to the application server) and it will give the answer also via HTTP. Nearly any computer language can be used to communicate over HTTP with the REST server. Example of API methods: users.getstandardinfo : to get the user info that he share with anybody friends.get : to get the list of user friends. feed.publishuseraction : to publish the actions in the user wall stream.publish : an other way to publish something on the user wall. users.hasapppermission: to know if the user allows the application to get his personal information.

18 Using social networking to expand an application FBML, Facebook Markup Language FBML (Facebook Markup Language) enables the developers-users to build full integrated applications in the surroundings of Facebook. It allows action like acceding to the profile of the users, profile action, showing his photos, Facebook Canvas. Fig. 2.6 FBML request It is partly based on a subgroup of HTML instructions for some visual aspects, but over the years, it has been growing with more and more instructions than allow to interact with the data stored in Facebook. Even so, it continues being a language of marks and to develop an application for Facebook it is necessary to get the support of another complete programming language like PHP. FBML can be used completely in the applications, but also it is possible to use a reduced set of Facebook instructions, like it happens with the messages intern Facebook application, the pages of company within Facebook, the wall, etc. Using Facebook Connect the language of marks is the XFBML, it is very similarity, but with many less tags (at least until now). A high-level technical spec for FBML is shown at FBMLspec, and Allowed FBML and HTML Tags shows which HTML and FBML tags can be used in applications, such as canvas pages, , or Feed stories. Developers can define new FBML tags using Custom Tags, and also use in their application custom tags that other developers created. To see the list of public tags from other developers, they can visit the Custom Tags Directory XFBML, an extension to FBML Facebook uses XFBML as a way for you to incorporate FBML (Facebook Markup Language, an extension to HTML) into an HTML page on a Facebook Connect site or an iframe application. At this time, many of tags supported are very similar to existing FBML tags. There are a number of ways in which developers can use Facebook Connect to provide more social context on their own sites, and reflect (on Facebook) the social actions users take on their sites. Some examples include: Discover which users connected friends on the site are also their Facebook friends.

19 Using social networking to expand an application 13 Allowing users to see what their connected friends are doing on the site. Incorporate Facebook social context like a user's status with the experience on your site. Incorporate content from the site on Facebook have the users add an application tab or box to their profile listing their recent activity. Publish social actions taken on the site to Facebook when a user writes a review on your site (or buys something, or uploads a video), create a News Feed story about it on Facebook FBJS, Facebook JavaScript FBJS is Facebook's solution for developers who want to use JavaScript in their Facebook applications. FBJS is built to empower developers with all the functionality they need, and to protect users' privacy at the same time. Most providers who allow developers to embed JavaScript within their domain force developers to use iframes to sandbox their code. Facebook has taken a different approach to this problem. JavaScript that you give us gets parsed, and any identifiers (function and variable names) get prepended with your application ID. For example, the following code block: function foo(bar) { var obj = {property: bar}; return obj.property; } becomes: function a12345_foo(a12345_bar) { var a12345_obj = {property: a12345_bar}; return a12345_obj.property; } This creates a virtual scope for every application that runs within Facebook. From there, certain functionality is exposed through a collection of JavaScript objects that allow modifying the content on Facebook. Objects are made to mimic the functionality of JavaScript as closely as possible, but it may take some getting used to for people who are already adept with JavaScript.

20 Using social networking to expand an application 14 CHAPTER 3: TECHNOLOGIES In this project, an application is developed and integrated on the Facebook Site. The chapter 2 is dedicated to present the Facebook technologies used to incorporate the application in the Platform. This chapter speaks about the technologies used like the programming language and the tools used for the application development and the analysis of results. 3.1 LANGUAGES HTML HTML History HTML is the marking-up language by means of which webpages are written. Thanks to the Internet and the web browsers, it has become one of the most popular existing formats for the drawing up of documents. It consists of a structured hypertext language, that allows to have a reference to other text documents by means of links called hyperlinks. This text is composed of tags which indicate us where the document elements start and where they end. A hypertext document is not only made up of text, it can also include images, sound, etc. Therefore, its result can be considered as a multimedia document. Thus, HTML, gives the authors of the pages that have been created, the necessary tools to: Publish documents online with headers, texts, tables, pictures... Obtain information online by means of hypertext links. Design forms that allow us to register, make reservations, etc. HTML was originally developed by Tim Berners-Lee. In the mid nineties, the enlarging of HTML started to achieve the desired presentation, but always from the different developers' perspective, who ended up with different non-standard solutions for different browsers. HTML 2.0 was developed to encode what was common practice at the end of In 1993, HTML+ and HTML 3.0 in 1995, proposed more enriched versions of HTML. Even though an agreement has not been reached regarding the discussions over the standards, these drafts led to the adoption of a number of new features. The efforts of the HTML Working Group of the World Wide Web Consortium to encode the common practice, culminated in HTML 3.2 which was approved in January This new standard included enhancements provided by the Internet Explorer and Netscape Navigator browsers which had already carried out some extensions of the HTML 2.0 standard. Each of the HTML versions tried to reflect an increasingly greater consensus among the industry s spokesmen, so the investments the contents providers had made were

21 Using social networking to expand an application 15 not depreciated and so the documents stopped being readable in the short term. In December 1997 the HTML 4.0 standard was approved, which developed the HTML language with mechanisms by the style sheets, scripts executions, frames, as well as improved support for the text from right to left and mixed directions, richer tables and better forms. Besides it provided accessibility improvements for disabled people. Finally in September 2001 the 4.01 standard was approved after a revision of the HTML 4.0 which amended errors and at the same time included some changes of the former revision Core principles Browsers have the function of interpreting the HTML code of the documents and show the users the resulting web pages of the interpreted code. Every page of HTML must have some beginning and ending tags, which define a webpage and without which a Web on HTML does not make any sense. <html> </html> They are the tags which indicate the beginning and end of the web page respectively. <head> </head> They are the tags which indicate the beginning and end of the webpage header. <body> </body> They are the tags that indicate the beginning and end of the webpage body. The rest of information and tags we have used in our intranet will be explained later on another section. Core tags of a webpage: <html> <head>... </head> <body>... </body> </html> JavaScript (See Appendix) What is JavaScript? JavaScript is an object-oriented scripting language based on the prototype concept, developed by Netscape Communications Corporation, and resulted in the ECMAScript standard. It s mainly known by its use on web pages, but it s also used on other applications. Disregarding its name, JavaScript does not come from the Java programming

22 Using social networking to expand an application 16 language, but both of them share a similar syntax inspired by the C language. The name JavaScript is a trademark by Sun Microsystems. JavaScript, like Java or VRML, is one of the multiple ways that have come up to extend the capacities of the HTML language History of JavaScript At the same period of time, Sun Microsystems launched the JAVA programming language (originally called Oak), which quickly gained popularity, and for only commercial reasons its name changed into JavaScript. The version 1.0 appeared with the 2.0 of the same company browser and it was later on incorporated in the iexplorer 3.0 by Microsoft. Few times later appear VBScript (Visual Basic Script) by Microsoft, which is its direct competitor What is it used for? (See APPENDIX) PHP What is PHP? PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. An example: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <title>example</title> </head> <body> <?php echo "Hi, I'm a PHP script!";?> </body> </html> Instead of lots of commands to output HTML (as seen in C or Perl), PHP pages contain HTML with embedded code that does "something" (in this case, output "Hi, I'm a PHP script!"). The PHP code is enclosed in special start and end processing instructions <?php and?> that allow you to jump into and out of "PHP mode."

23 Using social networking to expand an application 17 What distinguishes PHP from something like client-side JavaScript is that the code is executed on the server, generating HTML which is then sent to the client. The client would receive the results of running that script, but would not know what the underlying code was. A web server can be configured to process all the HTML files with PHP, and then Users will not know about it. The best things in using PHP are that it is simple for a newcomer, but offers many advanced features for a professional programmer allowing starting writing simple scripts in a few hours. Fig. 3.7 How PHP works History of PHP PHP took over from an older language called PHP/FI. PHP/FI was created by Rasmus Lerdorf, in It was initially a library of scripts Perl, used to note the accesses to his CV on line. He gave the name of Personal Home Page Tools to this library. As he added new functionalities, Rasmus transformed the library into an implementation out of C, able to communicate with the databases, and to create dynamic and simple applications for the Web. Then Rasmus decided to publish his code, in order to everyone can use it and benefit from it, with the result of many contributions and improvements of the code. PHP/FI, which means Personal Home Page/Forms Interpreter, included several basic functionalities still today with variables similar to Perl, an automatic system of interpretation of the variables of forms, and a syntax which is integrated easily in

24 Using social networking to expand an application 18 HTML. Syntax as well was similar to Perl but more limited. It was simple and a little incoherent. In 1997, PHP/FI 2.0, the second version in language C, already had an estimated audience of several thousands users in the world, and approximately domain name indicated with PHP installed. It represented approximately 1% of domain names on the Internet. Even if the number of contributors was important, PHP was still the project of only one man PHP/FI 2.0 was officially published in November 1997, after had been passed the essence of its life in beta release. Few times later, a version alpha of PHP 3.0 was published Evolution of the PHP versions PHP 3.0: It was the first version of the language such as we currently know. It was created by Andi Gutmans and Zeev Suraski in 1997 in the form of complete rewriting of PHP/FI. Notable improvements were its capacities of extension, a support of syntax object, and a syntax of more robust, coherent language and a modular API. It was published in June 1998 after 9 months of tests with the new name PHP: Preprocessor hypertext. PHP 4.0: Leaning on new engine, called Zend Engine (combination of the names of Zeev and Andi) PHP 4.0, improved by a large number of new functionalities, was officially published in May 2000, almost 2 years after its predecessor. Besides performances definitely higher, PHP 4.0 brought the support of many Web servers, sessions HTTP, the bufferisation of exit, an increased the safety of information visitors and several new structures of language. PHP 5.0: Published in July 2004 after a long development and several preversions. It is managed by its engine, Zend Engine 2.0 with a new model and dozens of new functionalities What is it used for? PHP is a general-purpose scripting language that is especially suited for web development. PHP generally runs on a web server. Any PHP code in a requested file is executed by the PHP runtime, usually to create dynamic web page content. It can also be used for command-line scripting and client-side GUI applications. PHP can be deployed on most web servers, many operating systems and platforms, and can be used with many relational database management systems. It is available free of charge, and the PHP Group provides the complete source code for users to build, customize and extend for their own use. PHP primarily acts as a filter, taking input from a file or stream containing text and/or PHP instructions and outputs another stream of data; most commonly the output will be HTML. Since PHP 4, the PHP parser compiles input to produce bytecode for processing by the Zend Engine, giving improved performance over its interpreter predecessor. Originally designed to create dynamic web pages, PHP now focuses mainly on serverside scripting, and it is similar to other server-side scripting languages that provide dynamic content from a web server to a client, such as Microsoft's Active Server

25 Using social networking to expand an application 19 Pages, Sun Microsystems' JavaServer Pages, and mod_perl. PHP has also attracted the development of many frameworks that provide building blocks and a design structure to promote rapid application development (RAD). The LAMP and WAMP architectures have become popular in the web industry as a way of deploying web applications. PHP is commonly used as the P in this bundle alongside Linux, Apache and MySQL, although the P may also refer to Python or Perl. As of April 2007, over 20 million Internet domains were hosted on servers with PHP installed, and mod_php was recorded as the most popular Apache module. Significant websites are written in PHP including the user-facing portion of Facebook, Wikipedia (MediaWiki), Yahoo!, MyYearbook, Digg, Joomla, WordPress, YouTube, Drupal and Tagged. 3.2 TOOLS The tools used are quite basic at first sight, but they have small features which make programming task easier. Program development using a text editor looks like going more slowly than with a web editor such as PSPad. In order to be directly connected by FTP to the server data base it is really effective to use a free cross platform FTP as Filezilla client. Finally an easy way to present and interpret the final result and statistics of the application is the classic Microsoft Excel Filezilla Client FileZilla Client is a fast and reliable cross-platform FTP, FTPS and SFTP client with lots of useful features and an intuitive graphical user interface. FileZilla includes a site manager to store all the connection details and logins as well as an Explorer style interface that shows the local and remote folders and can be customized independently. FileZilla offers support for firewalls and proxy connections as well as SSL and Kerberos GSS security.

26 Using social networking to expand an application 20 Fig. 3.8 Screenshot of Filezilla window PsPad PSPad is a freeware programmer's editor for Microsoft Windows operating systems, useful for people who work with various programming environments like highlighted syntax in their source code. PSPad need a small tool with simple controls and the capabilities of a mighty code editor and wants to save time - PSPad offers rich text formatting functions. Pspad need tool what offer user extension capabilities and want to save money and still have the functionality of professional products because it is free for commercial and government purposes too.

27 Using social networking to expand an application 21 Fig. 3.9 Screenshot of PSPad window Microsoft Word Excel Microsoft Excel (full name Microsoft Office Excel) is a spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables and a macro programming language called VBA (Visual Basic for Applications). It has been the most widely used spreadsheet application available for these platforms since version 5 in Excel is part of Microsoft Office. Thanks to Excel, the data gathering by the application is easily ordered and can be shown by group with the function of filters. It has been a great tool at the time to make statistics from the results collected.

28 Using social networking to expand an application 22 Fig Screenshot of Microsoft Excel window

29 Using social networking to expand an application 23 CHAPTER 4: APPLICATION DEVELOPMENT 4.1 FACEBOOK APPLICATION REQUIREMENTS The application realized in this project corresponds to a simple web-based application but with the particularity to be implanted on the Facebook Platform. Therefore it is important first and foremost to have a look on the Facebook Platform requirements suggested by the social network site. The selection of hosting is an important point and it will be decisive at the time to test and run the application. On the other hand, it is necessary to rate the application resources needed to choose the web hosting corresponding. It will be a decisive point at the time to test and run the application Create an application in Facebook Install the Facebook developer application The first thing necessary to create an application is a Facebook account with the Facebook developer application installed. All content added to Facebook is an application. This little tool will allow developer-users to generate their application profile and get an API key proper to the application. Fig Template for the acceptation of the Developer application* *Any application in Facebook, as Developer application or the one created in this project, have to pass by this checking. If the users do not allow the application to access their personal profile information, the application can not be executed. It is one of the most important rules of the Facebook Privacy Policy. But at the same time, it is important to know that certain categories of information such as profile name, profile photo, list of friends and pages user is a fan of, gender, geographic region, and networks user belong to are considered publicly available to everyone, including Facebook-enhanced applications, and therefore do not have privacy settings.

30 Using social networking to expand an application Create the Facebook application This step only corresponds to click on the create application link in the Facebook Developer application home. Once it is done the application ID, the Public API key and the Secret key are generated for the new application. There are the following: Application ID: API Key: e6fd0eb4e4f4512e810dae59fa5c4aeb Secret: fea0be92ff0c2379c3682de66570b Fill in the application details This step is the definition of the following application settings: Basics Application Name: Mood State o Basic info as short description, icon, language, developers o Contact info as developers and user support o User-Facing URS: (it is the bookmark URL, each user can see it) Authentification o Authentification settings: installable to users and developers o Authentication Callback URLs: hosting server address Canvas o Canvas Page URL, in this case it is the same than the bookmark URL o Canvas Callback URL: the posting server name. o Canvas setting: FBML (see paragraph ) Hosting requirement (See Appendix) 4.2 APPLICATION STRUCTURE This section defines the application goals and characteristics and presents the architecture of the programming architecture. Then the various functions of the Facebook application are assigned to each component of this architecture after to present it Application goals and functions The main goals of the Facebook application Mood State are the following: To integrate the Mood State application to the Facebook platform To estimate the actual state of mood of the user of the application in Facebook and to share it with his friends if he wants. To save the user personal data on a text file in the hosting server in order to take it advantage for example in statistics studies.

31 Using social networking to expand an application 25 Around these three main objectives, there are some more characteristics and functions which make the application more personalized and interactive to the Facebook user: To verify the user login. To display the Facebook user information, like name, status, number of friends. Others personal user information are captured but are not edited in the client application page. To count and to edit the actual number of visitors who have been done the test. To display a form. To force the user to answer to all the questions before requesting the result. To calculate the user test result by compiling the form answers and to present it personalized (pictures and text which depend on the result). To allow the user to share the result with a friend by posting it on the Wall. At the same time, it allows to invite user friends to try the application. To allow the user to go to the application profile by clicking on the picture result. These functions are presented in a chronologic aspect respecting to the client activity on the application. It introduces the chronogram of the application. (See Fig. 4.12) This chronogram represents all the possible steps realized by the application, from the client first request to the exit of the application. At any time client can abort the application. If he or she aborts before requesting the result, this visit will not be taken into account and no profile information will be saved in the application.

32 Using social networking to expand an application 26 User application User logged No Yes Display the application personalized to the user Call the login User answer Save Did the user answer all questions? Yes No Calculate result Display template to allow publish Display result No Yes Does the User want to publish the result? No Yes Click on the picture Call the profile Page Publish on the wall Fig Chronogram of the application Anatomy of the application in Facebook An application in Facebook has a complex basic structure. This task is a Facebook intern responsibility implicating any application integrated to the Facebook platform. It has the function to present to the user a standard presentation for all Facebook application and others details concerning Facebook communications. Facebook does not allow any type of modifications to this basic structure. Following the various step of the chronogram, we present all the application pages corresponding. When requesting the application the user has to be logged in, if not, he or she is redirected to the Facebook login page shown in the Fig 4.13.

33 Using social networking to expand an application 27 Fig Inviting user to login Facebook Once the identification of the Facebook user is done, there is an API privacy setting control. The user has to allow API to access to his or her profile information to be able to execute the application. Fig Allowing API access to user profile Then the first application page can be display (See Fig 4.15). We can observe some information of the Facebook user displayed by the application: Profile Name Status Number of Visitors Number of user friends Below, a form of 4 questions is displaying in order to determine an approximation of the user Mood State. It can be observed as well the bottom Show your Mood which is the pass to the result page in case the user fills in the whole questionnaire.

34 Using social networking to expand an application 28 Fig Welcoming application page If the user fills in all the form and submits it, he gets his result on the following page. Picture and text are corresponding to the answers of the form. Fig Result application page

35 Using social networking to expand an application 29 At the same moment a window pops to ask if the user wants to publish or not his or her result on the wall, to share it with friends and contacts. By clicking on the result picture the user can access the application profile where he could interact with other user, become a fan or know the application description, statistics and characteristics Basic application Architecture FBML or IFrame? When an application is created, it necessary to choose between FBML or IFrame as the default for your application's canvas pages. The method opted is FBML for the following reasons: FBML lets quickly start building an application from scratch, without an expert skills on it. FBML gives easy access to lots of Facebook elements. FBML is likely to be faster on first page loads. FBML has fewer moving parts and the typical example is closer to the traditional Web. FBML lets the application pages to have the URLs desired. FBML has a sensible user authorization mechanism Programming solution: PHP The solution chosen for programming the application is the PHP language, with HTML involved to get the structure of the application page, also FBML and FBJS to access and use the Facebook Platform utilities (API). The solution of FBML canvas pages is straightforward. PHP is chosen because is an easier way to program a little application. With its evolution (PHP3.0, PHP4.0, and PHP5.0 used) the syntax became simplified and it makes it quicker the programming development. It is a language well used in the web development, therefore there is a lot of help and similar case studied to gain time in resolving problems. For the test phases, the compilation in the hosting server facilitates the programming or syntax errors resolution Description of the basic architecture When a client makes a request to the application on Facebook, in turn the server of Facebook requests the application hosting server and gets the PHP file compiled. The Facebook server executes the FBML and FBJS commands and creates the application page to serve it to the client.

36 Using social networking to expand an application 30 Hosting API call & response Request the PHP page compiled in the hosting server Mood State Create the application page resulted Execute the FBML, FBJS commands help with the API to get the user info. Send the Facebbok application with all the user parameters Request the Facebbok application Client Fig Basic architecture of the application 4.3 APPLICATION PROGRAMMING ARCHITECTURE The solution designed for the application programming architecture is composed by 5 elements. The first is provided by Facebook and is a simple folder corresponding to the Facebook Platform core elements. The 4 other elements are the own application programming file and are index.php, count.php countlecture.php and count.txt.

37 Using social networking to expand an application 31 Facebook Platform index.php API, FBML, FBJS include include include countlectura.php count.php Read Read & write Contain the user information extracted count.txt Fig Programming architecture The PHP file index.php is the coordinator of the whole architecture. First of all it calls the facebook.php file which contains the Facebook platform client class provides by Facebook. Then it calls the countlectura.php which its only functionality is to read in the beginning of the count.txt file last line to get the actual number of visitors (at the time of the client request). Finally, it calls the count.php to add a visitor and at the same time to save the personal user information in the count.txt file Facebook Platform client libraries In accordance with the PHP solution the application needs the official Facebook PHP Client Library package. It contains three main element, client, footprint and php4client directories. The client directory contains these core components: facebookapi_php5_restlib.php contains the implementation of the methods that constitute the client library. facebook.php contains a class that can be used by the web client application. facebook_desktop.php contains a class that can be used by the desktop client application. Not used in this project.

38 Using social networking to expand an application 32 The footprints directory contains code for a sample application called "footprints. It is not implemented in this project. The php4client directory contains similar components for PHP4. In this project we use the youngest version, PHP5. Fig Facebook Platform client libraries package This 3 core components define the Facebook Platform utilities for the application use. There are created by Facebook and the social network site prohibits any type of modifications by a third part. It is not necessary to know precisely its content but it is interesting to have a look on the class used to quickly understand how it works; the application main file calls Facebook class in facebook.php file and then itself call the facebook_php5_restlib.php to get the Facebook method needed. The 3 core components of the client directory include theses functions To integrate the Mood State application to the Facebook platform To find the Facebook user information name like status, number of friends with the help of the API Index.php The PHP file index.php is one of the 3 own and the main file of the application. It coordinates all the client activity by means of calls to the other core element of the application programming. It includes all these functionalities:

39 Using social networking to expand an application To integrate the application to the Facebook platform The following PHP command lines integrate the application to the Facebook Platform: Fig Integrating the application in the Facebook Platform As it can be observed in the Fig. 4.20, index.php calls the facebook.php file to get the Facebook classes used to carry out some functionalities of the application. The second line corresponds to the API call. A variable $facebook is created with the Facebook function within the respecting values: o API key: this key identifies the Mood State application to Facebook. o Application secret key: Facebook uses this key to authenticate the requests the application makes. It is a personal key for the developer. This command line generates a Facebook window before enter the application only for client who requests the application for the first time. With this step the client can execute the Mood State application if he accepts to allow the API (the application) to access to his profile information. Any Facebook application has to pass through this step. 2. To verify the user login. To verify the user login, there is a FBML tag used as shown in Fig. 4.21: Fig Verifying the user login This line allows redirecting the client who requested the application to the login page if he is not logged in Facebook at the time of the request. require_login() returns the user's unique ID which we will store in $user_id php variable. 3. To display the Facebook user information, like name, status, The following line code permit to catch any user information as necessary.

40 Using social networking to expand an application 34 Fig Catching user information This information has been chosen from a list of arguments, which are corresponding to the user information visible by friends. But Facebook allows users to adjust the degree of visibility of his profile information. If the users hide some personal information to third-party (not in his friends list) the user_getinfo()funcion returns an empty result element. 4. Calculating the number of friends. The following paragraph is a solution to get the number of user friends: Fig Calculating the number of user friends The friends_get() function gives an array with all the user friends. Then the loop foreach() allows counting the variable in this array. 5. Editing the number of visitors which has been done the test. Fig Including the number of visitors by calling countlectura.php

41 Using social networking to expand an application 35 The function include() allows using the PHP variable $Totalvisitas to edit the number of visitors at the moment of the clients request. This php variable is created in the countlectura.php file (see below ). 6. To display a form. Fig Form of 4 questions This form presents four questions to the user. Three are input type= radio. A radio field represents a Boolean choice. A set of radio fields with the same name represents a one-of-many choice. At any time only one button of a Radio button group can be ON, and only the selected radio item should be submitted. If none of the radio buttons in a group are ever selected, the name/value pair should not be submitted. (See next paragraph) 7. To force user to fill all the questions before obtaining his result This functionality results from the characteristic of the form. If user does not fill all the questions, he is invited to complete the form. A new form page is requested with the user last answer saved. The PHP command used is the following:

42 Using social networking to expand an application 36 Fig Forcing user to fill all the questions 8. To calculate user test result The user test result is calculated by compiling the form answers. It gives a percentage which corresponds to the user mood state. From each question it results punctuation and the result is divided by the total of point and displayed to the user. 0 to 33.33% Bad Mood to 66.67% Normal Mood to 100% Good Mood Fig Calculating the result 9. Presenting a personalized user result Once the user result calculated, picture and text corresponding are edited in the final page. As well, in the Facebook window used to share the result. (See next paragraph)

43 Using social networking to expand an application 37 Fig Personalizing the result The part of the code showed Fig process an eventual user result superior to 50%. 10. Allowing user sharing the result In order to share the application with his friend, the user can post the result on the Wall. This functionality is provided by a Facebook JavaScript command which creates a window pop-up to the user application. Once the user publishes it on the wall all his or her friends can discover and run the application. The command used is shown on the following figure. Fig Sharing the result on the user Wall

44 Using social networking to expand an application 38 As it can be observed on the Fig 4.29, All the FBJS command is integrated on the PHP code thanks to the command <<EOT [FBJS o JS] EOT;. It is used as well to put the PHP variable $result into a JS variable. The FBJS function Facebook.showFeedDialog() has seven parameters which permit to configure the presentation of the window pop up that appears to the user in the result page. template_id: number used for template identification. template_data: Can contain images, flash or mp3 body_general: text who appears in the pops-ups windows continuation: function not used in the application user_message_prompt: question to invite the user to type a message user_message: as it says. 11. Allowing the user to access the application profile By a simple HTML command the user is redirect to the application profile if he clicks on the picture result. (See Fig 4.30) Fig Allowing the user to access the application profile The command <href = > allows to insert a link to the application profile. Of course the value id corresponds to the application ID. The action-redirect is automatically affected to the picture insert on the command <img src = > Countlectura.php The only function of this PHP file is to read the text file count.txt and to create a PHP variable to use it in the master file index.php in order to edit the number of visitors. (See Fig 4.31) Fig Capture of countlectura.php

45 Using social networking to expand an application 39 From the moment this file has been included in index.php, all of its variables can be used without need of any new definitions in the main PHP file. The server compiles a value of the variable, instantaneously given by countlectura.php. The variable $cabrir contains the text file opened by the function fopen()in a r read only mode. Going down well, the instruction while allows to point on the End Of the File (function feof()) in order to get only the last line of the text file. By exploring the last line of the text file, the countlectura.php creates an array $ccontador and grab some part of the last line as groups of text separated by ;. This array can be use to separate the data in PHP variables able to be used in the main PHP file Count.php The functionalities of count.php are the followings: To increment the number of visits each time a user valid the form. It does not count the number of visits of the application page but only users who requested and got his result. To create a PHP variable which contains the date and all the user detail information desired, as name, number of friends, birthday date, resulting mood, gender, affiliation It can be modified or completed for any special used. To save the user information in the text file count.txt Fig Capture of count.php

46 Using social networking to expand an application Incrementing the number of visits As countlectura.php this PHP file extract the number of visits from count.txt in a PHP variable and incrementes it simply by the command $ctotalvisitas++. (See Fig 4.32) 2. Creating PHP variable The count.php inserts all the new user information relative to his session in the PHP variable $cguardar: Date Name Birthday date Number of friends Result mood Gender Affiliation (any other info the developer desires) All the user info coming from the index.php file, is available depending of the user privacy setting. On the other hand, it might have a lot of user info details delivered in blank just because user does not fill all his Facebook profile information. 3. Saving the user information After opening again the text file, the whole text is insert in a PHP variable called $OldData with a fixed length A. A new variable is created containing the user info recently saved added to the old data. The new count.txt file is created by the function fwrite) with a fixed length B (B>A) Count.txt The count.txt file contains all the user information who execute the application until the final (complete the form and get the result). The count.txt is a series of lines (see Fig 4.33). Each one contains the user info concerning his session separated by ;. Fig Capture of the count.txt file

47 Using social networking to expand an application 41 The file count.php has the function to read and to write in, and the file countlectura only can read it. In order to allow this action in the hosting server, a specified parameter of the file has to be set in the hosting server. The Chmod is a C command which allows managing the access permission of named file. In this project a performing cross-platform FTP client is used to manage the hosting server file and it allows to easily change the value of this parameter for specified files or directories. (See the Fig 4.34) The value 777 gives all permission to a file or folder, for any third-party. Fig Managing the permission access to count.txt

Search Engine Optimization Glossary A ALT Text/Tag or Attribute: A description of an image in your site's HTML. Unlike humans, search engines read only the ALT text of images, not the images themselves.

Social Media Monitoring: Engage121 User s Guide Engage121 is a comprehensive social media management application. The best way to build and manage your community of interest is by engaging with each person

Glossary of Web Design Terms A Accessibility A website's ability to be used by people with disabilities, including visually impaired visitors, hearing impaired visitors, color blind people, or those with

WEB SERVER Andri Mirzal, PhD N28-439-03 Web server Web server can refer to either the hardware or the software that helps to deliver web content that can be accessed through the Internet The most common

Chapter 1 Getting to Know Your Team Site In This Chapter Requesting a new team site and opening it in the browser Participating in a team site Changing your team site s home page One of the fundamental

INTRODUCTION : Web Development Techniques (Optional) This is one of the three optional courses designed for Semester 3 of the Bachelor of Information Technology Degree program. This course on web development

Web Development News, Tips and Tutorials In this section I will try to explain what we could and how we maybe helpful for your company and online business. The purpose of this site is to show what we had

Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice. Before installing and using the product, please review the readme files,

INTRODUCTION Web Development Techniques (Optional) This is one of the three optional courses designed for Semester 3 of the Bachelor of Information Technology Degree program. This course on web development

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql 1 About WEB DEVELOPMENT Among web professionals, "web development" refers to the design aspects of building web sites. Web development

Intro to Web Development For this assignment you will be using the KompoZer program because it free to use, and we wanted to keep the costs of this course down. You may be familiar with other webpage editing

Client-Side Dynamic Web Page Generation CGI, PHP, JSP, and ASP scripts solve the problem of handling forms and interactions with databases on the server. They can all accept incoming information from forms,

1 1. Manage your Group 1. Log on to the CampusGroups platform. 2. Upon logging in, select your club from the Groups drop-down (next to the Home icon) and click on the Manage button next to the group of

Lesson Overview Getting Started Learning Web Design: Chapter 1 and Chapter 2 What is the Internet? History of the Internet Anatomy of a Web Page What is the Web Made Of? Careers in Web Development Web-Related

Accessing Websites Mac/PC Compatibility: QuickStart Guide for Business 2 Accessing Websites QuickStart Guide for Business The Basics People use the web for research, entertainment, and business. And it

Online Reputation Management Services Potential customers change purchase decisions when they see bad reviews, posts and comments online which can spread in various channels such as in search engine results

Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of

Introduction to Dreamweaver ASSIGNMENT After reading the following introduction, read pages DW1 DW24 in your textbook Adobe Dreamweaver CS6. Be sure to read through the objectives at the beginning of Web

Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided

Thin@ System Architecture V3.2 Last Update: August 2015 Introduction http://www.thinetsolution.com Welcome to Thin@ System Architecture manual! Modern business applications are available to end users as

Introduction to Web Analytics Terms N10014 Introduction N40002 This glossary provides definitions for common web analytics terms and discusses their use in Unica Web Analytics. The definitions are arranged

E-Commerce Infrastructure II: the World Wide Web The Internet and the World Wide Web are two separate but related things Oct 15, 2004 www.dcs.bbk.ac.uk/~gmagoulas/teaching.html 1 Outline The Internet and

BeeSocial M A R K E T I N G Create A Buzz About Your Business Social Media Marketing Bee Social Marketing is part of Genacom, Inc. www.genacom.com What is Social Media Marketing? Social Media Marketing

MadCap Software Dashboard Admin Guide Pulse Copyright 2014 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document

IBM Unica emessage Version 8 Release 6 February 13, 2015 User's Guide Note Before using this information and the product it supports, read the information in Notices on page 403. This edition applies to

UKWDA Training: CIW Web Design Series Web Design Specialist Course Description CIW Web Design Specialist is for those who want to develop the skills to specialise in website design and builds upon existing

Request for Proposal (RFP) Toolkit A Message from the CEO Hi, this is Ryan Flannagan, founder and CEO of Nuanced Media. Thanks for downloading the RFP Toolkit. My team and I are excited that you ve decided

Above the fold: It refers to the section of a web page that is visible to a visitor without the need to scroll down. Access: It is the ability to see what you are trying to view (e.g. you can see a friend

Social Media for Business and Professional Use An Introduction to Queens Library s Presence on Today s Most Popular Online Communities Why Should My Company Care About Social Media? It s a global phenomenon:

Xerox econcierge Account Setup Guide Xerox econcierge Account Setup Guide The free Xerox econcierge service provides the quickest, easiest way for your customers to order printer supplies for all their

1 The Environment and the Tools Web Design, 4 th Edition Chapter Objectives Describe the Internet and the World Wide Web Discuss ways to access the Internet and the Web Categorize types of Web sites Identify

Load testing with WAPT Cloud Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. 2007-2015 SoftLogica

Building Library Website using Drupal Building the Library Web Site "The Web is quickly becoming the world's fastest growing repository of data." [Tim Berners-Lee, W3C director and creator of the World

IMPLEMENTATION GUIDE API Service More Power to You May 2008 For more information, please contact support@zedo.com Implementation Guide ZEDO API Service Disclaimer This Implementation Guide is for informational

How to Start Growing Your Business Online The Basics of Promoting and Marketing Online Revision v1.0 Website Services and Web Consulting Where do you see your business? We see it in the cloud How to Start

Book 1 - Drupal Basics By Karl Binder, The Adhere Creative Ltd. 2010. This handbook was written by Karl Binder from The Adhere Creative Ltd as a beginners user guide to using a Drupal built website. It

CONNECTING TO DEPARTMENT OF COMPUTER SCIENCE SERVERS BOTH FROM ON AND OFF CAMPUS USING TUNNELING, PuTTY, AND VNC Client Utilities DNS name: turing.cs.montclair.edu -This server is the Departmental Server

Title here INTERACTIVE SERVICES CAPABILITIES PRESENTATION 1 There is no Community, without Communication. There is no Society, without Social Interaction. We are thought leaders in the interactive space,

Quick Start Guide Installation and Setup Introduction Velaro s live help and survey management system provides an exciting new way to engage your customers and website visitors. While adding any new technology

WEB SITE DEVELOPMENT WORKSHEET Thank you for considering Xymmetrix for your web development needs. The following materials will help us evaluate the size and scope of your project. We appreciate you taking

Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice. Before installing and using the product, please review the readme files,

Working With Your FTP Site Welcome to your FTP Site! The UnlimitedFTP (UFTP) software will allow you to run from any web page using Netscape, Internet Explorer, Opera, Mozilla or Safari browsers. It can

WebEx Remote Support User s Guide Version 6.5 Copyright WebEx Communications, Inc. reserves the right to make changes in the information contained in this publication without prior notice. The reader should

Case study: IBM s Journey to Becoming a Social Business Rowan Hetherington, IBM, September 2012 Introduction The corporate world is in the midst of an important transformation: it is witnessing a significant