Alice Birdwatching: a Community Built Knowledge Base for Birdwatchers
Total Page:16
File Type:pdf, Size:1020Kb
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Alice Birdwatching: a community built knowledge base for birdwatchers João Pedro Lago Master in Informatics and Computing Engineering Supervisor: Teresa Galvão Dias (PhD) 26th June, 2010 Alice Birdwatching: a community built knowledge base for birdwatchers João Pedro Lago Master in Informatics and Computing Engineering Approved in oral examination by the committee: Chair: Jorge Manuel Gomes Barbosa (PhD) External Examiner: Rui João Peixoto José (PhD) Supervisor: Maria Teresa Galvão Dias (PhD) 31st July, 2010 Abstract Drawing on the reasons for the origins of the Internet, the web 2.0 phenomenon in the latter decade has enabled Internet users to become not only consumers but also producers of information, something that most of them didn’t let pass. The success of User Generated Content (UGC) sites like Wikipedia has inspired the expansion of the principle to other, more specific contexts. Similarly, there has been an explosion in the abilities of mobile devices, which have also started contributing to this content frenzy with different types of data, such as geographically referenced content. This document describes the conception and development a project, Alice Birdwatch- ing, that aims at creating an online community for content generation in the context of birdwatching. This application will allow birdwatcher to generate content about their fa- vorite hobby (sometimes taken very seriously) in an easy and comfortable way, such as it was not available on the web as of the writing of this paper. The application will also take advantage of mobile technologies, both to help generate content and to help bird watchers on the field, where a computer would be a liability. We will begin by explaining the motivations behind the project, and the potential it has for success, then giving an overview of what is being made in the web, as well as explaining the UGC phenomenon through the research done, both in technological and psychological terms. The technologies used will also be explained, as well as the architectural and imple- mentation details. The final chapters will report on the results obtained so far and conclude upon those, giving better vision of the potential success of the application and closing with suggestions for future additions or uses of the application, its content and its structure. i Version 1.0 (July 29, 2010) ii Resumo Baseando-se nas razões que levaram à criação da Internet, o fenómeno web 2.0 da última década permitiu aos seus utilizadores tornarem-se, não só consumidores mas também produtores de informação, uma oportunidade que muitos não deixaram passar. O sucesso de aplicações que permitiam a geração de conteúdo da parte dos utilizadores (User Generated Content, UGC) como a Wikipedia, inspiraram o desenvolvimento de novas aplicações, expandindo-se a outros contextos mais específicos. Paralelamente, tem havido, nos últimos anos, uma explosão no mercado das comunicações móveis e nas capacidades dos seus aparelhos, permitindo que estes se tornem também fontes de in- formação, contribuindo com conteúdo com formatos diferentes, nomeadamente dados referenciados geograficamente. Este documento descreve a conceptualização e desenvolvimento dum projecto, Alice Birdwatching, que almeja a criação de uma comunidade de criação de conteúdo no con- texto do birdwatching. A aplicação permitirá aos seus utilizadores gerar conteúdo acerca do seu hobby (por vezes levado bastante a sério) de uma maneira fácil e confortável, não ainda disponível na Internet no momento da escrita deste documento. A aplicação tirará também proveito das tecnologias móveis, tanto para gerar conteúdo como para ajudar os utilizadores em situações em que um computador não é um instrumento utilizável. Começaremos por explicar as motivações por detrás do projecto e o seu potencial para o sucesso, fazendo de seguida uma observação do que se faz actualmente na Internet em termos de conteúdo gerado por utilizadores, referindo pesquisa tanto na área tecnológica como na área de psicologia. As tecnologias utilizadas serão explicadas, tal como a arquitectura do sistema, bem como os detalhes da sua implementação. Nos capítulos finais serão colhidas conclusões baseadas nos resultados obtidos até então da utilização do sistema, bem como serão oferecidas sugestões para futuras adições ao sistema e utilizações do seu conteúdo e estrutura noutros contextos e aplicações. iii Version 1.0 (July 29, 2010) iv Acknowledgments This paper and its work are dedicated to the one that has helped, inspired and also dis- tracted throughout its development, proving to be at the same time my best and worst companion, the Internet. João Lago v Version 1.0 (July 29, 2010) vi Contents 1 Introduction1 1.1 Context . .1 1.2 Project . .2 2 State of the Art5 2.1 Introduction . .5 2.2 User Generated Content . .6 2.2.1 Discussion Boards . .7 2.2.2 Blogs . .8 2.2.3 Collaborative Projects . .9 2.2.4 Social Networks . 10 2.2.5 Virtual Worlds . 11 2.2.6 Intellectual Property and UGC . 11 2.3 Geolocative System . 12 2.3.1 Geolocative Community . 13 2.4 Human Factors on Geolocative Communities . 14 2.4.1 Information credibility and will to contribute . 14 2.4.2 Privacy issues . 14 2.5 Existing Applications . 15 2.5.1 Web Only . 15 2.5.2 Mobile Only . 16 2.5.3 Mobile and Web . 17 2.6 Birdwatching . 17 2.6.1 On the Web . 18 2.6.2 On the mobile phone . 19 2.7 Conclusions . 20 3 Solution Specification 21 3.1 Overview . 21 3.2 Content creation . 21 3.2.1 Bird Species . 22 3.2.2 Points of Interest and Events . 23 3.2.3 Trip Reports . 23 3.2.4 Notifications . 24 3.3 Content presentation . 24 3.4 User interaction . 25 3.5 Chapter Summary . 25 vii CONTENTS 4 Technology 27 4.1 ASP.NET MVC 2 . 27 4.1.1 ASP.NET . 27 4.1.2 MVC . 28 4.1.3 Nhibernate . 29 4.1.4 Sharpmap . 31 4.1.5 Ajax . 31 4.1.6 REST . 32 4.1.7 Summary . 33 4.2 PostgreSQL and PostGIS . 33 4.2.1 PostgreSQL . 33 4.2.2 PostGIS . 34 4.3 Google Maps V3 . 34 4.4 IIS7 . 34 4.5 Chapter Summary . 35 5 Implementation 37 5.1 Architecture . 37 5.1.1 Physical Architecture . 37 5.1.2 Logical Architecture . 37 5.2 Requirements . 40 5.2.1 Functional Requirements . 40 5.2.2 Non-Functional Requirements . 41 5.3 Data Structure . 41 5.4 Details . 41 5.4.1 MVC . 41 5.4.2 Data Upload . 42 5.4.3 Notifications . 42 5.4.4 Interface Design . 42 5.5 Tests . 43 5.5.1 Results . 43 5.5.2 Discussion . 44 5.6 Chapter Summary . 44 6 Conclusions and Future Work 51 6.1 Conclusions . 51 6.2 Future Work . 52 6.2.1 Print format Trip Report . 52 6.2.2 Birdwatching game . 52 6.2.3 Content history . 53 6.2.4 Apply concept to other contexts . 53 6.2.5 Integration with existing projects . 53 6.2.6 Integration with other social networking and content-generation services . 53 References 55 Version 1.0 (July 29, 2010) viii List of Figures 4.1 MVC pattern . 29 5.1 Logical Architecture . 38 5.2 Alice Birdwatching’s Class Diagram . 39 5.3 Alice Birdwatching’s Database Diagram . 45 5.4 Models, Views and Controllers of Alice Birdwatching . 46 5.5 Typical page with information about a bird species. 47 5.6 Typical page showing a trip report’s photo gallery. 48 5.7 Detail of the sections edit page in a trip report. 49 ix LIST OF FIGURES Version 1.0 (July 29, 2010) x List of Tables 4.1 HTTP methods used in REST . 32 xi LIST OF TABLES Version 1.0 (July 29, 2010) xii Abbreviations ADT Abstract Data Type API Application Programming Interface DBMS Database Management System GIS Geographic Information System GPS Global Positioning System HTTP Hypertext Transfer Protocol OECD Organisation for Economic Co-operation and Development OGC Open Geospatial Consortium ORM Object-relational Mappings PDF Portable Document Format RDBMS Relational Database Management System REST Representational State Transfer SDK Software Development Kit SOAP Simple Object Access Protocol WWW World Wide Web XML Extensible Markup Language xiii ABBREVIATIONS Version 1.0 (July 29, 2010) xiv Chapter 1 Introduction 1.1 Context Ever since they started valuing knowledge, humans have thought of ways to register it, to save it somehow, in order to share it with others as well as not to forget it. It started with cave paintings, evolved into engraved writing, ink (or blood) on papyrus, then paper, and eventually, thousands of years after the first hand print in Chauvet, France, 32000 years ago [Zuc], on the Internet. The more portable the means of storing knowledge, the easier it became to share it and at the same time, the easier it became to improve on it and to spread it. Thus we can infer that portability of information has been, in some ways, related to human technological evolution. In its early years, the Internet was used as a means of quick written communication between two or more points of the globe. The difference to other instantaneous commu- nication devices of the time was that it was easier to save the conversation. This was the beginning of e-mail and early discussion boards. These devices allowed people to rapidly create content and respond to other people’s content with their own, be it with the objective of improving that same content for scientific reasons or simply as a form of amusement. A parallel can be established with the Internet and the evolution of communication in general. As more people were able to access.