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...
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Göteborgs universitets publikationer - e-publicering och e-arkiv Social Network Services as development platform An industrial case study Master of Science Thesis in Software Engineering and Management Programme NAMRATA MUKHERJEE HUI ZHOU Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering Göteborg, Sweden, April 2013 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 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 SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 [Cover: 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 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 To our families and our friends whose love and support is the reason behind our every achievement 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 Table of Contents Introduction 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 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 Method 28 4.1 Design Research 28 4.2 Data Collection .28 4.3 Data Analysis 29 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 Conclusion 37 References 38 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 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 presents the background and related work; section3 describes the research site; section describes our research approach; section presents the results obtained and our analysis of the results followed by a discussion and conclusion in section and respectively 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 10