Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

11.1 Introduction

The overall aim of Travel Mashups is to provide up-to-date, context- and location-relevant information about a traveler’s current information needs, in order to support them in making informed travel and exploration decisions. Context-relevant, personalizable, portable Travel Mashups are made possible in the modern technology-rich world largely due to ubiquitous, affordable mobile and wireless network technology. From London to Tibet to the Azores and back again, users have access to mobile and other wireless networks, which they are able to connect to seamlessly from their personal computing devices. With advances in technology and an increase in its affordability, the average end user is able to access a variety of small, portable devices, from feature phones to smartphones, to tablet PCs (Personal Computers) [18], able to connect to communication networks as the traveler roams between different locations, close to their home or across borders.

Nearly ubiquitous use of these devices has resulted in unprecedented participation on web platforms, with attendant masses of user-generated information, created explicitly or as a side effect of interaction with these platforms. By providing easy access to different methods for capturing and sharing information about their environment and current activities, a phenomenon has arisen that converts travelers into new nodes of interaction with and consumption of context-rich information. This creates the potential for all kinds of new services which leverage this user-generated content to provide peer-to-peer web applications, with dynamically updating information.

A long tradition of documenting and sharing activities and experiences in the physical world is increasingly being moved to the infinitely more flexible and wide-reaching on-line world. Focusing specifically on travel, information is shared on-line by end users via travelogues; blogs; wikis (e.g., Wikitravel Footnote 1); on-line photograph repositories (e.g., Flickr Footnote 2 and Instagram Footnote 3); on-line video repositories (e.g., YouTube Footnote 4); geo-social platforms (e.g., Foursquare Footnote 5); social networking sites (e.g., Facebook,Footnote 6 Twitter Footnote 7); on-line review and recommendation sites (e.g., Tripadvisor, Revyu Footnote 8). While each of these platforms and other relevant apps (applications) are independently created and built, a simple way in which they are easily connected is through the orchestration of relevant services that cover a particular travel information need.

We discuss in this chapter the amalgamation of this user-generated content and a variety of services to construct Travel Mashups. Section 11.2 looks at the information needs of end users in the Travel domain. Section 11.3 introduces a categorization of Travel Mashups based on a mashup’s target group and the mobility features supported by it. This section also presents an analysis of the features provided by state-of-the-art Travel Mashups. Section 11.4 introduces a generalized three-layer architecture for Travel Mashups, and discusses perspectives and opportunities for future Travel Mashups. The chapter closes with the presentation of a use case, the Topica Travel Mashup, which leverages social streams in order to provide a topical profile of Points of Interest in a specified location.

11.2 Travel Mashups in a Nutshell

Travel is defined in the on-line Free DictionaryFootnote 9 as: “the movement of people or objects (e.g. trains, cars, and other conveyances) from one geographical location to another”. The distance between the departure and destination points, and the crossing of geographical and political boundaries characterize a journey as local, regional, domestic or international. While these all have a number of similarities with respect to the traveler’s needs, each journey type is characterized by its peculiar information needs. For instance, formal, national identification (ID) such as a passport is normally not required for domestic travel, while such ID and sometimes also visas are needed to cross borders.

The factor that characterizes all travelers is that they often possess inaccurate, misinformed, incomplete, outdated, little or no information about the places they are visiting [9] and/or information on how to get there. This is in large part because the travelers are immersed in an environment that is in many cases new for them. Even for the (seasoned) traveler returning to a previously visited location, an element of uncertainty, due to (potentially) outdated knowledge, exists. This highlights the need for reliable, current, easy to interpret information. We discuss in this chapter the potential for Travel Mashups to bridge this information gap, by identifying travel information needs elicited by different travel scenarios.

11.2.1 Information Needs in Travel Mashups

Travel information needs vary according to the reasons (e.g. business, tourism, volunteering) and motivations (including, e.g., pleasure, relaxation, and discovery) for travel. The relevance of travelers’ information needs is transient, and commonly falls within a fixed temporal span, which covers the different stages of travel—before, during and after a trip [9]. The current context also plays a significant, albeit less overt, role in defining the traveler’s needs. Identifying accurately travel information needs, as well as the time span of relevance, are the first steps toward generating a successful travel mashup.

Travel information needs vary across the three key stages of travel:

  • planning for a trip—when travelers require information about their destination(s), the routes they can take to get there, and other requirements for successfully carrying out their travel plans;

  • the actual journey—when travelers require current information about POIs in their typically dynamically changing location;

  • post travel—when travelers relive and share their experiences with both close members of their physical and on-line social networks, and other more distant individuals and groups.

These stages all share common features which lie across physical, abstract, social, and temporal dimensions (see Fig. 11.1), which may be bridged in Web space (or cyberspace) using sensors and actuators [29]:

  1. 1.

    Physical Space: refers to the environment in which a user (the traveler) is immersed; including all the physical entities they interact with. For example, (i) their geographical location—departure, current, final destination, as well as all other intermediate locations; (ii) services such as transport, accommodation, nearby restaurants and tourist attractions.

  2. 2.

    Abstract Space: refers to non-tangible entities e.g. (state or charitable) organizations (e.g. Greenpeace Footnote 10) or commercial entities (e.g. travel agencies).

  3. 3.

    Social Space: refers to other users to which a traveler holds or can potentially hold a (informal) relation with, e.g. family, friends, or people with similar interests they have not met yet (other current, past or potential travelers, in this case).

  4. 4.

    Temporal Space: refers to the time span in which travel information needs are relevant to a user. This includes, e.g.,: (i) a specified extent of time prior to the start of the journey; (ii) the extent of time during which the journey takes place; and (iii) a specified extent of time after the journey has been completed (when the user has reached the final destination point—in the case of a round trip, this is the departure point).

  5. 5.

    Web Space: refers to the on-line world that bridges dimensions 1–4 above.

Fig. 11.1
figure 1

Travel information needs lie across different dimensions, merging social, spatial, and temporal features. Communication across these layers is achieved through the use of physical and virtual sensors which allows interaction between the traveler’s physical and Web space

A Travel Mashup may then be defined as the combination of a set of web-based sensors and actuators that, based on a user’s travel information needs, which may be weighted also by their personal preferences, retrieve relevant information from multiple sources and merge them such that they are presented to the end user as directly usable information. In this type of mashup users are able to interact with and immerse themselves more fully in their environment (i.e. physical space), by combining information coming from different types of sensors, both physical (e.g. GPS, mobile network hubs) and web-based (e.g. on-line social media streams).

We include here also virtual sensors, which allow the abstraction of data collection away from a fixed set of physical objects. Virtual sensor values are computed based on indirect or abstract measurements derived from multiple, distributed, often heterogeneous data streams [12, 19, 29]. A virtual sensor may define a number of valid sources of information, allowing it to poll for and retrieve information from different sources and at varying levels of granularity. The redundancy is useful for verification and validation of the information obtained from each source, and for providing backup sources of information.

A web-based sensor can be considered as an extension of the concept of virtual sensors, in which the measuring computation involves data streams generated from web resources [11]. Take, for example, the monitoring of flight prices to a particular destination, in which the aggregation of information coming from multiple on-line services triggers an event when the price falls below a pre-specified threshold. A web-based actuator may be regarded as a reactive computation that produces a response to a specified event. For example, if the price of a monitored flight drops to a desired price, an actuator service could automatically trigger a service that books this flight.

Another example of a virtual sensor, which makes use of a combination of multiple physical and on-line sensors to obtain information for one or more users, is alerting an individual to nearby “friends”, by

  • obtaining location information from the user’s mobile device’s GPS and/or connection to mobile or other wireless connections [physical space];

  • polling their on-line social network to check for the status of friends in their social network [social space, web space];

  • for those friends with status or calendar information “available” or “free time”, respectively, checking their location information to determine who is nearby [social space, temporal space];

  • polling for nearby locations that meet this group’s preferences for, e.g., activities or events, in order to recommend suitable locations to meet [physical space, abstract space].

Travel Mashups leverage web-based sensors and actuators to merge the spatial, social and temporal dimensions (described above), in order to provide services that cover a specific travel information need. This, combined with the smartphone revolution, and the advent of the “Web of Things” [32], introduces a new platform able to meet the travel information requirements of end users in a dynamically changing world, by enabling ubiquitous Travel Mashups. We carry out in Sect. 11.3 a categorization of Travel Mashups and an analysis of the services they employ.

11.3 Mashups in the Travel Domain

Travel Mashups combine data, presentation and functionality from various external sources to create a service whose aim is to fulfill a specified travel information need. Section 11.3.1 presents a characterization of current Travel Mashups.

11.3.1 Characterization and Purposes of Existing Travel Mashups

11.3.1.1 Characterization on the Basis of the Target User Group

Mashups can be characterized according to the user group they target [6, 22]. How and what information is presented to the end user is also influenced by whether the target is the general public—an individual or a group traveling together—in which case consumer mashups apply. Such mashups aim to assist the traveling public to make informed travel decisions, as consumers of commodities and services. Alternatively, from an enterprise perspective, the aim is to assist Travel Mashup developers to integrate their services with existing composite services—in this case Enterprise Mashups (i.e., business or commercial) apply.

On this basis we categorize Travel Mashups as:

  1. 1.

    Consumer Travel Mashups: This type of mashup is designed to provide a final service to an ordinary user who consumes this service at a personal level. This category can be further subdivided into:

    1. (i)

      Collaborative Travel Mashups, which target communities as their final users. Such mashups serve both as an information provider and as an information consumer, as these mashups leverage the information generated as a side effect of their use. Examples of these services are Recommendation Travel Mashups, which enrich their recommendation models based on users’ preferences. One example is Schemer,Footnote 11 which, based on activity and interest-based schemas generated by a location-based community, recommends locally available services. In this case the mashup services are dynamically filtered by location. Schemer therefore also provides location-based mobility (see Sect. 11.3.1.2).

    2. (ii)

      Personalized Travel Mashups, which, by targeting individual users, provide tailored services to meet each user’s travel information need based on the users’ profile. Personalization is closely related to Collaborative Travel Mashups, since (multiple) user profile information is used to feed their service models.

      The modern technology user is already largely familiar with the personalization of services in their physical and on-line activity [17, 21], in exchange for sharing personal information and other contextual information (e.g., location as captured by their personal devices) across systems and services. Personalization depends on user identification, which is commonly simplified by methods that allow the use of unique, persistent IDs through services such as OpenID [25], therefore improving the user’s experience, while reducing their load, by removing the need to authorize and personalize each service accessed. This allows users’ on-line activities, e.g. web browsing, on-line shopping, review and recommendation of services, social web media use [15, 20], to serve as information sources for user modeling. Further, the emergence of compelling social web platforms, such as Facebook and Twitter, have encouraged end users to pro-actively participate in information creation and enrichment; as a result, shaping their on-line personae and influencing their perception about how they are viewed by others (see, a.o., [26]).

      Explicitly created profile information, such as a user’s home and workplace (locations), age and occupation (characteristics), is fed into users’ static profiles, while frequently changing information (e.g. their current geo-location) contributes to users’ dynamic profiles. The overall user model is then enriched with historical information obtained by capturing users’ activities in both the physical and the on-line worlds. This, along with current contextual information collected from the user’s personal sensors (e.g., GPS, on-line social streams), provides support for personalization and recommendation of services to the user [1, 11]. In a Travel Mashup, location is a key contextual attribute for distilling information relevant to a user; a traveler with a preference for visiting museums and galleries would be recommended the Prado when in Madrid and the Metropolitan Museum when in New York.

  2. 2.

    Enterprise Mashups: Also referred to as Business Mashups, these concentrate on the delivery of a service at the level of software. In this case the final users are developers who make use of this service either as a building block for constructing more complex services or as an assembler service which enables developers to combine other applications [6].

11.3.1.2 Characterization on the Basis of the Travel Mashup Mobility Features

The construction and spread of communication infrastructure is growing rapidly, as the technology backing it also becomes increasingly advanced, resulting in communication bandwidths which allow the streaming of real-time, rapidly changing information [13]. Mobility has become a central aspect of the digital society, as a result of increased affordability of smartphones, other small devices (e.g., Personal Digital Assistants—PDAs) and tablet computers. This has led to the introduction of location-aware services in Travel Mashups. Mashups in this area include scenarios for tracking travel paths, navigation and social networking [16, 23, 31].

Travel Mashups can then be categorized on the basis of their capability to support mobility. The mobility functional range can be subdivided into user and location mobility.

  1. 1.

    User-Based Mobility: Acting as nodes of interaction and consumption, users mirror the desire to share information and experiences in the real (physical) world on-line, through blogs, fora, and social awareness streams (e.g. via Facebook, Twitter) [5, 13, 14]. Users produce data streams through their mobile devices, providing information about their physical context (e.g. location) [21], as well as their digital environment (e.g. adding new friends to an on-line social network, tweeting about a tourist attraction or eatery just visited). Ubiquitous, personal, near permanently connected devices have led to significantly increased engagement with mobile and on-line services. End users now produce data streams through their mobile devices on a continuous basis, as they move from one location to another and interact with both the physical and the on-line worlds.

    One example of user-based mobility services is Google Latitude,Footnote 12 which tracks users location through out the day, based on this information it provides statistics on where the user spends their time, at the level of granularity of day, month or year. Google Latitude also provides information about a user’s friends provided that their profiles are set as publicly available.

  2. 2.

    Location Mobility:

    • Location-Based Mobility: Geographical regions may be profiled not only by static information but also by real-time events which occur in a specified location. Such information exposes dynamic features that provide a spatio-temporal characterization of a physical region. Location-based mobility refers to the ability of a Travel Mashup to cope with these dynamic features. One example is the ‘Outbreaks Near Me’ Mashup,Footnote 13 which provides international travelers with geo-location-based, real-time surveillance on a broad range of emerging infectious diseases. This mashup combines geo-location-filtered data from a variety of alert services including the World Health Organization,Footnote 14 ProMED,Footnote 15 GeoSentinel.Footnote 16

    • Location-Aware Mobility: By location mobility we refer to the capability of a Travel Mashup to cope with changes of the services used in the mashup according to changes in location. One example of a location-aware Travel Mashup is the Pocket VillageTravel Mashup,Footnote 17 which combines location-aware services with geospatial data to provide travel-related activities and advice on tours. Based on a user’s input location this service collects data from services like Rezgo,Footnote 18 TourCMS,Footnote 19 and others, which in return provide different services featured by this input geo-location.

While the benefits of mobility in Travel Mashups can be clearly seen, the use of mobile devices for such apps is beset by a number of challenges, when compared to the use of laptops and desktops. These include, as already mentioned, higher cost of network access, especially when roaming. Considering the underlying hardware, the mobile device user must contend with small screen size, lower computing power, disk space, and memory. In addition to these, any design for mobile apps must also consider, in normal usage of mobile devices, a greater number of external distractions and constantly changing context—with an associated increase in cognitive load [2]. The result is that end users often abandon digital media for print (see [9]); doing so, however, means that users also lose the additional context and recency of information available via mobile, context-aware Travel Mashups and other related apps. Future Travel Mashups should benefit from the adoption of sensors delivered through, for example, wearable devices whose aim is to facilitate the integration of user-specific needs into the mashup, e.g., dietary restrictions due to health conditions matched to restaurants available in a location.

Section 11.3.2 provides a description of existing Travel Mashups by analyzing existing services available in distributed mashup repositories.

11.3.2 Categorical Distribution of Existing Travel Mashups

In order to characterize the trends of the functionalities offered by existing Travel Mashups we present an analysis of the types of composite services used in Travel Mashups extracted from two main mashup repositories: (i) Programmable Web;Footnote 20 and (ii) Yahoo Pipes.Footnote 21

As of February 2012, there were 496 and 598 mashups tagged as “Travel” on the Programmable Web Footnote 22 and Yahoo Pipes Footnote 23 websites, respectively. We found that in Programmable Web Travel Mashups used services from a pool of 95 unique composite services, while Yahoo Pipes used 96. Based on an analysis of each, we labeled these according to the type of service they provide. The service categories most frequently used in these Travel Mashups are presented in Table 11.1 and Fig. 11.2.

Fig. 11.2
figure 2

Categorical distribution of Travel Mashups

Table 11.1 Categories and subcategories are presented in descending ranked order, based on the number of composite service belonging to each

These categories give an insight into current trends in the development of Travel Mashups (see Fig. 11.2). As expected the majority of existing Travel Mashups involve the use of services that provide spatial information (e.g. geocoordinate information and maps), followed by the use of media-related services (e.g. Flickr and YouTube). The use of advertising and shopping services is also quite common, showing an increasing number of Travel Mashups providing access to on-line payment services.

Travel Services are also widely used as composite services for retrieving, e.g., travel guides and booking services. Search engines, along with reference services, are also a very common composite service in Travel Mashups. Finally, the use of the Social Web shows the emerging appearance of social dating services in Travel Mashups.

From the point of view of the developer there is wide adoption of mashup service platforms (e.g. yahoo.pipes) for service composition. Particularly, rendering services (e.g. Google Fusion Tables Footnote 24), which provide visualizations that adapt to the type of data provided in a Travel Mashup, are widely adopted.

Mobility requirements in Travel Mashups generate the need to store and access information ubiquitously. In travel scenarios, where users are immersed in unknown environments, the availability of their personal data at any time, independent of their current location, is essential. Some of the Travel Mashups analyzed include cloud storage as a composite service to tackle this issue.

There appears also to be an emerging trend toward the use of streaming services for collecting social as well as event-related information. Travel Mashups also make use of services that provide volatile information regarding locations, i.e., information that is relevant to locations only for a particular period of time (e.g. news, deals, and offers).

Ubiquitous access to information as well as dynamically evolving needs are among the key emergent characteristics of travel information needs in today’s Digital Society. Taking into account the analysis presented here, Sect. 11.4 presents a generalization of a Travel Mashup architecture.

11.4 Travel Mashups—Design & Architecture

Although Travel Mashup architecture varies according to the type of information needs covered, a number of core architectural features exist that are common to all such mashups. Figure 11.3 depicts the fundamental structure of a Travel Mashup which consists of three layers: (i) the Information Sources Layer; (ii) the Travel Mashup Generation Layer; and (iii) the Presentation Layer, which build on each other.

Fig. 11.3
figure 3

Generic three-layer Travel Mashup architecture

11.4.1 Information Sources Layer

The lowest layer, Information Sources, represents the Web services and resources that are the foundation of a mashup. These sources may be internal or external, and can include real-time information by means of streaming services and static information. These sources can be queried a priori (in the case of static or rarely changing information), or on the fly. A common method for retrieving information from external sources is the use of REST services, which address web services as resources.

11.4.2 Travel Mashup Generation Layer

This layer involves the orchestration and adaptation of services to a particular travel information need within a location-based setting. This layer consists of the following stages:

  1. 1.

    Personalization: This stage captures the characterization of a user. The user profile representation includes the analysis and representation of user-specific features which can be based on historical (e.g. a user’s address and language) or real-time information (e.g. a user’s current location).

  2. 2.

    Location Awareness: While a regional space can be described statically based on a name and a set of geocoordinates, a dynamic representation of a location can be achieved through location profiling. This stage involves the process of profiling a regional area by means of internal (e.g. mashup’s location profiling services) and external location services (e.g. external location trend services). This task involves collecting features that characterize a physical space. Processes in this stage include, e.g., location trend and topical analysis.

  3. 3.

    Mashup Logic: This stage consists of all the processes involved in the logic of the mashup. It can be subdivided into three main interdependent sections:

    1. a.

      Information Gathering and Augmentation: When data are retrieved from the Information Sources layer, further related information can be extracted from external knowledge sources like Linked Data.Footnote 25 The information augmentation stage communicates with the Knowledge Representation services which keep a local, up-to-date knowledge repository containing the information handled in the mashup.

    2. b.

      Services Composition and Integration: According to the type of services that a Travel Mashup provides, existing services will be composed and integrated. Service orchestration can be carried out statically where the service interfaces and available data types are known a priori; or dynamically where the available data are matched against the available services’ interfaces. The input and output data generated by these services will be handled by the knowledge representation services.

    3. c.

      Server-side Knowledge Representation Services: This stage handles services related to data modeling, retrieval and storage of information, providing an interface to the data persistence stage and to the presentation layer. This stage also involves the execution of learning services which take information from the Travel Mashup’s knowledge sources and carry out inferences over these data.

      This stage also handles the design of the Travel Mashup data model, which can be exposed as Linked Data. (Standard) schemas for exposing structured data from the Travel domain can be found at: (i) schema.org,Footnote 26 (ii) OpenTravelFootnote 27 community, and (iii) W3C’s Points of Interest Core.Footnote 28

    4. d.

      Data Persistence: This stage consists of services for persisting data either locally or by means of shared remote infrastructure (i.e., cloud storage). This stage is accessed through services provided in the Server-side Knowledge Representation Stage.

In order to account for personalized travel information needs, the Personalization stage can be merged into the Mashup Logic. In the same way, if the Travel Mashup must account for changes in the travel information needs according to changes in a location feature before the Location-Awareness Stage can be plugged into the Mashup Logic. The majority of current Travel Mashups manage user and location profiling based on static attributes of their users and their locations. However, the recent increase in accessibility of Social and Location-based streaming services, which provide real-time changing features, encourages programmers to develop mashups that account for these dynamic features. This integration is achieved by merging information coming from the personalization and location-awareness stages into the Mashup Logic.

11.4.3 Presentation Layer

The presentation layer is the interface between end users and the services provided by the mashup. The stages involved in this layer change according to the target group of users—consumer or enterprise (see Sect. 11.3.1)—to which the Travel Mashup is addressed.

11.4.3.1 Consumer Travel Mashups

The presentation layer for Travel Mashups targeting private end users involves the use of a device (e.g., mobile or desktop), in which an application serves as the interface to the Travel Mashup services. The stages involved in the realization of these interfaces include: (i) Client-side Knowledge Representation Services; (ii) Visualization; and (iii) Interaction.

  1. 1.

    Client-side Knowledge Representation Services: This stage exposes services that act as a proxy to the Mashup Generation Layer. These services cope with the business logic related to client-side data management as well as the business logic required for retrieving information from the server-side services exposed by the Mashup Generation Layer.

    In rich, interactive Travel Mashups, users expect an application to respond quickly to interaction and transitions, especially where dynamic visualization is used. For this reason, some Travel Mashups employ client-side data management and caching, preload data before running the application. This also has the advantage of supporting off-line navigation services—often an issue during travel, when the user may not have access to an Internet connection.

    For Web-based applications client-side data management and caching is commonly achieved by means of HTML5 webstorage.Footnote 29 This API defines key-value pair data storage in web clients in which the expiration of the data is handled through user sessions or scripting.

    For knowledge-based Travel Mashups, which deliver client-side, light-weight learning and inferencing based on information extracted from user interaction with the visualization, the use of light-weight knowledge repositories is also required. Although this particular setup is still an area of research, the use of HTML5 webstorage and RDFa-based triple stores such as rdfquery Footnote 30 is currently being implemented [10].

  2. 2.

    Visualization Stage, which involves the use of external or internal rendering services. Rendering services are a subset of the services involved in the application interface presented to the end user. The data passed to these (rendering) services are usually extracted through the services contained in the Client-side Knowledge Representation Services (see point 1). In the case of Web-based visualization, CSS-based designs are employed for visualizing information according to their data types. For example, CloudMade Maps Footnote 31 provide services that render location information using customized cartography styles. Another example is Google Fusion Tables, which provides services for visualizing data on maps, timelines, and charts.

  3. 3.

    Interaction Stage: Interaction in Travel Mashups acts as trigger of input–output services from the Mashup Generation Layer. The interaction stage is tightly coupled to the rendering services in the visualization stage, and with the use of client-side stored data. The services triggered by user interaction activities are generally performed through the use of Asynchronous JavaScript over XML (AJAX). The use of AJAX helps to reduce response time, and hence, improve interactivity. Touch and gesture interaction are also widely used in Travel Mashup applications. For HTML5-based Travel Mashup applications, the W3C specification for abstracting touch and finger gestures in HTML5, the Touch Events API Footnote 32 is recommended.

11.4.3.2 Enterprise Travel Mashups

In contrast to the Consumer Travel Mashups, the Enterprise Travel Mashups consist of software services which not necessarily involve a visualization stage. Enterprise Travel Mashups are ready to use pieces of software which are exposed as services, or as a Travel Mashup enabler service. In the latter case the service may be a building block to other services. Providers of enterprise mashups often expose and advertise their service APIs using existing mashup repositories such as ProgrammableWeb and YahooPipes.

11.4.4 Toward User and Location-Aware Travel Mashups

Despite the fact that wearable sensors are still not widely adopted, the design for future Travel Mashups suggests the continuous integration of user and location dynamic features into mashup logic. On the basis of this integration, a Travel Mashup can be classified according to its functional range and the changing rate of information that the mashup’s logic can support (see Fig. 11.4).

Fig. 11.4
figure 4

Classification of Travel Mashups based on their functional range and changing rate of information

The majority of current Travel Mashups integrate static and rarely changing data on user and location profiles into their mashup logic stage. In Fig. 11.4 these mashups correspond to the

The integration of streaming data, which reshapes user and location profiles in real-time and feeds into a Travel Mashup logic, is still an area of research; particularly for knowledge-based Travel Mashups in which this integration involves the use of on-line learning algorithms [7, 24].

The complexity for delivering intelligent, real-time Travel Mashups increases as location and user awareness features are added to the mashup business logic. The goal for future Travel Mashups is to cope with advancing technology and new algorithms capable of supporting the merging of these features, in order to deliver services to meet increasingly complex and wide-ranging travel information needs. This is exemplified in Fig. 11.4 by the coordinates (x,y,z) where x={Real-Time}, y={User–Location Profiling}, and z={Consumer, Enterprise}.

Section 11.5 presents the Topica Travel Mashup, as an example of a knowledge-based Travel Mashup. This consumer mashup uses on-line social activity streams as an information source for building a topic-based profile of locations.

11.5 Topica Mashup—Visualizing Emerging Semantics of POIs

The rise of ubiquitously available social media services has contributed to altering how people engage with their social context and environment. Particularly, social activity streams, which are a collection of semi-public, natural-language messages produced by different users and characterized by their brevity, have revealed new patterns of communication characterized by high social connectivity and their ability to communicate trends [3, 28].

The development of Social Web platforms that enable real-time posting of information suggests the use of humans as sensors. Citizen sensor networks is an emerging area of research in social computing, which regards the Social Web as a network of interconnected, participatory citizens who actively observe, report, collect, analyze and disseminate information about events and activities via text, audio and/or video messages in almost real-time [27].

The use of citizen sensing for Travel applications has resulted in a new generation of applications which demand real-time processing of very large amounts of data. One of the characteristics that make citizen sensing extremely useful for situational awareness in Travel Mashups is the different dimensions reported about a particular event occurring at a specified geographical location. Multiple perspectives of a single event can be derived by taking into account the information contained in the spatio-temporal metadata captured by the device from which a piece of content is posted.

In this section, we present the use of social stream aggregations as a data source that can convey meaningful, collective information for modeling dynamic characteristics of a POI. Although a POI is typically represented as a set of static data (e.g. name, address, geocoordinates), there are many latent (or hidden) features which can describe volatile and temporal aspects of it. For example, an Italian restaurant may be well known for good, hand-made ravioli, or for the (transient) two-for-one offer available during the current month.

We present Topica,Footnote 33 a mashup application based on social awareness streams that enhances collective information about a POI by leveraging structured data extracted from the Linked Data (LD) cloud. The Topica application provides the following contributions to the state of the art:

  1. 1.

    Exposing Latent Features of POIs as Linked Data. In order to achieve this we exploit the information available from a number of social media and web-based services:

    • Facebook Locations—the Facebook representation of a POI– and Facebook Pages Footnote 34 to retrieve information contributed by the ordinary end user and more official sources about events and activities related to a Facebook Location (a POI);

    • OpenCalais,Footnote 35 Zemanta,Footnote 36 and DBpedia Spotlight,Footnote 37 to disambiguate and enrich entities extracted from social awareness streams, and enable further retrieval of related information from the LD cloud and other Semantic Web (SW) services [28].

  2. 2.

    Mashup Visualization of POIs. Each POI is presented with a set of topics, tags and messages, in addition to an address and a title. The visualization is created using the Prism framework,Footnote 38 which acts as a filtering interface. The framework enables synchronous filtering of POIs based on their facets (or attributes).

11.5.1 Application Scenario

To illustrate our work consider the following scenario:

Alice, who grew up in Rethymnon, in Crete, has moved back to take up a new job in the city, after having been away for almost 10 years to study and then work in a different city. Alice wishes to revisit old haunts as well as explore what is new in Rethymnon. She starts with the city center and its immediate surroundings, to find out if the venues she often frequented in her late teens match her (evolved) interests. Recognizing also that some of the places she remembers may no longer exist, Alice decides to make use of an app suggested by a colleague for discovering venues and events in her (physical) neighborhood. This app , which she is able to access from a (desktop) web browser and also her new smartphone, allows her to browse current topical information about nearby POIs, based on (collective) information contributed by visitors to these POIs and also from more official sources (such as event organizers and venue managers).

Although Alice is not, strictly, a traveler, her information needs in this scenario match those of a traveler seeking information about a selected location during the the actual journey stage of travel. We demonstrate the approach taken in Topica to realize this scenario, i.e., to support topical recommendation of POIs based on POIs’ latent features. In order to do so, Topica analyzes publicly available social stream information—in particular Facebook—filtered by location—in this case the city of Rethymnon on the island of Crete, in Greece.

Topica models space based on the topical information buzzing in social media streams. From the city center and its immediate surrounds, location-based filtering is performed to derive topical information. This information is aggregated to profile regional areas enabling Topica’s users to expand a topical search from a focus to include increasingly wider radii of regional interest.

From an SW point of view, Topica identifies the topics that model a POI by extracting DBpedia categories from (key) entities (e.g. Location, Organisation, People, Places) and keywords obtained from the POIs’ related social awareness streams—in this case, an aggregation of Facebook comments regarding a POI. From Alice’s point of view, Topica allows her to retrieve topical information of interest to her from the collective information obtained by aggregating comments contributed by users in the locality. She is able to select from these topics that match her interests—she chooses now to focus on music (Jazz, World Music) and food (Italian). Topica is then able to retrieve POIs by topic as well as the related current, valid concepts and categories that feature a POI.

Alice decides to try out one of the Italian restaurants suggested by Topica with a couple of friends. During the meal she posts a comment on Facebook Places about the restaurant, and comments on her main meal (ravioli with a creamy lobster sauce) and the live Jazz band playing. This information is consumed by Topica, which then reprofiles the regional area (in this case the POI) accordingly (to include, in addition to Italian_Cuisine—which prompted Alice to select this restaurant, also Sea_Food and Jazz_Music).

11.5.2 The Topica Application

Topica facilitates the retrieval of POIs by characterizing them with latent topical features extracted from the collective perception of a POI over a period of time. As demonstrated in Sect. 11.5.1, Topica exploits social awareness streams to enrich POIs with structured data from the LD Cloud and provide a filter-based visualization of POIs.

11.5.2.1 Enriching POIs with Linked Data

The approach taken in Topica, illustrated in Fig. 11.5, encompasses the following steps:

  1. (1)

    For a given geographically bounded area (i.e. a collection of geocoordinates contained within a delimited area) Facebook locations are retrieved.

  2. (2)

    Using the Facebook location properties (e.g. Name, Address, Description) we align the location (POI) with a Facebook page.

  3. (3)

    For each Facebook page, comments are extracted. These comments are enriched by querying the following services: OpenCalais, Zemanta, and DBpedia Spotlight. From these services, keywords, entities, and related pages are extracted.

  4. (4)

    The data collected (in points 1, 2, and 3) are used by Topica to generate a list of potential DBpedia resources. In order to model the topics of a comment, Topica uses this resource list to query DBpedia. For each resource DBpedia’s categories and broader categories are extracted. For example, for the resource Ravioli, these categories include: Pasta and Italian_Cuisine; and broader categories for Italian_Cuisine includes: Mediterranean_Cuisine and Italian_Culture. The set of categories collected from the comments of a page are weighted following a tf-idf (term frequency–inverse document frequency) function.

  5. (5)

    We encode POIs in a structured format—RDF—using shared vocabularies including: SIOC,Footnote 39 SKOS,Footnote 40 and CURIO.Footnote 41 Our ontology, LinkedPOI, takes advantage of sioc:Container and curio:LocalisedItem to model POIs as elements of a bounded area (linkedPOI:Patch). This allows SPARQL queryingFootnote 42 for concepts featuring a bounded area.

Fig. 11.5
figure 5

Topica architectural design

11.5.2.2 Map-Based Visualization

Topica makes use of the Prism Framework to enable synchronized semantic filtering of POIs. Prism is a JavaScript Semantic framework that allows the creation of synchronized semantic filters using a seed query. Prism relies on OpenStreetMap Footnote 43 and Google Maps.Footnote 44 It computes a SPARQL query against a set of filter parameters in order to select a subset of the objects returned by the seed query. Topica uses the following Prism filters:

  1. (1)

    The Location lens is used to filter POIs according to their location, using geocoordinate information. This activity is supported through the use of a map widget.

  2. (2)

    The Tag lens enables the selection of POIs according to their associated tags. This involves the generation of a geo-tag filter to allow the retrieval of POIs labeled by a given tag.

  3. (3)

    The Search lens provides a text filter that operates on the POIs’ messages. This filter extracts POIs based on comments in emerging social streams that contain the search text.

By employing the Prism framework Topica is able to support the user to retrieve information stored in the LD cloud using intuitive visualization. The visual representation provides a consistent and synchronized view of POIs according to the filter parameters provided by the user. When the user is satisfied with the values returned by the filters, they can access a description of a particular POI by clicking on a map object from the POI list. The pop-up visualization revealed provides a description of the POI. The description includes the name and address of the POI, its tags and topics, and the different social messages associated with the POI (Fig. 11.6).

Fig. 11.6
figure 6

Overview of the Prism-rendered Topica user interface, showing sub-windows with additional detail for the POIs selected

11.5.3 Topica Mashup—Summary of Key Features

Topica improves on existing POI retrieval apps in that Topica: (1) does not require end users to explicitly contribute information about events—the mashup extracts these from users’ social interaction data; (2) as in [8], Topica enriches POIs, but goes beyond the work of Braun et al. by adding DBpedia resources extracted from comments related to POIs. By using SW services, such as OpenCalais and Zemanta, we provide even richer annotation and widen recall during information retrieval.

Topica was developed to support especially those end users who may have little to no knowledge about where to find information about nearby physical entities, but who are able to trigger search based on their interests. Topica caters to the modern user’s expectations of ubiquitous technology, by exploiting the collective knowledge of crowds to satisfy overlapping information requirements. We plan to improve information retrieval by employing syntactical analysis of comments in order to filter out spam, and to obtain entities that are more relevant to POIs. Topica currently uses fixed snapshots in time for each of its location datasets (December 2010–January 2011)—the restricted dataset was to allow a focus on the design and the development of the backing technology. We aim, however, to move to dynamic batch update, to ensure that the fully working tool allows the end user to retrieve the most recent information about POIs, in addition to still valid historical information. Future work also includes the modeling of relevance decay functions for the latent features of POIs.

11.6 Related Work—Applications

Searching for information about POIs and events in a user’s environment is an oft-performed activity. Support for meeting the traveler’s (current and projected) information needs is typically available to them prior to embarking on a journey, in physical locations such as their travel agent, on a variety of web sites publishing information based on end-user experiences of places and services, in addition to vendor-supplied information (e.g. by tourism and culture ministries and other relevant state organizations, travel agencies, airlines, transfer services, hotels and other relevant hospitality services). However, as the traveler moves away from their home environment to less familiar or completely unknown locations their ability to access information becomes increasingly limited. This is due both to restricted and/or significantly more costly access to computing resources while on the move and little to no knowledge of alternative bricks and mortar services where they might find the information sought. Travel Mashups help to fill this gap by providing a one-stop shop, based on the current or other specified location, and in some cases, personal information about the end user, to provide tailored services to satisfy the user’s information needs—through the planning stage and the actual journey.

Computing-based applications to support traveling increasingly make use of on-line resources that encourage end user (traveler) contributions by making use of SW and Web 2.0 technology [13, 14]. Well-known examples include TripIt,Footnote 45 DBpedia Mobile,Footnote 46 Revyu.com,Footnote 47 MetaCarta Footnote 48 and CouchSurfing.Footnote 49 Other on-line services that make no (explicitFootnote 50) use of SW services still remain popular with travelers—including TripAdvisor Footnote 51 and Journeywoman.Footnote 52 A notable advantage in the use of such resources, especially those that take advantage of SW technology to enrich user-contributed information, is the varied and rich contextual information contributed from multiple perspectives, by end users with actual experience of the locations and services they describe.

Hao et al. [14] demonstrate the use of information extracted from travelogues to obtain information specifically geared at the traveler, by other travelers. DBpedia Mobile [4] is a location-aware SW client, which, based on the user’s GPS or IP (Internet Protocol) information, renders a map with nearby locations extracted from the DBpedia dataset. Icons are used to provide information about different entity types in the overview, and the application queries the LD cloud for additional information on the user’s focus. Other applications, such as Stevie [8], allow users to share and browse temporal information about POIs—events—on a map visualization, based on the location broadcast by end users’ GPS. Stevie annotates the information shared using an ontology, and by linking to corresponding entities in DBpedia.

Automated Murmurs [13] makes use of the contributions by end users from mobile, location-aware devices to provide context-sensitive information about POIs. While developed for mobile use, it also provides a (desktop) web browser version. Automated Murmurs encourages the attachment of media—video, audio and images—to the messages exchanged, as a way of providing additional information to the (default) text content. Information is exchanged via GPRS (General Packet Radio Service), or where not available, SMS (Short Messaging Service) and MMS (Multimedia Messaging Service). The service prioritizes push services to users in common social networks, in addition to relevance based on location and context. One added benefit in the application is support also for indoor use, predominantly via Ubisense,Footnote 53 in addition to GPS, to obtaining geo-location information. Automated Murmurs supports the submission of reviews about POIs and relevant services, and mapping and storing routes through its map interface. Finally, it also promotes the creation of new social contacts between co-located users.

MetaCarta, while not specifically targeted at traveling, may be used to obtain news and breaking events, as well as location-specific information about POIs and local events in a traveler’s destination. MetaCarta uses location-specific information collected from both traditional and on-line news media to provide “geographic intelligence solutions”. By linking this to a geographical knowledge base and custom gazetteer, MetaCarta is able to provide in-depth context- and location-aware information, with options to personalize the information presented to an end user.

Tintarev et al. [30] demonstrate the added benefit in personalizing recommendations of popular POIs for tourists. Hornecker et al. [17], like [30], recognize the benefit in using personal information to guide the exploration of new areas. To reduce information load and to allow serendipitous discovery, however, [17] only alert the user to POIs nearby that match their preferences or that are similar to previously visited POIs. Sheth and Thomas [28] recognize the specific challenges in retrieving semantically enriched information in dynamically evolving situations, such as commonly occurs in social media.

One limitation in mobile device-based travel and tourist applications is that they are often tied to a specific location or type of institution (e.g., museums), often due to limited resources in small devices and the cost of network access [9, 13], especially when roaming outside a user’s home location ([21] provides some examples).

11.7 Conclusion

This chapter has examined state of the art perspectives in the design and development of Travel Mashups. We have explored the varying travel information needs of the modern technology user, and mapped these to the social, abstract, physical, and temporal dimensions which they span in both the physical and the on-line worlds. By examining also how mobility in the digital society has re-characterized travel information needs we have identified where these changes have introduced new perspectives for the categorization of Travel Mashups. Based on this analysis we have provided further categorization based on the mobility features offered by Travel Mashups, and based also on the target group to which the mashup services are offered. We have introduced, in this chapter, a generic three-layer architecture for Travel Mashups, which takes into account an information sources layer, a generation layer and presentation layers. These layers cater for knowledge-based orchestration of services and the capability for exposing Travel Mashup data as Linked Data, in order to support structured capture and reuse of the collective knowledge that feeds into Travel Mashups.

This chapter provides a description of the Topica Travel Mashup, to illustrate how the design and architecture ideas presented are met in the state of the art Travel Mashup. Topica uses social stream data as an information source, to provide knowledge-based, business logic that meets the travel information needs of different end users. Topica associates the retrieval of POIs with topical information, based on the end user’s expressed and implicit interests, which characterize POIs in the user’s physical location.

The chapter concludes with a review of existing Travel Mashups and other closely related web- and mobile-based apps. As future perspectives of travel information needs include the demands of real-time location and user awareness, future Travel Mashups will need to cope well with real-time changes in user and location features as well as the dynamic integration of composite services able to adapt on the fly to these changes. We envisage that research in the field will continue to result in improvements to existing services, as well as the development of new SW-enabled services to meet the expectations of the modern, ubiquitous technology user.