Kinh Doanh - Tiếp Thị - Kinh tế - Quản lý - Công nghệ thông tin Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering Göteborg, Sweden, April 2013 Social Network Services as development platform An industrial case study Master of Science Thesis in Software Engineering and Management Programme NAMRATA MUKHERJEE HUI ZHOU brought to you by COREView metadata, citation and similar papers at core.ac.uk provided by Göteborgs universitets publikationer - e-publicering och e-arkiv 2 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that heshe is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that heshe has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Social Network Services as development platform An industrial case study NAMRATA MUKHERJEE, HUI ZHOU NAMRATA. MUKHERJEE, April 2013 HUI. ZHOU, April 2013 Examiner: MIROSLAW STARON Supervisor: AGNETA NILSSON University of Gothenburg Chalmers University of Technology Department of Computer Science and Engineering SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Cover: 5 Ways to Use Social Networking to Meet People in Your Niche Provided by WHITEC0DE. Department of Computer Science and Engineering Göteborg, Sweden April 2013 3 4 Abstract In recent years online social networking services like Facebook and Twitter have become increasingly popular with a large number of active users. The introduction of developer platforms like the Facebook Developer Platform encourages developers to develop and integrate third party applications on the huge user base of these services. The role and use of the information generated by these social network services and applications is not yet well understood in software engineering although they influence software development practices. In this thesis, we investigated the feasibility of developing corporate solutions on social network services. We used Facebook to develop an application for Commute Greener (Volvo IT) using its open API for traffic data. Further interviews were conducted targeting product owners and developers at Volvo. Based on the outcomes of the study eight key themes, which determine the benefits, risks and limitations of such social network based applications are presented and discussed. Volvo IT grants to Chalmers University of Technology and University of Gothenburg the non- exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. Keywords: Social Media; Social Network; Social Network Services; Web 2.0; Commute Greener; Facebook 5 To our families and our friends whose love and support is the reason behind our every achievement. 6 Acknowledgement We are grateful to our supervisor Agneta Nilsson for her continuous support and constructive comments which have contributed considerably to our work. Without her assistance we would not have been able to accomplish the thesis. Special thanks to Magnus Kuschel Holmqvist who first inspired the topic of this paper via his inspiring idea of a social network based corporate applications. We also want to show our gratitude to Henrik Willford, solution manager Commute Greener for being our supervisor at Volvo IT throughout the study. This paper is the result of our two-year MSc Software Engineering program at the University of Gothenburg. We would like to thank the school administration for their kind support. Although we relied on many individuals to develop our thesis, we take complete responsibility for its contents. 7 Table of Contents 1. Introduction ............................................................................................................................ 9 2. Related Work........................................................................................................................ 10 2.1 Background...........................................................................................................................10 2.2 Social Network Studies ........................................................................................................11 2.3 Social Network Platform ......................................................................................................15 2.3.1 Facebook Platform Core Components ..................................................................... 15 2.3.2 Facebook Platform Application Architecture .......................................................... 17 2.3.3 Choosing Between an FBML and IFrame Canvas .................................................. 19 3. Case Study............................................................................................................................ 20 3.1Volvo IT and Commute Greener ...........................................................................................20 3.2 Commute Greener - A value-driven Investment towards sustainable development ............20 3.3 New Trends and shift to Social networking site...................................................................22 3.4 Development of CommuteGreenerIT...................................................................................22 3.4.1 CommuteGreenerIT ................................................................................................. 22 3.4.2 Commuting Pattern API........................................................................................... 25 3.4.3 CommuteGreenerIT Configuration.......................................................................... 26 4. Method ................................................................................................................................. 28 4.1 Design Research ...................................................................................................................28 4.2 Data Collection .....................................................................................................................28 4.3 Data Analysis........................................................................................................................29 5. Results Discussion ........................................................................................................... 30 5.1 User Base..............................................................................................................................30 5.2 Social features.......................................................................................................................31 5.3 Application design ................................................................................................................32 5.4 Testing ..................................................................................................................................33 5.5 Analytics ...............................................................................................................................33 5.6 Maintenance..........................................................................................................................34 5.7 Security and Confidentiality.................................................................................................35 5.8 Brand Reputation..................................................................................................................36 7. Conclusion............................................................................................................................ 37 References ................................................................................................................................ 38 8 List of Figures and Tables Figure 1: Facebook Platform Building Blocks, (2012) ............................................................ 16 Figure 2: Workflow for displaying an FBML application canvas page (Maver et al. 2009)... 18 Figure 3: Workflow for displaying an IFrame application canvas page (Maver et al. 2009) .. 18 Figure 4: CommuteGreener Progress (Commute Greener, 2012)............................................ 21 Figure 5: CommuteGreenerIT (Facebook Developer Platform, 2012) .................................... 23 Figure 6: CommuteGreenerIT (Facebook Developer Platform, 2012) .................................... 24 Figure 7: CommuteGreenerIT (Facebook Developer Platform, 2012) .................................... 25 Figure 8: Facebook Developers App Setting Page for CommuteGreenerIT ........................... 26 Figure 9: Facebook Developer Platform’s Architecture Used by CommuteGreenIT.............. 27 Table 1: API Request Message Arguments (TrafikLab, 2012)................................................ 25 9 1. Introduction Popular social network services have recently opened their doors to developers across the world to create social applications by leveraging their underlying social graphs referred to as "the global mapping of everybody and how they''''re related" (Wikipedia a). For example Facebook announced the Facebook Developer Platform on May 24, 2007 enabling third party developers to launch and expose their engaging social applications using Facebook’s library of open source APIs. The introduction of these third-party applications has led to even higher traffic on Facebook. It grew to more than 800,000 developers around the world building applications for Facebook Platform (Wikipedia b). Facebook kept on gaining a huge number of users and has become increasingly popular with more than 955 million active users as of June 2012 (Wikipedia d). The platforms are still evolving and hence subjected to regular upgrades. With this popularity and increasing number of applications being developed on social network platforms, it becomes important for product managers, developers and testers in a software company to know about the benefits and risks of application development against these regularly updating platforms. Social network services have an inherent viral property meaning that the applications’ user base can undergo exponential growth bringing about quick spread of information similar to real-world social networks (Nazir et al., 2008). Business today is focused on content sharing and social marketing. Several companies are using these social network services to support the creation of brand communities (Muniz, Guinn, 2001) exploiting their viral spread. Companies never before had this kind of opportunity to talk to millions of their customers, send out information and get feedback so quickly. Even consumers never had the ability to talk to each other, criticize or recommend products and services being completely independent of the influence of a company. Thus, a social media presence is becoming increasingly important today. According to a new survey by Harvard Business Review (2012), more than three-quarters (79) of the 2,100 organizations surveyed said they are either currently using social media channels (58) or preparing to launch social media initiatives (21). Volvo IT shares the same view and believes that an early social presence is important. This thesis reports from a qualitative study investigating the benefits and risks of developing applications on these platforms for product managers, developers and testers in a software company. This study focuses on application development in the Facebook Developer Platform based on a running application on Facebook and interviews conducted at Volvo IT. The rest of the thesis is structured as follows: section 2 presents the background and related work; section3 describes the research site; section 4 describes our research approach; section 5 presents the results obtained and our analysis of the results followed by a discussion and conclusion in section 6 and 7 respectively. 10 2. Related Work 2.1 Background Before we present the studies which have been conducted on social network services, some definitions are presented in this section as background study. Web 2.0 is a term that was first used in 2004 to describe a new way in which software developers and end-users started to utilize the World Wide Web; that is, as a platform whereby content and applications are no longer created and published by individuals, but instead are continuously modified by all users in a participatory and collaborative fashion (Kaplan, 2010). With the launch of Web 2.0, companies can reach other companies and end users in exciting new ways and thereby bring about new innovation towards better user interaction using social network services, blogs, wikis, video sharing sites, hosted services, web applications and mashups. Web 2.0 has more content creators compared to the original Web 1.0 where users were limited to the passive viewing of content that was created for them. The differences between Web 1.0 and Web 2.0 are based on technological, sociological, and structural sides (Bernal, 2009). Along with web 2.0, the concept of social media is widely discussed today. Social media refers to the means of interactions among people in which they create, share, and exchange information and ideas in virtual communities and networks (Ahlqvist, 2008). Kaplan defines social media as "a group of Internet-based applications that build on the ideological and technological foundations of Web 2.0, and that allow the creation and exchange of user-generated content. Social media technologies can be in the form of magazines, Internet forums, weblogs, social blogs, microblogging, wikis, social networks, podcasts, pictures, video, rating and social bookmarking.75 of Internet surfers used social media in the second quarter of 2008 by joining social networks, reading blogs, or contributing reviews to shopping sites; this represents a significant rise from 56 in 2007 (Kaplan, 2010). It is therefore interesting to find out that social media is a revolutionary new trend which should be of interest to companies operating in online space. Online social networks, a category of social media consists of users who communicate with each other in an online setting in diverse ways (Krishnamurthy, 2009). People form a social network using an online social network on the internet to share and organize contents, and find contacts. The online social networks have some common features, which are usually combined in websites that are known as social networking sites (SNSs) or social sites and function like an online community of Internet users with similar interests and activities. Today these SNSs are rapidly growing over the internet with people constantly desiring to interact with each other for business and personal reasons. The concept of SNSs existed in the 90s with Geocities (1994) and Tripod.com (1995) etc. but their popularity has exploded over the past decade. They have attracted a massive following with most people using SNSs such as Friendster (2000), MySpace (2003) Facebook (2004), Twitter (2006) etc. on a regular basis. As a result SNSs are now among the top visited websites on the internet. Our study is based on these SNSs investigating the benefits and risks of application development in them, the result of which could be used by product managers, developers and testers in a software company. 11 2.2 Social Network Studies In case of social networks some researchers have mainly focused on graph theoretic properties of social networks (Granovetter, 1973), (Milgram, 1967), (Mislove et al., 2007), while some on the usage of individual network patterns (Meeyoung, 2007). For instance, Golder et al., 2007 examined an anonymized dataset consisting of 362 million messages exchanged by over four million Facebook users for insight into Friending and messaging activities. These kinds of data also lend themselves well to analysis through network visualization (Adamic et al., 2003).In this thesis we study similar aspects but focusing on the massive user base created by these underlying network of social network services. Boyd et al., 2007 in their article ‘Social Network Sites: Definition, History and Scholarship’ have highlighted the fact that SNSs are increasingly attracting the attention of academic and industry researchers. In their introductory article, they describe features of SNSs and propose a comprehensive definition. Then they present the history of such sites, discussing key changes and developments. Finally they summarize the existing scholarship concerning SNSs and discuss some important articles in this domain and conclude with considerations for future research. Among others, some of the key articles they have mentioned and that relate to our study are discussed in following three paragraphs. Boyd et al., 2007 have pointed out potential privacy concerns in SNSs, mainly concerning the safety of younger users (George, 2006). There has been some research work investigating the potential threats to privacy associated with SNSs. In an academic study on this privacy domain, Acquisti et al., 2005 analyzed 4,000 Carnegie Mellon University Facebook profiles and outlined the potential threats to privacy contained in the personal information included on the site by students, such as the potential ability to reconstruct users'''' social security numbers using information often found in profiles, such as hometown and date of birth. In another study examining security issues in SNSs, Jagatic et al., 2007 used freely accessible profile data from SNSs to craft a "phishing" scheme that appeared to originate from a friend on the network. The targets were much more probe to give away information to this "friend" than to a perceived stranger. Similarly in our study, privacy of data in SNSs was one of the most crucial factors as we were dealing with confidential data. Ahmed et al., 2011 also state that an important research area is protection of users profile information from social applications. With the introduction of developer platforms like Facebook''''s Developer Platform millions of third party developers are building thousands of social applications for existing massive user base. This introduces serious privacy risk because current social networking platforms do not provide any mechanism to control disclosure of user''''s information to social applications and their developers. In their paper, they investigated two very popular social networking platforms, i.e. Facebook Developers Platform and OpenSocial. They demonstrated inherit flaws in these social networking platforms, pointing out limitations in existing solutions to the problem suggested by researcher community in the area. They concluded with the need for extension of current APIs available for these social networking platforms so that extended version of APIs provide fine grained access control to the user of social network services. Maximilien et al, 2009 also argue that SNS privacy primitives are insufficient in particular, ease of use, too plentiful, do not fully apply to third party applications, and do not take full advantage of the social graphs that SNS users build on these platforms. Their paper provides a first step in resolving these issues. In our study we have developed a third party application and have investigated the ways our data was handled by the Facebook Developer Platform. In addition to the identified themes above, some scholarships have addressed other aspects of SNSs users and practices connected to them. For example, the ways in which race and ethnicity (Gajjala, 12 2007), gender (Geidner et al., 2007), age (Quinn et al., 2011) and sexuality connect to and are affected by raise interesting questions about how identity is shaped within these sites. These studies have helped us in understanding the user base of Facebook and if its effects on developed third party applications. Boyd et al., 2007 in their article contribute to the importance of SNSs, both for practitioners and researchers. According to them methodologically SNS researchers'''' ability to make causal claims is limited by a lack of experimental studies. They further point out that scholars still have a limited understanding of users of these sites and the purposes of their participation. Such questions require large-scale quantitative and qualitative research. They also believe that richer, ethnographic research on populations more difficult to access would further aid researchers'''' ability to understand the long- term implications of these tools. Our study is an experimental study for Volvo IT where the product managers would like to know more about the benefits and risks of application development in SNSs. David, 2008 has written an article as a response to the above article of Boyd et al. He points out that although these SNSs have already moved into the cultural mainstream, they have not received sustained analytical attention. According to him we should not just think about SNS users and their profiles but we should also be thinking about capitalist interests, of third parties using the SNS data, of privacy made public, of the motives and agendas of those that build these technologies, and, finally, how SNS can be understood as archives that represent rich source of transactional data about a vast population of users. To provide guidance to research we might take inspiration from their information flows on one hand and business informing itself through mining, harvesting and analysis of the data on the other. Our study focuses on the capitalist interests and third parties using SNS data investigating benefits and risks of such applications to product managers, developers and testers in a software company. David, 2008 also points out the fact that the information that the SNS holds is of immense value in the context of a knowing capitalism and we can look at the valuation of these sites to see that. This is illustrated by the recent developments at Facebook, valued at 15bn, where they have reconfigured the business model to capture further profits from its established social networks with the development of ‘social ads’. These social ads will be guided and targeted by information held about people and their connections with brands. By focusing solely upon the user, we are overlooking the software and concrete infrastructures, the capitalist organizations, the marketing and advertising rhetoric, the construction of these phenomena in various rhetorical agendas, the role of designers, metadata and algorithms, the role, access and conduct of third parties using SNS, amongst many other things. Lash, 2006 has pointed out the need to address these gaps in knowledge through an engagement with software designers and those constructing brands and working-up algorithms. They further add that additional interviews can be complemented with such research, ethnographies to fill in some of the gaps in the information. While doing our study we also identified these gaps in information and conducted interviews to broaden our research scope. One of the very important aspects of SNS is the changing nature of the relations between consumption and production. Today companies are using SNSs to collaborate with consumers on product development, service enhancement and promotion. SNSs have become more intuitive and user friendly to provide information that is easily reached by the end user (Salvatore et. al, 2008). Companies are using these tools to get the consumers involved, inviting them to participate in marketing-related activities from product development to feedback to customer service among many others. For example, Zabin et al. (2008) have pointed out that as major companies are increasingly coming to realize this, these consumer voices will have considerable influence in shaping the opinions 13 of other consumers and, finally, their brand loyalties, their purchase decisions, and their own brand advocacy. But the basic reason for this as pointed out by Krishnamurthy (2009) is not just the large number of users, but the network induced by the popular external applications that use the distribution platform provided by SNSs to grow virally. The Facebook Developer Platform is a similar kind of distribution platform where software applications can undergo viral spread based on theories of Golder et al., 2007 and Krishnamurthy, 2009. Todd (2006) has also pointed out that there has been little attempt to standardize academic contributions of SNSs and have been generally ignored by academia mainly because the well-known sites were not recognized for their academic discussions. While doing this research we found that very few detailed studies of corporate solutions or applications developed and launched on SNSs exists, Nazir et al. (2008) believe their paper to be the first to provide a first look at the usage and subscription characteristics of SNS (Facebook)-based applications as well as the nature of interaction between users in the context of such applications. They gather data from their three applications developed using the Facebook Developer Platform and show that applications once popular remain strong and tend to retain their rankings. However, they recognize the wide variety of categories for these SNSs. They concluded mentioning that further studies are needed to investigate the SNS application usage. Colin et al. (2010) mention that SNSs have given the end users digital social experiences by the help of social features. Social interaction helps user to meet psychological needs. Social features provided by these platforms give the user faster, wider and more frequent interactions creating a digital social experience. Suraworachet et al. (2012) has done a study about the impact of social features from end users'''' perspectives. The results of his study show that people using Facebook''''s social features and connecting with Facebook page have respectively significant impacts on consumers'''' attitude. Juste et al. (2008) claims that the availability of social networking APIs makes it possible for third-party developers to tap into these social relationships and design socially-aware applications. The availability of open source social features is a big reason to build more and more applications on these platforms. According to O''''Reilly, 2007, web 2.0 supports lightweight programming models that allow for loosely coupled systems. However, the traditional web-services are usually very complex to enable tight coupling. Though this is necessary in some cases, many of the most interesting applications can indeed remain loosely coupled, and even fragile. Similarly in case of SNS-based applications, the design of the applications is highly affected by the design of the SNSs or platform. The availability of social networking APIs, such as the Facebook Developer Platform, makes it possible for third-party developers to get hold of these social relationships and design socially aware applications. Juste et al., 2008 in their paper describe how social networking groups can be used to help create virtual private computing clusters that consist of nodes spanning different administrative domains and organizations. They developed a prototype implementation and present the quantitative results of virtual private network. Their design integrated with virtual machines, peer-to-peer virtual private networks, and the Facebook Developer Platform API, to enable a user community in which they could easily deploy their application. There is also an interesting article related to application design for Facebook applications where Dmitriy (2010) discusses that applications developed on the Facebook development platform should be aware of the upcoming updates and it should be possible to forecast respective modifications of the application in advance. Dmitriy’s study claims that the application design of social network platforms may impose certain restrictions on the platform therefore cause problems when adding new functional features while running the application. From software 14 engineering perspective, the design of an application is derived from functional and non-functional requirements of software. In our study a Facebook application was developed according to the requirements from Volvo IT but later the design was changed according to the Facebook Developer Platform design standards. Another interesting feature of SNSs is the availability of analytical data, for example Facebook Insights. This data can be measured, collected, analyzed and reported for purposes of understanding and optimizing application usage. Lakhwinder et al. (2012) explained that analytics has become an important component of web-based system and helps in taking business decisions. The study of Bukhari et al. (2012) has explored the potential usage of social media analytics tools and found that social media analytics can be of great value for organizations in both special events and routine activities. Hossmann et al., 2011 goes a step further with the data collected from SNSs. In their paper they report an experiment called Stumbl for collecting rich datasets comprising social, mobility and communication ties. Stumbl is a Facebook application that provides participating users with a user- friendly interface, which is used to report their daily face-to-face meetings with other Facebook friends. Stumbl logs user interactions on Facebook (e.g. comments, wall posts, likes). This way the compared and analyzed the contact graph, social graph, and activity graphs for the same set of users. In software engineering we often talk about this kind of data used for analysis based on various input parameters. For our study we needed to test our third party application for Facebook and hence we needed to study the testing framework of the Facebook Developer Platform. There is a lack of methods and tools to achieve quality of a web application (Di et al., 2002). Software testing for third party involved environments may also be more complex as it requires more technical specifications for specific environment (Träskbäck et al., 2003). Stanton in his blog expressed some thoughts on the challenges of testing SNS based applications (Stanton, 2008). These applications need a lot of good testing, especially when it relies on the underlying social graph of users. Performance testing in production environment with real users is very important. Additionally, these applications need to be tested in different environments like browsers, operating systems etc. Software applications once developed and deployed, need maintenance. Ashish (2012) discusses about companies increasingly facing maintenance issues related to social media applications. According to his study, companies should try to address potential problems before they arise otherwise they may face expensive discovery problems. This has also been approved by Kajko- Mattsson’s study which shows the organizations must create a new role responsible for evolving and maintaining high-level web services. Apart from that, the maintenance process has to be slightly adapted to manage investigation of problems and impact analysis which have to be made between applications and the involved platforms (Kajko-Mattsson, 2004).While executing this study, we came across some of the maintenance issues that originate from SNS-based applications. It is challenging to find the right set of research methodologies to study the impact of SNSs on software engineering as these environments are advancing rapidly and their development context tends to crosscut traditional software development categories. Being powerful tools having massive impact on society it makes it necessary to continue research work on this area. 15 2.3 Social Network Platform The social network platforms allow developers to create their own SNS and run them on a server (Wilson, 2010). For example the Facebook Developer Platform is a software environment provided by the SNS for third-party developers to create their own applications and services that access data in Facebook (Wikipedia e). The social network platforms are different from other traditional web applications mainly because these platforms have built in social features which are easily implementable. For example Facebook eliminates the need of having an authentication and authorization module which traditional web applications required. Here the single sign on handles the entire authentication and security aspects. Secondly application design is much simpler in case of social network platforms because most parts of the application design are pre-defined and not many changes are required. Features like analytics are included and available for free whereas in traditional web applications, analytics features need to be added as separate module thereby increasing costs. There are different social network platforms supporting various SNS for example LinkedIn Developers for developing applications using LinkedIn’s open APIs, Facebook Developer Platform for developing and integrating applications on Facebook etc. For our study Facebook Developer was chosen as per Volvo requirements and hence our discussions would be based mainly on the Facebook Developer Platform. Facebook Developer Platform was launched in May 2007(Facebook Developer Platform, 2012) with about only eight applications in its roster. The platform underwent a phenomenal growth when more than 35,000 applications were deployed within July 2008. At the end of 2011, there existed more than 7 million applications and websites integrated with Facebook (Facebook statistics, 2012). According to Facebook, one way of modeling a social product is to allow people to create an identity and let them share it and build a community over time. 2.3.1 Facebook Platform Core Components The Facebook Developer Platform enables making websites more social by offering a number of social features which can be easily integrated with applications developed in this platform. Social Plug-ins, such as the Like Button can drive user engagement with a single line of HTML. For example the Login Button and Registration Plug-ins lets simplify or eliminate applications own user registration and sign-in. lastly; the Graph API allows access to the full social graph of a given user, allowing creating a truly deep personal experience. Therefore applications developed on can focus more on business logic and social features can be by platform (Facebook Developer Platform, 2012). 16 Figure 1: Facebook Platform Building Blocks, (2012) Figure 1 above shows the building blocks of the Facebook Developer Platform. The foundation of the developer platform is the so-called social graph. The social graph is basically a model of users and objects that they interact with and of those interactions. Facebook has introduced one early version of an open graph at 2010, which is an extension of the social graph. Recently, Facebook is trying to extend the open graph to also include actions and objects. These actions and objects can actually be created by third-party applications. The open graph allows applications to model user activities based on actions and objects (Facebook Open Graph, 2012). As Facebook end users play around with the application, social activities are published. Actions would be displayed on user’s individual page. In this case, developers could create a persistent connection and relation between the application and application users. This also could drive new users to the application. Along with social graphs there is another component called the Social Channels. These social channels are ways apps can reach users on Facebook. Some examples are news feed, application requests and bookmarks. Building on top of this foundation the following are the two ways by which an application can connect with users and access the social graph(Facebook Developer Platform, 2012). FBML FBML is an acronym for Facebook Markup Language. FBML is a tag based language based on HTML and it is able to provide many of the tags supported by that language. It also provides a large set of Facebook user interface and programmatic primitives (Maver et al. 2009). This markup language gives developers the ability to make applications look like they were developed as part of Facebook. For an application created on the Facebook platform, the developer must choose either that the application will support FBML or it will be an IFrame-base application. It is always suggested that developers new to Facebook applications use FBML. However, if the application uses third-party JavaScript libraries that are over 64K in size, developers are not able to use FBML; they must use the IFrame-based application instead. Facebook JavaScript FBJS is the Facebook’s version of JavaScript. It supports most of the DOM-based manipulation methods but it differs from JavaScript in several important ways. Firstly, its syntax is slightly 17 different from normal version of JavaScripts. It is one way to protect Facebook itself from malicious JavaScript code. Apart from that, many DOM properties used in normal JavaScript are replaced by getset property methods. Lastly, many widely-used event handlers in normal client-side JavaScript are not available. For example, when a web page loads, Facebook does not allow any use of the ubiquitous onload() event handler to execute code(Maver et al. 2009). Facebook Query Language Facebook Query Language offers a host of SQL-like features and language elements that allow applications to directly query Facebook’s internal data tables. However, not all SQL’s syntax is supported. Facebook Query Language is powerful in the case that the application needs to get access and return the same data provided by many of the Facebook API calls. This enables the API response in one less round trip to the Facebook servers. Facebook Query Language is also able to “preloaded” for all the pages in an application. This is useful when the application needs to show similar Facebook data on every page (Maver et al. 2009). Facebook JavaScript Client Library Facebook JavaScript Client Library allows applications use the Facebook API on the client rather than the server which means Facebook applications are able to run anywhere JavaScript could. Websites that use this library is able to get access to most of the Facebook API as well as a subset of FBML (Maver et al. 2009). 2.3.2 Facebook Platform Application Architecture Facebook platform provides a Facebook Developer application to allow developers to fill in the details about the application they are about to create. Facebook does not actually host the developer’s applications; Facebook creates an outer frame and then calls the application’s Canvas Callback URL to get information to display to the users. The workflows will be explained in this section (Maver et al. 2009). Secret Keys Facebook platform gives the application a public and private key pair when this application is created using the Facebook Developer application. This key pair allows the Facebook API to know each API call is related to specific application. This key pair is essentially important to developers, because anyone who knows the key pair could start making calls masquerading as that application, or even deleting user data (Maver et al. 2009). Canvas Callback URL Canvas Callback URL is the location on the server where the application resides by the developer. The server hosting the Canvas Callback URL is able to handle the callbacks using any web server or language the developer prefers. Facebook only passes a set of data as POST variables to the Canvas Callback URL, and this set of data only contains information about the viewing user, the session, and the application (Maver et al. 2009). Canvas Page Workflow Facebook would call the application’s Canvas Callback URL when the end user goes to an application canvas page. Developers have to decide if they want their applications to have FBML or IFrame based canvas pages (Maver et al. 2009). 18 Figure 2: Workflow for displaying an FBML application canvas page (Maver et al. 2009) Figure 2 shows the workflow for displaying FBML application canvas page. In FBML application, the web browser loads the canvas URL firstly; Facebook will call the callback URL to connect the application resided server. Application will obtain the user data by calling the FB REST server and return FBML to the Facebook web server. Finally the browser display the FBML rendered by Facebook and updates the browser page. Figure 3: Workflow for displaying an IFrame application canvas page (Maver et al. 2009) Figure 3 shows the workflow for displaying an IFrame application canvas page. In IFrame application, the web browser will load the canvas URL as same as the FBML application. The different process happens after the application obtains the user data by calling the FB REST server. The browser displays the IFrame-based canvas pages and shows its content directly. 19 2.3.3 Choosing Between an FBML and IFrame Canvas Maver''''s study has pointed out the differences between FBML and IFrame canvas in six categories: Learning Curve, migration of existing applications, cross-platform portability, application design, application performance and testing (Maver et al. 2009). Learning Curve FBML pages require developers to master three things: FBML tags, FBJS, and the Facebook API as stated by Maver in his study, Although Facebook has provided the documentation for the FBML tags, application developers need to learn the nuances of each tag if they choose the FBML integration. Apart from the FBML tags, it also can be painful to figure out which subset works and how to get access to the application needs because of FBJS is a limited form of normal JavaScript. The Facebook API is used for both canvas types, although FBML can reduce the number of calls needed. IFrame pages'''' learning curve was limited to standard web technologies of cascading style sheets (CSS), HTML, JavaScript, and the Facebook API. Overall, the learning curve for an IFrame page is lower than for FBML pages (Maver et al. 2009). Migration of Existing Applications For software developers who already have the intent to deploy the application into Facebook, IFrames are easier than FBML integrations. Developers could reuse the existing HTML and JavaScript rendering, and use the Facebook API to get the data that the application would need. To convert applications to FBML requires software developers to rewrite JavaScript as FBJS. The application also needs to remove the dependence on any external JavaScript libraries. For example, YUI, jQuery etc. (Maver et al. 2009). Cross-Platform Portability If the application needs to support multiple platforms, IFrame is able to provide a common display model. The developers only need to change how the application gets the data for each platform. For FBML application, the FBML requires rewriting the FBJS into normal JS and reuse normal JS libraries (Maver et al. 2009). Application design Applications that have the Facebook look and feel design fit in well with the Facebook Platform and Facebook users expect applications to work like Facebook. Compared to IFrame applications, FBML provides easier method to do this because it gives applications access to the same controls and styles that Facebook itself uses. For IFrame applications, in this case with Facebook look and feel design, developers need to manually design the application in a way to fit in well in the Facebook Platform. Due to most of the Facebook tags don’t have publicly downloadable equivalents; this can be time consuming for developers (Maver et al. 2009). Performance FBML applications can be faster than IFrame applications because they are able reduce the number of API calls needed by using FBML tags. However, in some specific functions provided by Facebook, the IFrame applications would perform better than FBML applications. For example, the chat bars function, which has to be created on each full page load. IFrame applications could avoid this because they only have to change the inner IFrame source instead of the entire page. Furthermore, when an FBML page does an AJAX call, it must pass through a Facebook proxy to parse any returned FBML. IFrame AJAX calls go directly to the callback URL. IFrame that use the Facebook JavaScript Client Library can receive results of preloaded FQL queries and get cached access to the user’s friend list that 20 is not passed to the canvas page by default. This also helps IFrame catch up with some of FBML’s speed advantages (Maver et al. 2009). Testing It is more difficult to test FBML applications because FBML must be rendered by Facebook before it is displayed. However, the developer could copy the expecting outcomes of the FBML to the FBML Test Console as well as get access to the application through Facebook. Compared to FBML testing, IFrame testing can be much simpler. Developers can access the application directly on the application local server. In these cases, developers might have to again emulate the GET variables that Facebook normally passes to IFrame pages to allow the application to function correctly(Maver et al. 2009). 3. Case Study 3.1Volvo IT and Commute Greener This study was conducted at Volvo Group Telematics department of Volvo Information Technology, Goteborg, Sweden from Jan 2012 – June 2012. The study was conducted within the project Commute Greener, a Volvo IT solution for sustainable transport. 3.2 Commute Greener - A value-driven Investment towards sustainable development The Commute Greener initiative is defined as follows: Commute Greener provides a strong foundation to reach both your environmental targets and business objectives. The solution includes an application that gives you direct measurements and feedback through mobile devices, the web and social media channels. This makes it ideal for usage with customers, employees, or local community citizens. Through the power of Commute Greener, you contribute to sustainable development, save time and money as well as improve health – for your employees, customers or local community citizens (Commute Greener, 2012). 21 Figure 4: CommuteGreener Progress (Commute Greener, 2012) Commute Greener started as an idea from a group of Volvo employees. Their vision was to develop an IT solution that would motivate people to do something good for the environment. In 2009 Volvo IT released this application to help employees measure the time, efficiency, and environmental impact of their commuting habits. By using this small application on mobile phones calculating the environmental impact of each commute, employees were able to reduce their CO2 footprint by 30 in just one month’s time. Later with support from key partners Commute Greener launched as a global service helping companies, cities, and individuals around the world understand a greener way of commuting. The main objectives are: Actions to reach environmental and Corporate Social Responsibility targets Whether a small organization or a multi-national corporation, Commute Greener can deliver benefits that help deliver actions against environmental and corporate Social Responsibility targets. Change commuting behavior and improve health Instead of stressing around in a car it can often be possible to take a relaxing walk or a healthy bicycle trip. Cost savings and efficiency for business Commute Greener offers value for the environment, as well as opportunities to reduce costs and increase efficiency for a number of corporate-wide initiatives (Commute Greener, 2012). Today a lot is heard about intelligence transport systems when working with traffic and traveling information. These systems are based on open data resources example traffic information, commuting patterns, bus schedules etc. In 2011, Commute Greener opened its data through public APIs, aiming to help other applications reuse Commute Greener’s existing features and focus on new feature developments. The first two open APIs were published in TrafikLab (TrafikLab, 2012). The first API was used to develop an application in the West Coast Travel Hack 2011 competition which is nominated as one of five nominees for Best Sustainability Project in Sweden at the CIO Awards 2012. 22 The other API called Commuting Pattern API was more complex. In this thesis, this API was used. We developed a Facebook application which read data from the above API to display commuting patterns of users. The details of the application are discussed in section 3.4. 3.3 New Trends and shift to Social networking site Two and a half years ago Commute Greener was an SMS service. Users registered their commuting patterns from home to work and back called the baseline data and this data was stored in a database for comparison. The next release of Commute Greener was a web based application and an iPhone application. This web based application was kind of a standalone SNS with features like login, invite friends, chat, compete towards lower CO2 emissions etc. Commute Greener was developed on a platform called Pocket Life (Pocket Life, 2012) which offers the above mentioned social features. Commute Greener aimed to take advantage of getting access to the entire existing user base of Pocket Life and all the other applications using the same platform and social features. Soon it was realized that with Facebook, Twitter, LinkedIn etc. offering a number of attractive and advanced social features, people would not like to create a separate community of friends in Commute Greener rather use one community which most of their friends are already using for example Facebook. Hence it was decided to embed Commute Greener in a SNS. Today the main features is to help people commute efficiently in an environment friendly way and ride share with trusted people while Facebook handles the social part like friends who have accepted this Commute Greener Facebook application get connected to each other as friends instead of inviting people. Having a Com...
Trang 1Chalmers University of Technology University of Gothenburg
Department of Computer Science and Engineering Göteborg, Sweden, April 2013
Social Network Services as development platform
An industrial case study
Master of Science Thesis in Software Engineering and Management Programme
NAMRATA MUKHERJEE HUI ZHOU
CORE
View metadata, citation and similar papers at core.ac.uk
provided by Göteborgs universitets publikationer - e-publicering och e-arkiv
Trang 2The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial
purpose make it accessible on the Internet.
The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law.
The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement If the Author has signed a copyright agreement with a third party regarding the Work, the Author
warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet.
Social Network Services as development platform
An industrial case study
NAMRATA MUKHERJEE,
HUI ZHOU
© NAMRATA MUKHERJEE, April 2013
© HUI ZHOU, April 2013
Examiner:MIROSLAW STARON
Supervisor:AGNETA NILSSON
University of Gothenburg
Chalmers University of Technology
Department of Computer Science and Engineering
Department of Computer Science and Engineering
Göteborg, Sweden April 2013
Trang 33
Trang 4In recent years online social networking services like Facebook and Twitter have become increasinglypopular with a large number of active users The introduction of developer platforms like theFacebook Developer Platform encourages developers to develop and integrate third party applications
on the huge user base of these services The role and use of the information generated by these socialnetwork services and applications is not yet well understood in software engineering although theyinfluence software development practices
In this thesis, we investigated the feasibility of developing corporate solutions on social networkservices We used Facebook to develop an application for Commute Greener (Volvo IT) using its openAPI for traffic data Further interviews were conducted targeting product owners and developers atVolvo Based on the outcomes of the study eight key themes, which determine the benefits, risks andlimitations of such social network based applications are presented and discussed
Volvo IT grants to Chalmers University of Technology and University of Gothenburg the exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible
non-on the Internet
Keywords: Social Media; Social Network; Social Network Services; Web 2.0; Commute Greener;Facebook
Trang 5To our families and our friends whose love and support is the reason behind our every
achievement.
Trang 6We are grateful to our supervisor Agneta Nilsson for her continuous support and constructivecomments which have contributed considerably to our work Without her assistance we would nothave been able to accomplish the thesis
Special thanks to Magnus Kuschel Holmqvist who first inspired the topic of this paper via hisinspiring idea of a social network based corporate applications We also want to show our gratitude toHenrik Willford, solution manager Commute Greener for being our supervisor at Volvo IT throughoutthe study
This paper is the result of our two-year MSc Software Engineering program at the University ofGothenburg We would like to thank the school administration for their kind support
Although we relied on many individuals to develop our thesis, we take complete responsibility for itscontents
Trang 7Table of Contents
1 Introduction 9
2 Related Work 10
2.1 Background 10
2.2 Social Network Studies 11
2.3 Social Network Platform 15
2.3.1 Facebook Platform Core Components 15
2.3.2 Facebook Platform Application Architecture 17
2.3.3 Choosing Between an FBML and IFrame Canvas 19
3 Case Study 20
3.1Volvo IT and Commute Greener 20
3.2 Commute Greener - A value-driven Investment towards sustainable development 20
3.3 New Trends and shift to Social networking site 22
3.4 Development of CommuteGreenerIT 22
3.4.1 CommuteGreenerIT 22
3.4.2 Commuting Pattern API 25
3.4.3 CommuteGreenerIT Configuration 26
4 Method 28
4.1 Design Research 28
4.2 Data Collection 28
4.3 Data Analysis 29
5 Results & Discussion 30
5.1 User Base 30
5.2 Social features 31
5.3 Application design 32
5.4 Testing 33
5.5 Analytics 33
5.6 Maintenance 34
5.7 Security and Confidentiality 35
5.8 Brand Reputation 36
7 Conclusion 37
References 38
Trang 8List of Figures and Tables
Figure 1: Facebook Platform Building Blocks, (2012) 16
Figure 2: Workflow for displaying an FBML application canvas page (Maver et al 2009) 18
Figure 3: Workflow for displaying an IFrame application canvas page (Maver et al 2009) 18
Figure 4: CommuteGreener Progress (Commute Greener, 2012) 21
Figure 5: CommuteGreenerIT (Facebook Developer Platform, 2012) 23
Figure 6: CommuteGreenerIT (Facebook Developer Platform, 2012) 24
Figure 7: CommuteGreenerIT (Facebook Developer Platform, 2012) 25
Figure 8: Facebook Developers App Setting Page for CommuteGreenerIT 26
Figure 9: Facebook Developer Platform’s Architecture Used by CommuteGreenIT 27
Table 1: API Request Message Arguments (TrafikLab, 2012) 25
Trang 91 Introduction
Popular social network services have recently opened their doors to developers across the world tocreate social applications by leveraging their underlying social graphs referred to as "the globalmapping of everybody and how they're related" (Wikipedia a) For example Facebook announced theFacebook Developer Platform on May 24, 2007 enabling third party developers to launch and expose
their engaging social applications using Facebook’s library of open source APIs The introduction of
these third-party applications has led to even higher traffic on Facebook It grew to more than 800,000developers around the world building applications for Facebook Platform (Wikipedia b) Facebookkept on gaining a huge number of users and has become increasingly popular with more than 955million active users as of June 2012 (Wikipedia d) The platforms are still evolving and hencesubjected to regular upgrades With this popularity and increasing number of applications beingdeveloped on social network platforms, it becomes important for product managers, developers andtesters in a software company to know about the benefits and risks of application development againstthese regularly updating platforms
Social network services have an inherent viral property meaning that the applications’ user base canundergo exponential growth bringing about quick spread of information similar to real-world socialnetworks (Nazir et al., 2008) Business today is focused on content sharing and social marketing.Several companies are using these social network services to support the creation of brandcommunities (Muniz, Guinn, 2001) exploiting their viral spread Companies never before had this kind
of opportunity to talk to millions of their customers, send out information and get feedback so quickly.Even consumers never had the ability to talk to each other, criticize or recommend products andservices being completely independent of the influence of a company Thus, a social media presence isbecoming increasingly important today According to a new survey by Harvard Business Review(2012), more than three-quarters (79%) of the 2,100 organizations surveyed said they are eithercurrently using social media channels (58%) or preparing to launch social media initiatives (21%).Volvo IT shares the same view and believes that an early social presence is important
This thesis reports from a qualitative study investigating the benefits and risks of developingapplications on these platforms for product managers, developers and testers in a software company.This study focuses on application development in the Facebook Developer Platform based on arunning application on Facebook and interviews conducted at Volvo IT
The rest of the thesis is structured as follows: section 2 presents the background and related work;section3 describes the research site; section 4 describes our research approach; section 5 presents theresults obtained and our analysis of the results followed by a discussion and conclusion in section 6and 7 respectively
Trang 10by all users in a participatory and collaborative fashion (Kaplan, 2010) With the launch of Web 2.0,companies can reach other companies and end users in exciting new ways and thereby bring aboutnew innovation towards better user interaction using social network services, blogs, wikis, videosharing sites, hosted services, web applications and mashups Web 2.0 has more content creatorscompared to the original Web 1.0 where users were limited to the passive viewing of content that wascreated for them The differences between Web 1.0 and Web 2.0 are based on technological,sociological, and structural sides (Bernal, 2009).
Along with web 2.0, the concept of social media is widely discussed today Social media refers to themeans of interactions among people in which they create, share, and exchange information and ideas
in virtual communities and networks (Ahlqvist, 2008) Kaplan defines social media as "a group ofInternet-based applications that build on the ideological and technological foundations of Web 2.0,and that allow the creation and exchange of user-generated content Social media technologies can be
in the form of magazines, Internet forums, weblogs, social blogs, microblogging, wikis, socialnetworks, podcasts, pictures, video, rating and social bookmarking.75% of Internet surfers used socialmedia in the second quarter of 2008 by joining social networks, reading blogs, or contributing reviews
to shopping sites; this represents a significant rise from 56% in 2007 (Kaplan, 2010) It is thereforeinteresting to find out that social media is a revolutionary new trend which should be of interest tocompanies operating in online space
Online social networks, a category of social media consists of users who communicate with each other
in an online setting in diverse ways (Krishnamurthy, 2009) People form a social network using anonline social network on the internet to share and organize contents, and find contacts The onlinesocial networks have some common features, which are usually combined in websites that are known
as social networking sites (SNSs) or social sites and function like an online community of Internetusers with similar interests and activities Today these SNSs are rapidly growing over the internet withpeople constantly desiring to interact with each other for business and personal reasons The concept
of SNSs existed in the 90s with Geocities (1994) and Tripod.com (1995) etc but their popularity hasexploded over the past decade They have attracted a massive following with most people using SNSssuch as Friendster (2000), MySpace (2003) Facebook (2004), Twitter (2006) etc on a regular basis
As a result SNSs are now among the top visited websites on the internet Our study is based on theseSNSs investigating the benefits and risks of application development in them, the result of whichcould be used by product managers, developers and testers in a software company
Trang 112.2 Social Network Studies
In case of social networks some researchers have mainly focused on graph theoretic properties ofsocial networks (Granovetter, 1973), (Milgram, 1967), (Mislove et al., 2007), while some on the usage
of individual network patterns (Meeyoung, 2007) For instance, Golder et al., 2007 examined ananonymized dataset consisting of 362 million messages exchanged by over four million Facebookusers for insight into Friending and messaging activities These kinds of data also lend themselves well
to analysis through network visualization (Adamic et al., 2003).In this thesis we study similar aspectsbut focusing on the massive user base created by these underlying network of social network services
Boyd et al., 2007 in their article ‘Social Network Sites: Definition, History and Scholarship’ havehighlighted the fact that SNSs are increasingly attracting the attention of academic and industryresearchers In their introductory article, they describe features of SNSs and propose a comprehensivedefinition Then they present the history of such sites, discussing key changes and developments.Finally they summarize the existing scholarship concerning SNSs and discuss some important articles
in this domain and conclude with considerations for future research Among others, some of the keyarticles they have mentioned and that relate to our study are discussed in following three paragraphs
Boyd et al., 2007 have pointed out potential privacy concerns in SNSs, mainly concerning the safety
of younger users (George, 2006) There has been some research work investigating the potentialthreats to privacy associated with SNSs In an academic study on this privacy domain, Acquisti et al.,
2005 analyzed 4,000 Carnegie Mellon University Facebook profiles and outlined the potential threats
to privacy contained in the personal information included on the site by students, such as the potentialability to reconstruct users' social security numbers using information often found in profiles, such ashometown and date of birth In another study examining security issues in SNSs, Jagatic et al., 2007used freely accessible profile data from SNSs to craft a "phishing" scheme that appeared to originatefrom a friend on the network The targets were much more probe to give away information to this
"friend" than to a perceived stranger Similarly in our study, privacy of data in SNSs was one of themost crucial factors as we were dealing with confidential data
Ahmed et al., 2011 also state that an important research area is protection of users profile informationfrom social applications With the introduction of developer platforms like Facebook's DeveloperPlatform millions of third party developers are building thousands of social applications for existingmassive user base This introduces serious privacy risk because current social networking platforms donot provide any mechanism to control disclosure of user's information to social applications and theirdevelopers In their paper, they investigated two very popular social networking platforms, i.e.Facebook Developers Platform and OpenSocial They demonstrated inherit flaws in these socialnetworking platforms, pointing out limitations in existing solutions to the problem suggested byresearcher community in the area They concluded with the need for extension of current APIsavailable for these social networking platforms so that extended version of APIs provide fine grainedaccess control to the user of social network services Maximilien et al, 2009 also argue that SNSprivacy primitives are insufficient in particular, ease of use, too plentiful, do not fully apply to thirdparty applications, and do not take full advantage of the social graphs that SNS users build on theseplatforms Their paper provides a first step in resolving these issues In our study we have developed athird party application and have investigated the ways our data was handled by the FacebookDeveloper Platform
In addition to the identified themes above, some scholarships have addressed other aspects of SNSsusers and practices connected to them For example, the ways in which race and ethnicity (Gajjala,
Trang 122007), gender (Geidner et al., 2007), age (Quinn et al., 2011) and sexuality connect to and are affected
by raise interesting questions about how identity is shaped within these sites These studies havehelped us in understanding the user base of Facebook and if its effects on developed third partyapplications
Boyd et al., 2007 in their article contribute to the importance of SNSs, both for practitioners andresearchers According to them methodologically SNS researchers' ability to make causal claims islimited by a lack of experimental studies They further point out that scholars still have a limitedunderstanding of users of these sites and the purposes of their participation Such questions requirelarge-scale quantitative and qualitative research They also believe that richer, ethnographic research
on populations more difficult to access would further aid researchers' ability to understand the term implications of these tools Our study is an experimental study for Volvo IT where the productmanagers would like to know more about the benefits and risks of application development in SNSs
long-David, 2008 has written an article as a response to the above article of Boyd et al He points out thatalthough these SNSs have already moved into the cultural mainstream, they have not receivedsustained analytical attention According to him we should not just think about SNS users and theirprofiles but we should also be thinking about capitalist interests, of third parties using the SNS data, ofprivacy made public, of the motives and agendas of those that build these technologies, and, finally,how SNS can be understood as archives that represent rich source of transactional data about a vastpopulation of users To provide guidance to research we might take inspiration from their informationflows on one hand and business informing itself through mining, harvesting and analysis of the data onthe other Our study focuses on the capitalist interests and third parties using SNS data investigatingbenefits and risks of such applications to product managers, developers and testers in a softwarecompany
David, 2008 also points out the fact that the information that the SNS holds is of immense value in thecontext of a knowing capitalism and we can look at the valuation of these sites to see that This isillustrated by the recent developments at Facebook, valued at $15bn, where they have reconfigured thebusiness model to capture further profits from its established social networks with the development of
‘social ads’ These social ads will be guided and targeted by information held about people and their
connections with brands By focusing solely upon the user, we are overlooking the software andconcrete infrastructures, the capitalist organizations, the marketing and advertising rhetoric, theconstruction of these phenomena in various rhetorical agendas, the role of designers, metadata andalgorithms, the role, access and conduct of third parties using SNS, amongst many other things Lash,
2006 has pointed out the need to address these gaps in knowledge through an engagement withsoftware designers and those constructing brands and working-up algorithms They further add thatadditional interviews can be complemented with such research, ethnographies to fill in some of thegaps in the information While doing our study we also identified these gaps in information andconducted interviews to broaden our research scope
One of the very important aspects of SNS is the changing nature of the relations between consumptionand production Today companies are using SNSs to collaborate with consumers on productdevelopment, service enhancement and promotion SNSs have become more intuitive and userfriendly to provide information that is easily reached by the end user (Salvatore et al, 2008).Companies are using these tools to get the consumers involved, inviting them to participate inmarketing-related activities from product development to feedback to customer service among manyothers For example, Zabin et al (2008) have pointed out that as major companies are increasinglycoming to realize this, these consumer voices will have considerable influence in shaping the opinions
Trang 13of other consumers and, finally, their brand loyalties, their purchase decisions, and their own brandadvocacy But the basic reason for this as pointed out by Krishnamurthy (2009) is not just the largenumber of users, but the network induced by the popular external applications that use the distributionplatform provided by SNSs to grow virally The Facebook Developer Platform is a similar kind ofdistribution platform where software applications can undergo viral spread based on theories of Golder
et al., 2007 and Krishnamurthy, 2009
Todd (2006) has also pointed out that there has been little attempt to standardize academiccontributions of SNSs and have been generally ignored by academia mainly because the well-knownsites were not recognized for their academic discussions While doing this research we found that veryfew detailed studies of corporate solutions or applications developed and launched on SNSs exists,Nazir et al (2008) believe their paper to be the first to provide a first look at the usage andsubscription characteristics of SNS (Facebook)-based applications as well as the nature of interactionbetween users in the context of such applications They gather data from their three applicationsdeveloped using the Facebook Developer Platform and show that applications once popular remainstrong and tend to retain their rankings However, they recognize the wide variety of categories forthese SNSs They concluded mentioning that further studies are needed to investigate the SNSapplication usage
Colin et al (2010) mention that SNSs have given the end users digital social experiences by the help
of social features Social interaction helps user to meet psychological needs Social features provided
by these platforms give the user faster, wider and more frequent interactions creating a digital socialexperience Suraworachet et al (2012) has done a study about the impact of social features from endusers' perspectives The results of his study show that people using Facebook's social features andconnecting with Facebook page have respectively significant impacts on consumers' attitude Juste et
al (2008) claims that the availability of social networking APIs makes it possible for third-partydevelopers to tap into these social relationships and design socially-aware applications Theavailability of open source social features is a big reason to build more and more applications on theseplatforms
According to O'Reilly, 2007, web 2.0 supports lightweight programming models that allow for looselycoupled systems However, the traditional web-services are usually very complex to enable tightcoupling Though this is necessary in some cases, many of the most interesting applications can indeedremain loosely coupled, and even fragile Similarly in case of SNS-based applications, the design ofthe applications is highly affected by the design of the SNSs or platform The availability of socialnetworking APIs, such as the Facebook Developer Platform, makes it possible for third-partydevelopers to get hold of these social relationships and design socially aware applications Juste et al.,
2008 in their paper describe how social networking groups can be used to help create virtual privatecomputing clusters that consist of nodes spanning different administrative domains and organizations.They developed a prototype implementation and present the quantitative results of virtual privatenetwork Their design integrated with virtual machines, peer-to-peer virtual private networks, and theFacebook Developer Platform API, to enable a user community in which they could easily deploytheir application There is also an interesting article related to application design for Facebookapplications where Dmitriy (2010) discusses that applications developed on the Facebookdevelopment platform should be aware of the upcoming updates and it should be possible to forecast
respective modifications of the application in advance Dmitriy’s study claims that the application
design of social network platforms may impose certain restrictions on the platform therefore causeproblems when adding new functional features while running the application From software
Trang 14engineering perspective, the design of an application is derived from functional and non-functionalrequirements of software In our study a Facebook application was developed according to therequirements from Volvo IT but later the design was changed according to the Facebook DeveloperPlatform design standards.
Another interesting feature of SNSs is the availability of analytical data, for example FacebookInsights This data can be measured, collected, analyzed and reported for purposes of understandingand optimizing application usage Lakhwinder et al (2012) explained that analytics has become animportant component of web-based system and helps in taking business decisions The study ofBukhari et al (2012) has explored the potential usage of social media analytics tools and found thatsocial media analytics can be of great value for organizations in both special events and routineactivities Hossmann et al., 2011 goes a step further with the data collected from SNSs In their paperthey report an experiment called Stumbl for collecting rich datasets comprising social, mobility andcommunication ties Stumbl is a Facebook application that provides participating users with a user-friendly interface, which is used to report their daily face-to-face meetings with other Facebookfriends Stumbl logs user interactions on Facebook (e.g comments, wall posts, likes) This way thecompared and analyzed the contact graph, social graph, and activity graphs for the same set of users
In software engineering we often talk about this kind of data used for analysis based on various inputparameters
For our study we needed to test our third party application for Facebook and hence we needed to studythe testing framework of the Facebook Developer Platform There is a lack of methods and tools toachieve quality of a web application (Di et al., 2002) Software testing for third party involvedenvironments may also be more complex as it requires more technical specifications for specificenvironment (Träskbäck et al., 2003) Stanton in his blog expressed some thoughts on the challenges
of testing SNS based applications (Stanton, 2008) These applications need a lot of good testing,especially when it relies on the underlying social graph of users Performance testing in productionenvironment with real users is very important Additionally, these applications need to be tested indifferent environments like browsers, operating systems etc
Software applications once developed and deployed, need maintenance Ashish (2012) discusses aboutcompanies increasingly facing maintenance issues related to social media applications According tohis study, companies should try to address potential problems before they arise otherwise they mayface expensive discovery problems This has also been approved by Kajko- Mattsson’s study whichshows the organizations must create a new role responsible for evolving and maintaining high-levelweb services Apart from that, the maintenance process has to be slightly adapted to manageinvestigation of problems and impact analysis which have to be made between applications and theinvolved platforms (Kajko-Mattsson, 2004).While executing this study, we came across some of themaintenance issues that originate from SNS-based applications
It is challenging to find the right set of research methodologies to study the impact of SNSs onsoftware engineering as these environments are advancing rapidly and their development context tends
to crosscut traditional software development categories Being powerful tools having massive impact
on society it makes it necessary to continue research work on this area
Trang 152.3 Social Network Platform
The social network platforms allow developers to create their own SNS and run them on a server(Wilson, 2010) For example the Facebook Developer Platform is a software environment provided bythe SNS for third-party developers to create their own applications and services that access data inFacebook (Wikipedia e) The social network platforms are different from other traditional webapplications mainly because these platforms have built in social features which are easilyimplementable For example Facebook eliminates the need of having an authentication andauthorization module which traditional web applications required Here the single sign on handles theentire authentication and security aspects Secondly application design is much simpler in case ofsocial network platforms because most parts of the application design are pre-defined and not manychanges are required Features like analytics are included and available for free whereas in traditionalweb applications, analytics features need to be added as separate module thereby increasing costs
There are different social network platforms supporting various SNS for example LinkedIn
Developers for developing applications using LinkedIn’s open APIs, Facebook Developer Platform for
developing and integrating applications on Facebook etc For our study Facebook Developer waschosen as per Volvo requirements and hence our discussions would be based mainly on the FacebookDeveloper Platform Facebook Developer Platform was launched in May 2007(Facebook DeveloperPlatform, 2012) with about only eight applications in its roster The platform underwent a phenomenalgrowth when more than 35,000 applications were deployed within July 2008 At the end of 2011, thereexisted more than 7 million applications and websites integrated with Facebook (Facebook statistics,2012) According to Facebook, one way of modeling a social product is to allow people to create anidentity and let them share it and build a community over time
2.3.1 Facebook Platform Core Components
The Facebook Developer Platform enables making websites more social by offering a number ofsocial features which can be easily integrated with applications developed in this platform SocialPlug-ins, such as the Like Button can drive user engagement with a single line of HTML For examplethe Login Button and Registration Plug-ins lets simplify or eliminate applications own userregistration and sign-in lastly; the Graph API allows access to the full social graph of a given user,allowing creating a truly deep personal experience Therefore applications developed on can focusmore on business logic and social features can be by platform (Facebook Developer Platform, 2012)
Trang 16Figure 1: Facebook Platform Building Blocks, (2012)
Figure 1 above shows the building blocks of the Facebook Developer Platform The foundation of thedeveloper platform is the so-called social graph The social graph is basically a model of users andobjects that they interact with and of those interactions Facebook has introduced one early version of
an open graph at 2010, which is an extension of the social graph Recently, Facebook is trying toextend the open graph to also include actions and objects These actions and objects can actually becreated by third-party applications The open graph allows applications to model user activities based
on actions and objects (Facebook Open Graph, 2012) As Facebook end users play around with the
application, social activities are published Actions would be displayed on user’s individual page In
this case, developers could create a persistent connection and relation between the application andapplication users This also could drive new users to the application Along with social graphs there isanother component called the Social Channels These social channels are ways apps can reach users onFacebook Some examples are news feed, application requests and bookmarks Building on top of thisfoundation the following are the two ways by which an application can connect with users and accessthe social graph(Facebook Developer Platform, 2012)
FBML
FBML is an acronym for Facebook Markup Language FBML is a tag based language based onHTML and it is able to provide many of the tags supported by that language It also provides a largeset of Facebook user interface and programmatic primitives (Maver et al 2009) This markuplanguage gives developers the ability to make applications look like they were developed as part ofFacebook For an application created on the Facebook platform, the developer must choose either thatthe application will support FBML or it will be an IFrame-base application It is always suggestedthat developers new to Facebook applications use FBML However, if the application uses third-partyJavaScript libraries that are over 64K in size, developers are not able to use FBML; they must use theIFrame-based application instead
Facebook JavaScript
FBJS is the Facebook’s version of JavaScript It supports most of the DOM-based manipulationmethods but it differs from JavaScript in several important ways Firstly, its syntax is slightly
Trang 17different from normal version of JavaScripts It is one way to protect Facebook itself from maliciousJavaScript code Apart from that, many DOM properties used in normal JavaScript are replaced byget/set property methods Lastly, many widely-used event handlers in normal client-side JavaScriptare not available For example, when a web page loads, Facebook does not allow any use of theubiquitous onload() event handler to execute code(Maver et al 2009).
Facebook Query Language
Facebook Query Language offers a host of SQL-like features and language elements that allow
applications to directly query Facebook’s internal data tables However, not all SQL’s syntax is
supported Facebook Query Language is powerful in the case that the application needs to get accessand return the same data provided by many of the Facebook API calls This enables the API response
in one less round trip to the Facebook servers Facebook Query Language is also able to “preloaded”for all the pages in an application This is useful when the application needs to show similar Facebookdata on every page (Maver et al 2009)
Facebook JavaScript Client Library
Facebook JavaScript Client Library allows applications use the Facebook API on the client rather thanthe server which means Facebook applications are able to run anywhere JavaScript could Websitesthat use this library is able to get access to most of the Facebook API as well as a subset of FBML(Maver et al 2009)
2.3.2 Facebook Platform Application Architecture
Facebook platform provides a Facebook Developer application to allow developers to fill in the detailsabout the application they are about to create Facebook does not actually host the developer’sapplications; Facebook creates an outer frame and then calls the application’s Canvas Callback URL
to get information to display to the users The workflows will be explained in this section (Maver et al.2009)
Secret Keys
Facebook platform gives the application a public and private key pair when this application is createdusing the Facebook Developer application This key pair allows the Facebook API to know each APIcall is related to specific application This key pair is essentially important to developers, becauseanyone who knows the key pair could start making calls masquerading as that application, or evendeleting user data (Maver et al 2009)
Canvas Callback URL
Canvas Callback URL is the location on the server where the application resides by the developer Theserver hosting the Canvas Callback URL is able to handle the callbacks using any web server orlanguage the developer prefers Facebook only passes a set of data as POST variables to the CanvasCallback URL, and this set of data only contains information about the viewing user, the session, andthe application (Maver et al 2009)
Canvas Page Workflow
Facebook would call the application’s Canvas Callback URL when the end user goes to an applicationcanvas page Developers have to decide if they want their applications to have FBML or IFrame basedcanvas pages (Maver et al 2009)
Trang 18Figure 2: Workflow for displaying an FBML application canvas page (Maver et al 2009)
Figure 2 shows the workflow for displaying FBML application canvas page In FBML application, theweb browser loads the canvas URL firstly; Facebook will call the callback URL to connect theapplication resided server Application will obtain the user data by calling the FB REST server andreturn FBML to the Facebook web server Finally the browser display the FBML rendered byFacebook and updates the browser page
Figure 3: Workflow for displaying an IFrame application canvas page (Maver et al 2009)
Figure 3 shows the workflow for displaying an IFrame application canvas page In IFrame application,the web browser will load the canvas URL as same as the FBML application The different processhappens after the application obtains the user data by calling the FB REST server The browserdisplays the IFrame-based canvas pages and shows its content directly
Trang 192.3.3 Choosing Between an FBML and IFrame Canvas
Maver's study has pointed out the differences between FBML and IFrame canvas in six categories:Learning Curve, migration of existing applications, cross-platform portability, application design,application performance and testing (Maver et al 2009)
Learning Curve
FBML pages require developers to master three things: FBML tags, FBJS, and the Facebook API asstated by Maver in his study, Although Facebook has provided the documentation for the FBML tags,application developers need to learn the nuances of each tag if they choose the FBML integration.Apart from the FBML tags, it also can be painful to figure out which subset works and how to getaccess to the application needs because of FBJS is a limited form of normal JavaScript The FacebookAPI is used for both canvas types, although FBML can reduce the number of calls needed IFramepages' learning curve was limited to standard web technologies of cascading style sheets (CSS),HTML, JavaScript, and the Facebook API Overall, the learning curve for an IFrame page is lowerthan for FBML pages (Maver et al 2009)
Migration of Existing Applications
For software developers who already have the intent to deploy the application into Facebook, IFramesare easier than FBML integrations Developers could reuse the existing HTML and JavaScriptrendering, and use the Facebook API to get the data that the application would need To convertapplications to FBML requires software developers to rewrite JavaScript as FBJS The application alsoneeds to remove the dependence on any external JavaScript libraries For example, YUI, jQuery etc.(Maver et al 2009)
Cross-Platform Portability
If the application needs to support multiple platforms, IFrame is able to provide a common displaymodel The developers only need to change how the application gets the data for each platform ForFBML application, the FBML requires rewriting the FBJS into normal JS and reuse normal JSlibraries (Maver et al 2009)
Application design
Applications that have the Facebook look and feel design fit in well with the Facebook Platform andFacebook users expect applications to work like Facebook Compared to IFrame applications, FBMLprovides easier method to do this because it gives applications access to the same controls and stylesthat Facebook itself uses For IFrame applications, in this case with Facebook look and feel design,developers need to manually design the application in a way to fit in well in the Facebook Platform.Due to most of the Facebook tags don’t have publicly downloadable equivalents; this can be timeconsuming for developers (Maver et al 2009)
Performance
FBML applications can be faster than IFrame applications because they are able reduce the number ofAPI calls needed by using FBML tags However, in some specific functions provided by Facebook,the IFrame applications would perform better than FBML applications For example, the chat barsfunction, which has to be created on each full page load IFrame applications could avoid this becausethey only have to change the inner IFrame source instead of the entire page Furthermore, when anFBML page does an AJAX call, it must pass through a Facebook proxy to parse any returned FBML.IFrame AJAX calls go directly to the callback URL IFrame that use the Facebook JavaScript ClientLibrary can receive results of preloaded FQL queries and get cached access to the user’s friend list that
Trang 20is not passed to the canvas page by default This also helps IFrame catch up with some of FBML’sspeed advantages (Maver et al 2009).
Testing
It is more difficult to test FBML applications because FBML must be rendered by Facebook before it
is displayed However, the developer could copy the expecting outcomes of the FBML to the FBMLTest Console as well as get access to the application through Facebook Compared to FBML testing,IFrame testing can be much simpler Developers can access the application directly on the applicationlocal server In these cases, developers might have to again emulate the GET variables that Facebooknormally passes to IFrame pages to allow the application to function correctly(Maver et al 2009)
3 Case Study
3.1Volvo IT and Commute Greener
This study was conducted at Volvo Group Telematics department of Volvo Information Technology,Goteborg, Sweden from Jan 2012 – June 2012 The study was conducted within the project CommuteGreener, a Volvo IT solution for sustainable transport
3.2 Commute Greener - A value-driven Investment towards sustainable development
The Commute Greener initiative is defined as follows:
Commute Greener provides a strong foundation to reach both your environmental targets and businessobjectives The solution includes an application that gives you direct measurements and feedbackthrough mobile devices, the web and social media channels This makes it ideal for usage withcustomers, employees, or local community citizens Through the power of Commute Greener, youcontribute to sustainable development, save time and money as well as improve health – for youremployees, customers or local community citizens (Commute Greener, 2012)