MyTravel: A Geo-referenced Social-Oriented Web 2.0 Application

12
B. Murgante et al. (Eds.): ICCSA 2011, Part I, LNCS 6782, pp. 225–236, 2011. © Springer-Verlag Berlin Heidelberg 2011 MyTravel: A Geo-referenced Social-Oriented Web 2.0 Application Gabriele Cestra, Gianluca Liguori, and Eliseo Clementini University of L’Aquila, Department of Electrical and Information Engineering Via Campo di Pile, 67100 L’Aquila, Italy [email protected], [email protected], [email protected] Abstract. The paper describes the architecture and main concepts of a geo- referenced web 2.0 application with a strong social-network component and possibly integrated with handheld devices. The application, called MyTravel, allows the users to share their travel experiences, in terms of geographic information and publishing contents like photos, notes and comments. In the paper we present the domain model of the application, associated to the functional prerequisites; then, we describe the architecture, technologies and the integration techniques adopted in the project, that have been validated through the development of the application prototype. Keywords: GIS, Web 2.0, Geo Social Network, geo-tag, Android, Google Maps, Facebook. 1 Introduction During the last few years the growth of spatial data availability has provided a strong stimulus to the development of geo-referenced applications, not only in traditional fields such as Geographic Information Systems (GISs) or Car Navigation Systems, but also in completely different fields, related to leisure or common daily activities [1]. At the same time, the rise of “social-oriented” applications introduced a strong innovation in the Information Technology (IT) field. While the volunteered activity of information feeding is already a consolidated reality among some specialized communities of users, the majority of them consumes the information in a passive way. The spread on a global scale of Web 2.0 social applications and the amazing growth of social network communities, such as Facebook 1 or Twitter 2 , have convinced the mass of users to become active feeders of information. The development and wide diffusion of “geo-reference enabled” electronic devices is contributing to add spatial data to the flow of information daily shared by users. 1 http://www.flickr.com/ 2 http://twitter.com/

Transcript of MyTravel: A Geo-referenced Social-Oriented Web 2.0 Application

B. Murgante et al. (Eds.): ICCSA 2011, Part I, LNCS 6782, pp. 225–236, 2011. © Springer-Verlag Berlin Heidelberg 2011

MyTravel: A Geo-referenced Social-Oriented Web 2.0 Application

Gabriele Cestra, Gianluca Liguori, and Eliseo Clementini

University of L’Aquila, Department of Electrical and Information Engineering Via Campo di Pile, 67100 L’Aquila, Italy

[email protected], [email protected], [email protected]

Abstract. The paper describes the architecture and main concepts of a geo-referenced web 2.0 application with a strong social-network component and possibly integrated with handheld devices. The application, called MyTravel, allows the users to share their travel experiences, in terms of geographic information and publishing contents like photos, notes and comments. In the paper we present the domain model of the application, associated to the functional prerequisites; then, we describe the architecture, technologies and the integration techniques adopted in the project, that have been validated through the development of the application prototype.

Keywords: GIS, Web 2.0, Geo Social Network, geo-tag, Android, Google Maps, Facebook.

1 Introduction

During the last few years the growth of spatial data availability has provided a strong stimulus to the development of geo-referenced applications, not only in traditional fields such as Geographic Information Systems (GISs) or Car Navigation Systems, but also in completely different fields, related to leisure or common daily activities [1].

At the same time, the rise of “social-oriented” applications introduced a strong innovation in the Information Technology (IT) field. While the volunteered activity of information feeding is already a consolidated reality among some specialized communities of users, the majority of them consumes the information in a passive way. The spread on a global scale of Web 2.0 social applications and the amazing growth of social network communities, such as Facebook1 or Twitter2, have convinced the mass of users to become active feeders of information. The development and wide diffusion of “geo-reference enabled” electronic devices is contributing to add spatial data to the flow of information daily shared by users.

1 http://www.flickr.com/ 2 http://twitter.com/

226 G. Cestra, G. Liguori, and E. Clementini

One of the most important challenges in current application development is the integration of heterogeneous technologies into a flexible and functional architecture in order to provide appealing social applications with a strong spatiotemporal support.

The paper is organized as follows. In Section 2, we discuss the context of the research, presenting the motivations behind the development of MyTravel. We also explain the main prerequisites that guided the design and development phases and must be satisfied by the application. In the last part of the section we give an overall view of the technologies and tools used during the project realization. Section 3 focuses on the domain model of MyTravel, showing the core use cases and classes defined during the research, along with the solutions adopted to manage the spatio-temporal aspects of the application. In section 4, we show the application prototype developed to validate the architectural and technological choices made during the project. The paper ends with some considerations and proposes possible further developments.

2 The Context

The aim of the work described in this paper is the definition of a prototypal architecture to develop web 2.0 application with a strong spatiotemporal component. The architecture should be flexible and should allow the integration with heterogeneous technologies, such as handheld geo-referenced devices and consolidated geographic information services such as Google Maps3.

2.1 Background and Related Work

The convergence between the web 2.0 paradigm, along with the social networking phenomenon, and GISs has set a new trend in the IT field, leading to so-called Volunteered Geographic Information (VGI). VGI is the harnessing of tools to create, assemble, and disseminate geographic data provided voluntarily by individuals [2].

There are many applications that use geo-referenced data in various ways in order to achieve different goals. Flickr [3], for example, uses geo-tagging in order to link photos uploaded by its users to specific places. A similar approach has been followed by Wikipedia4, which now contains over 1 million of geo-referenced articles [4].

While applications like Flickr and Wikipedia focus their core business in photo-sharing and document-sharing respectively, other systems, such as Google Latitude5, Foursquare6 and Gowalla7 are entirely built around geo-referenced information. For example Google Latitude allows the user to share his position in real-time with his friends, while Foursquare and Gowalla are focused on the review of places like shops, pubs and other public places.

The application presented in this paper has a strong relation with the second group of applications just cited, in that MyTravel makes a heavy use of geo-referenced data.

3 http://maps.google.it/ 4 http://it.wikipedia.org/ 5 https://www.google.it/latitude/ 6 https://foursquare.com/ 7 http://gowalla.com/

MyTravel: A Geo-referenced Social-Oriented Web 2.0 Application 227

Nevertheless, there is an important difference between MyTravel and other applications: MyTravel allows us to acquire not only geo-referenced points, but also trajectories, making possible to store routes together with points of interests (POIs).

Another difference, between MyTravel and the applications previously described, is the presence of the time or temporal component. Many geo-referenced applications do not provide an integrated visualization and interaction between events and POIs [5], while MyTravel allows the user to register a path or POI described by time and space. Other applications, such as PhotoBrowser [6] and the one presented by Hertzog and Torrens [7], relate concepts as photos, meetings and business travels to the temporal component. In MyTravel the temporal dimension is linked both to punctual elements like POIs and journeys/trajectories. For each travel, MyTravel reports the temporal interval in which it occurred and associates to every POI the acquisition date.

There are many affinities between MyTravel and another application known as the STEVIE system [5]. The STEVIE system is a mobile application that allows users to manage POIs and events. In STEVIE the time is linked to an event, while in MyTravel is associated to a journey, but in both applications the temporal dimension is crucial. Another system that proposes an architectural approach similar to MyTravel is SeMiTri [8], which provides a framework to query, analyze, and visualize trajectories.

Like other social-oriented applications, our project aims to encourage a growing community with a common interest in this case the passion for travels-- to share their information by building a dataset of user-generated content [9].

2.2 MyTravel

The vision of the internet as a platform, according to the web 2.0 trend [10], is one of the most important innovation occurred in the IT field. The definition of the web as a platform implies that the applications evolve to become complex systems with a high degree of user interaction, instead of being simple web sites showing static information.

This vision of the internet can be summarized with the definition “participatory web” [11]: the web and its applications provide a participatory instruments to the internauts. In this way, a relation is created between users and the application: the application grows in importance only if the users are willing to share their information; nevertheless the application has a strong appeal on the users only if it is able to provide relevant information to them. User participation is a condicio sine qua non for the application success. These considerations have represented the incipit for MyTravel project.

In the beginning the attention has been focused on the research of the application context, trying to identify what kind of information to manage in order to attract a certain amount of users. After this phase, we decided to propose the users to share their journeys, both those they have already done and those they would like to do. MyTravel allows us to share a journey experience through photos, comments about visited places and mainly through a geographic map that shows places and point of interest reached during the journey.

228 G. Cestra, G. Liguori, and E. Clementini

The application can be defined as a geo-social network, where the geo-referenced component plays an important role. Another important feature of MyTravel is the opportunity to describe and share the journey experience in real time through a smartphone. We are convinced that the spatio-temporal dimension, seen as real-time geo-localization, is one of the most innovating elements of web 2.0.

2.3 MyTravel Requirements

The project MyTravel’s final intent is to lead to the implementation of a geo-social network. We define geo-social network an application that allows its users to show to other users their geographical position. Starting from the concept of position, MyTravel develops the concept of journey seen as a group of positions ordered through the temporal dimension. Users can build a journey simply registering a set of positions.

Obviously, since we are talking about a geo-social network, the user should be able to share his/her information quickly and easily. MyTravel provides two ways to insert and manage the journeys: we have called these modalities atHome and onRoad, respectively. In the first case, users can insert their journeys through the web, allowing them to setup an already done journey or one that they would like to carry on in the future. In the second case, users aim to share their journey experience in real time, while it is happening. It is evident that in the second case the application has to support the use of mobile devices such as smartphones.

Another important application prerequisite is the registration of a timestamp for every geo-referenced information, in order to allow the manipulation of both the spatial and temporal dimensions.

The concept of time is necessary to define the interaction between different users during their journeys: the simplest question that may arise is “did user1 meet user2, since they visited the same place during their journeys?”.

Taking in account the temporal dimension allows the users to know the current or past position of their friends, and to know their future position in the context of planned journeys, in order to organize their journeys in accordance to this information.

2.4 Technologies and Tools

For the development of the project we needed to choose and integrate different technologies. An important preliminary step was the creation of a Rich Internet Application (RIA) and we decided to develop it using the Java programming language and Oracle JEE environment.

To speed up the design and development process we decided to adopt a methodology [12] [13] [14] and a framework [15] [16] that allow us to realize Ajax-enabled, full featured applications writing only Java code. The framework, based on an extended Model-View-Controller architecture [17] [12], provides elements and services to manage the main parts of an application, such as graphical interface management, use case lifecycle management and domain objects persistence (Fig. 1).

MyTravel: A Geo-referenced Social-Oriented Web 2.0 Application 229

Fig. 1. Overall view of the framework architecture

Moreover, the framework offers a set of tools and services to manipulate spatial data. This set of components is called GeoPack [18] [19] and allows the communication between the application domain model and the underlying spatial database.

As the reference DBMS for the application, we chose PostgreSQL 8.4, along with the PostGIS spatial extensions [20]. The communication between the framework and the database has been implemented using the ORM open-source library Hibernate [21] and its optional model devoted to the spatial data manipulation: Hibernate Spatial [22].

We decided to rely on the Google Maps platform for geographic data visualization and tracking features. This choice has been made thanks to the free use granted by Google and to the richness and flexibility of the Maps API, which allowed a seamless integration of the requested features into the application architecture.

Another important element needed to complete the application structure is the interaction with handheld devices with a GPS device, in order to allow users to acquire their position both in spatial and temporal dimensions. Once acquired, the spatio-temporal data need to be sent to the server deploying the web application. In order to accomplish these tasks we decided to use a PocketPC device, working with GpsGate and Netfront browser. We also used the Google Android SDK to develop an application that runs on Android devices.

3 The Development

In this section, we will show the main elements designed and developed to implement MyTravel. The chosen methodology [13] [12] adopts a strong Model-Driven approach [16], along with a Use-Case centric flow of analysis [23], that evolves seamlessly through design and development. For these reasons, we propose the

230 G. Cestra, G. Liguori, and E. Clementini

application Use Case Model, followed by the Domain Model, and explain the integration of this model with the components provided by the GeoPack module.

3.1 The Use Case Model

The main use cases (UC) that have been defined and implemented are those related to the journey management. The most important among others are the spatial-temporal data acquisition UC and the UC related to create, edit and manage the journeys and attached information, such as points of interest.

3.2 The Domain Model

Given the strong MDA [24] orientation of the methodology and the related framework, the domain model can be considered the foundation of the entire application. In Fig. 2, we show the core elements of MyTravel domain model.

Journey

- Description: String- Title: String

TrajectoryInfo

- Description: String

TPoint

TemporalPOI

- Description: String- Name: String- Time: TimeStamp

User

- ActivationDate: Date- Username: String

GeographicPoint

1 1

1 1

Fig. 2. MyTravel core domain model

The central element of the model is the journey. Every journey is associated to a user. In fact we must remember the strong social orientation of the application and take into account that almost every information inserted into the system comes from MyTravel community. We decided to model the journey as a composition of trajectories: in fact we can assume that a journey can be divided into one or more trips between two geo-referenced points, which will be respectively the trip starting point and the trip end point. The trip itself is then composed by a certain amount of intermediate geo-referenced points: we can say, under a geometrical point of view, that a trip could be considered as a polyline, and a journey can be modeled as an ordered set of polylines, in which the starting point of the first polyline and the ending point of the last polyline represent respectively the journey starting point and ending point. Another important element that can be noticed in the class diagram is the TemporalPOI. Since the points of interest are inserted by users during the tracking of their journeys, the spatial dimension alone could be inadequate, so we needed to introduce the temporal dimension. We must notice that in the last diagram we cannot

MyTravel: A Geo-referenced Social-Oriented Web 2.0 Application 231

find details about the spatial-temporal elements, but can identify two elements, TPoint and GeographicPoint, that are colored in a darker tone respect to the others domain objects. These elements come from the GeoPack module and provide structures and facilities to manage the spatial-temporal features described above.

Fig. 3. Business Object hierarchy

Since the framework adopted during the development of the projects provides facilities to realize not only Geographic-aware applications, the meta-model class hierarchy starts from BusinessObject which represents the most generic kind of domain object and the specializes it enriching the meta-model and adding the features need to manage spatial-temporal data (Fig. 3).

Fig. 4. The TPoint infrastructure in detail

232 G. Cestra, G. Liguori, and E. Clementini

To allow the management of moving points that change their position while time passes, the Geopack provides the above infrastructure, which allowed us to model the trips without information loss ensuring, at the same time, the use of well-known operators between spatial objects, such as Linestrings intersections and length calculation (Fig. 4). It is interesting to notice that the GeoPack relies upon elements from the Java Topology Suite [25], such as Points and Linestrings. This ensures robustness and efficiency during spatial data manipulation, granting at the same time compatibility with third-part libraries, such as Hibernate Spatial [22] and RDBMS.

4 The Prototype

In this section, we will show the prototype realized during our experience. We can see in Fig. 5.5 MyTravel HomePage. The application, as any web application, allows the user to register and login. The home page presents a list of Travels sorted by date added. Each Travel is described by the traveller photo, the date and the start city and the end city.

Fig. 5. MyTravel Home Page

The registered user can insert a new travel or can see a friend’s travel. In Fig. 6.6, we show how a user visualizes a journey. In the upper of the page there are the name of traveller and travel. The little button on the upper-corner allows the user to choose another couple of travel/traveller.

The principal part of the page is the map, through it the user can see the trajectory of a travel and the POI that the user has reported. With a simple click on a Google Marker the user can access to an informative section about POI. Here he can find a Photo, a description, and in the future version of MyTravel a Rank. The possibility for the user to insert a rating for a POI represents an important new feature.

MyTravel: A Geo-referenced Social-Oriented Web 2.0 Application 233

Fig. 6. The user can see or insert a travel

On right of the page, the user can find a descriptive list of a travel, in term of POIs. The user can insert POIs using Google Maps in the middle of the page. Each travel can be made up of several stages, and each stage aggregates POIs and Trajectories. Generally, we might confront the concept of stages with a day trip.

The web application is not the only way to insert or view a travel, but it can be done also through a mobile device application. In the following, we will show the Android version of the application.

Fig. 7. Some screenshots of the Android application

The user, during the travel, can share his/her experience through his/her smartphone. In Fig. 7.7, we propose a few screenshots of the mobile application. The Android application allows the user to take a photo, add descriptions and share it with other users. In this way, users can share the points of interest of their journey in real time. Another feature of the MyTravel Mobile app is the tracking option. If the user turns it on, during a trip, the app records all the movements of the user and shows the route effectively taken: the user can share his path with his friends. If the user agreed

234 G. Cestra, G. Liguori, and E. Clementini

to the sharing of his information, the app automatically publishes the journey (the path and POIs), on the MyTravel web application.

Another important feature of the MyTravel Mobile is the integration with social networks. In this first version, the application can communicate with Facebook only. As shown in Fig. 8.8, when a user registers a POI, automatically the photo and the description are published on Facebook and on the MyTravel Web App.

Fig. 8. Integration among the web app, Android app and Facebook

5 Conclusions and Further Work

The design and development activities carried out during the project described in this paper have led to the implementation of a working prototype that has been tested by a restricted community of users. The prototype allowed us to validate the technological and architectural choices, along with the integration with the tools. Assuming that the core element of a geo social network like MyTravel is its own community, the next step in the research will be the publication of the application on the internet, in order to verify its appeal to the internauts and its robustness and scalability under heavy load.

We are planning to extend the research, and consequently the application, toward the integration with other social networks, such as Twitter, in order to enrich the user experience and provide, through an information mesh approach, the shared user information base, which represents the key of success of such applications.

Another important task that we will carry on is the integration of other mobile device technologies, like iOS and Blackberry, in order to enlarge the candidate user base. All these activities will be executed in parallel with the development of new

MyTravel: A Geo-referenced Social-Oriented Web 2.0 Application 235

features, that will involve the enrichment of the domain model and the implementation of new operators that can manipulate such a model.

References

1. Fischer, F.: Learning in Geocommunities: An explorative view on geosocial network communities. In: Jekel, T., Koller, A., Donert, K. (eds.) Learning with Geoinformation IV, Heidelberg (2009)

2. Goodchild, M.F.: Citizens as sensors: the world of volunteered geography. GeoJournal 69(4), 211–221 (2007)

3. Kennedy, L., Naaman, M., Ahern, S., Nair, R., Rattenbury, T.: How flickr helps us make sense of the world: context and content in community-contributed media collections. In: Proceedings of 15th Annual ACM International Conference on Multimedia (MM 2007), pp. 631–640. ACM, New York (2007)

4. Kennedy, L., Naaman, M.: Generating diverse and representative image search results for landmarks. In: Proceeding of the 17th international conference on World Wide Web (WWW 2008), pp. 297–306. ACM, New York (2008)

5. Schmeiß, D., Scherp, A., Staab, S.: Integrated Mobile Visualization and Interaction of Events and POIs. In: Proceedings of the international conference on Multimedia (MM 2010), pp. 1567–1570. ACM, New York (2010)

6. Harada, S., Naaman, M., Song, Y.J., Wang, Q., Paepcke, A.: Lost in memories: interacting with photo collections on PDAs. In: ACM/IEEE-CS joint conference on Digital (JCDL2004), pp. 325–333. ACM, New York (2004)

7. Hertzog, P., Torrens, M.: Context-aware mobile assistants for optimal interaction: a prototype for supporting the business traveler. In: Proc. 9th International conference on Intelligent user interfaces (IUI 2004), pp. 256–258. ACM Press, New York (2004)

8. Yan, Z., Chakraborty, D., Parent, C., Spaccapietra, S., Aberer, K., S.: A Framework for Semantic Annotation of Heterogeneous Trajectories (EDBT 2011), Uppsala, Sweden, pp. 259–270 (2011)

9. Graham, M.: Neogeography and the Palimpsests of Place. Tijdschrift voor Economische en Sociale Geografie 4, 101 (2010)

10. O’Reilly, T.: What Is Web 2.0. In: O’Reilly Network, O’Reilly, Sebastopol (2005), http://oreilly.com/web2/archive/what-is-web-20.html

11. Decrem, B.: Introducing Flock Beta 1. Flock official blog (Reported 13.06.2006) 12. Liguori, G.: PhD thesis. Una Metodologia per lo sviluppo di sitemi Web-Gis. University of

L’Aquila, L’Aquila, Electrical and Information Engineering Department (2010) 13. Paolone, G., Liguori, G., Clementini, E.: A methodology for building enterprise Web 2.0

Applications. In: MITIP 2008 The Modern Information Technology in the Innovation Processes of the Industrial Enterprises (2008)

14. Paolone, G., Di Felice, P., Liguori, G., Cestra, G., Clementini, E.: A Business Use Case Driven Methodology: a step forward. In: 5th International Conference on Evaluation of Novel Approaches to Software Engineering, Athens Greece (July 2010)

15. Paolone, G., Liguori, G., Clementini, E.: Design and Development of web 2.0 Applications. In: ITAIS 2008, France, December 13-14 (2008)

16. Paolone, G., Liguori, G., Cestra, G., Clementini, E.: Web 2.0 Applications: model-driven tools and design. In: Costa Smeralda, A., D’Atri, M., De Marco, A.M., Braccini, F. (eds.) ITAIS 2009 Management of the Interconnected World, October 2-3, 2009, Springer, Heidelberg (2009)

236 G. Cestra, G. Liguori, and E. Clementini

17. Fowler, M.: Patterns of Enterprise Application Architecture, November 15, 2002. Addison-Wesley, Reading (2002)

18. Liguori, G., Clementini, E.: GeoPack: a Java wrapper for geographic web services. In: Towards INSPIRE International Workshop, Hungary, March 18-19 (2009)

19. Liguori, G., Cestra, G., Di Felice, P.: Un’architettura software per lo sviluppo di applicazioni riguardanti dati spazio-tempo dipendenti. In: Congresso nazionale AICA (October 2010)

20. Refractions Research, PostGIS 1.5.1 Manual (Reported 02.05.2010)(2010), http://postgis.refractions.net/documentation/

21. King, G., Bauer, C., Andersen, M.R., Bernard, E., Ebersole, S.: Hibernate Reference Documentation 3.5.1-Final - HIBERNATE Relational Persistence for Idiomatic Java. In: King, G., Bauer, C., Andersen, M.R., Bernard, E., Ebersole, S. (eds.) Hibernate Relational Persistence for Java &.NET (2010), http://docs.jboss.org/hibernate/stable/core/reference/en/ pdf/hibernate_reference.pdf

22. Geovise Hibernatespatial (Reported 14.06.2010) http://www.hibernatespatial.org/

23. Paolone, G., DiFelice, P., Liguori, G., Cestra, G., Clementini, E.: Use Case double tracing: Linking business modelling to software development. In: 7th Conference of the Italian Chapter of AIS, Napoli (October 2010)

24. Object Management Group, MDA, Model Driven Architecture, MDA Guide Version 1.0 (2003), http://www.omg.org/mda/mda_files/MDA_Guide_Version1-0.pdf.

25. Vivid solutions, JTS Topology Suite Technical Specifications Version 1.4. JTS Topology Suite (Reported 14.06.2010), http://www.vividsolutions.com/jts/jtshome.htm