“Open-Source, Web-Based, Framework for Integrating Applications with
Social Media Services and Personal Cloudlets”
Deliverable D5.2
Social media related services evaluation phase 1
Disclaimer:
The OPENi project is co-funded by the European Commission under the 7th Framework Programme. This document reflects only Workpackage: WP5 – Service and Application Development
Authors:
Timotheos Kastrinogiannis (Velti), Theodoros Michalaeras(Velti), Iosif Alvertis (NTUA), Evmorfia Biliri(NTUA), Fenareti Lampathaki, (NTUA), Claudia Villalonga (CGI), Susana Ortega (CGI)
Status: Final Date: 16/09/2014 Version: 1.2
OPENi Project Profile
Partners
Waterford Institute of Technology
Coordinator Ireland
National Technical University of Athens (NTUA),
Decision Support Systems Laboratory, DSSLab Greece
Fraunhofer-Gesellschaft Zur Foerderung Der
Angewandten Forschung E.V Germany
INFORMATICA GESFOR SA Spain
AMBIESENSE LTD UK
VELTI SA Greece
BETAPOND LIMITED Ireland
Contract No.: FP7-ICT-317883 Acronym: OPENi
Title: Open-Source, Web-Based, Framework for Integrating Applications with Social Media Services and Personal Cloudlets
URL: www.openi-ict.eu Start Date: 01/10/2012
Duration: 30 months
Document History
Version Date Author (Partner) Remarks
0.1 29/05/2014
Iosif Alvertis (NTUA), Evmorfia Biliri(NTUA), Fenareti Lampathaki, (NTUA)
Contribution for Recommender SE section
0.2 02/06/2014
Timotheos Kastrinogiannis (Velti), Theodoros Michalaeras (Velti)
Contribution for Advertising SE section
0.3 01/07/2014 Claudia Villalonga (CGI) First integrated version
0.4 07/08/2014 Susana Ortega (CGI) Integration of Health SE section
1.0 13/08/2014 Susana Ortega (CGI) Deliverable provided to Project Coordinator and reviewers
1.1 16/09/2014 Timotheos Kastrinogiannis
(Velti) Fixing reviewers comments
Executive Summary
This deliverable describes the outcome of “T5.2 Social Media related services evaluation software, Phase 1” of the OPENi project. This task is responsible for developing the Service Enablers that provide enhanced features to OPENi developers. These features will be available for WP6 applications.
For each Service Enabler in this document, there is a description of their features, design considerations, and a demonstration (where applicable) for the first phase implementation.
These Service Enabler (SE) first prototypes will be developed further in the next phase in order to enhance their functionalities or implement the missing ones.
Table of Contents
1
Introduction ... 9
2
Advertising SE Prototype ... 10
2.1 Advertising SE Overview, Motivation and Goals ... 10
2.1.1 OPENi Advertising SE Overview ... 10
2.1.2 OPENi Advertising SE Motivation, Goals, and Key Innovations ... 10
2.1.2.1 Mobile Marketing and Advertising Landscape and Motivations ... 10
2.1.2.2 Advertising SE Goals ... 12
2.1.2.3 OPENi Advertising SE Key Introduced Innovations ... 13
2.1.3 OPENi Advertising SE Methodology... 14
2.2 Advertising SE Prototype Design and Architecture ... 15
2.2.1 Advertising SE Functionality and Components Overview ... 15
2.2.2 Advertising SE: Process, Information Flow & Privacy Awareness ... 17
2.2.3 Advertising SE: Data Modelling and API Specification ... 20
2.2.4 Advertising SE Audience Management Metrics and Innovations ... 22
2.3 Advertising SE Prototype Implementation ... 26
2.3.1 On Advertising SE Audience Management Dashboard and Dashboard Features ... 26
2.3.1.1 Audience Management Dashboard Use Case: “Mobile Applications Marketing Campaign” ... 26
2.3.1.2 Audience Management Web Application Map ... 28
2.3.1.3 Audience Management Dashboard Plots ... 29
2.3.1.4 Audience Management Dashboard Analysis ... 30
2.3.2 Cooperation with OPENi Components and Interdependency with other Work Packages ... 33
2.4 Advertising SE Prototype Demonstration and Source Code ... 34
2.4.1 OPENi Advertising SE Web Application Technology and the use of the Dashboard ... 34
2.5 Advertising SE conclusions and outlook ... 35
3
Recommender SE Prototype ... 36
3.1 Recommender SE Features ... 36
3.1.1 Goals of the Recommender SE ... 36
3.1.2 Features ... 36
3.1.3 Unique Value Proposition ... 37
3.2 Recommender SE Prototype Specification ... 38 3.2.1 Scenarios... 38 3.2.2 Categorizations ... 39 3.2.3 Context Dimensions ... 39 3.2.4 Data Modelling ... 41 3.2.5 API ... 43 3.2.5.1 Places ... 43 3.2.5.2 Products ... 44 3.2.5.3 Applications ... 45
3.3 Recommender SE Prototype Implementation ... 46
3.3.1 Algorithm ... 46
3.3.2 Architecture & Workflow ... 47
3.3.3 Techstack ... 49
3.4 Recommender SE Prototype Demonstration ... 51
3.5 Recommender SE Conclusions and Outlook ... 53
4
Health SE Prototype ... 54
4.1 Health Service Enabler Features ... 54
4.1.1 Health Service Enabler Goals ... 54
4.1.2 Interdependency with other Work Packages ... 54
4.2 Health Service Enabler Prototype Components Specification ... 54
4.2.1 API ... 54
4.3 Health Service Enabler Prototype Implementation ... 55
4.3.1 Tools and technologies ... 55
4.3.2 Description and Workflow ... 55
4.4 Health SE Prototype Demonstration ... 57
4.5 Health SE Conclusions and Outlook ... 59
4.5.1 Conclusion for prototype 1 ... 59
4.5.2 Prototype 2 Plans ... 59
List of Figures
Figure 1. Mobile Marketing and Advertising Land Scape ... 11
Figure 2. Mobile Marketing Limitations and Drawbacks ... 11
Figure 2-3: Advertising SE Role in Mobile Ad Serving Ecosystem ... 12
Figure 4. Advertising SE Architecture and Functional Blocks ... 16
Figure 5. Advertising SE Information Flow Diagram ... 17
Figure 6 Advertising SE GUI Web Application Map ... 28
Figure 7: Relation of Recommender SE with other Work Packages ... 37
Figure 8: The general domain model of the Recommender SE ... 42
Figure 9: Recommender SE Architecture ... 48
Figure 10: Recommender SE Sequence Workflow Diagram ... 49
Figure 11: User1 gets recommended categories ... 51
Figure 12: User1 issues a request for recommendations, asking that only his gender and age range are taken into consideration ... 52
Figure 13: User2 issues a request for recommendations, asking that only his gender is taken into consideration ... 52
Figure 14: User2 issues the same request, but only age should influence the result ... 53
Figure 15: Health SE interactions ... 54
Figure 16: Sequence diagram for retrieving all objects from a cloudlet ... 56
Figure 17: POSTing an ORU_R01 message to the cloudlet ... 57
Figure 18: BMI cloudlet ... 58
Figure 19: REST Client: HL7 ORU_R01 message from retrieving a cloudlet ... 59
List of Tables
Table 1 Advertising SE Targeting Segment ... 22Table 2 Advertising SE User Profile Targeting Segment Metrics ... 22
Table 3 Advertising SE User Mood Targeting Segment Metrics ... 23
Table 4 Advertising SE Location-aware Targeting Segment Metrics ... 23
Table 5 Advertising SE Social Life Targeting Segment Metrics ... 24
Table 6 Advertising SE Mobile Device Environment Targeting Segment Metrics ... 25
Table 7 Advertising SE Apps Centric (User Experience) Targeting Segment Metrics ... 25
Table 1-1: Categories of CBS used to correlate them with user groups ... 39
Table 1-2: Context used as input either from the system or from the user Cloudlet (after given permissions) ... 39
Table 1-4: Get Recommender Places API Method ... 43
Table 1-5: The Recommendation Algorithm of the Recommender SE ... 47
Table 1-6: Calculate_similarity (context node N1, context node N2) ... 47
Table 3-7: Recommendation Frameworks ... 49
1 Introduction
Under the description provided in the OPENi DoW, T5.2 “will make use of the social media related APIs (social, video, photo, music, location based services) to provide services that will take advantage of information and functionality otherwise only inherently available through implementing dedicated social media APIs…in close collaboration with Task 5.1 so as to ensure the security of users’ data and the anonymity of all users. These service definitions will provide the building blocks of the demonstrators produced in WP6.”
The Serve Enablers included in this task are the following:
Advertising SE
Recommender SE
Health SE
The Advertising Service Enabler (SE) aims at enabling advertisers (OPENi service providers) to use OPENi opted-in users’ anonymized personal data in order to enable proficient mobile marketing audience management, as well as targeting optimization and personalization in advertising.
The OPENi Recommender SE is an extension over the central OPENi Architecture (D4.1) that allows developers to build applications enhanced with recommendations natively provided by OPENi, without violating users’ cloudlet privacy policy.
The Health SE aims at managing health and wellness data stored in the Cloudlet in order to enrich the results derived from those data via transforming the latter into a standard HL7 format in order any Health Organization with the necessary integration system to be able to exploit them.
2
Advertising SE Prototype
2.1 Advertising SE Overview, Motivation and Goals
2.1.1 OPENi Advertising SE Overview
In line with the description of Task 5.2, the following requirements (R) have been set for the creation of OPENi Service Enablers in the area of “Social Media Related Services”: “This task will make use of (R_1)
the social media related APIs (social, video, photo, music, location based services) to provide services that
(R_2) will take advantage of information and functionality otherwise only inherently available through
implementing dedicated social media APIs, in close collaboration with Task 5.1 so as (R_3) to ensure the security of users’ data and the anonymity of all users. These service definitions (R_4) will provide the building blocks of the demonstrators produced in WP6.”
Towards fulfilling the above requirements, with respect to OPENi WP2 use cases, the Advertising SE is introduced and analysed, while the corresponding Service Enabler’s (SE) prototype is presented in detail.
Advertising Service Enabler (SE) aims at enabling advertisers (OPENi service providers) to use OPENi opted-in users’ anonymized personal data in order to enable proficient mobile marketing audience management, as well as targeting optimization and personalization in advertising.
The Advertising SE exploits OPENi Cloudlet and API Platform features to enable innovation in mobile marketing & advertising, via the collection, anonymization, aggregation, analysis, and correlation of large amounts of consumers’ personal data, in a privacy-aware manner, towards:
optimizing the overall performance of mobile marketing and advertising campaigns;
(Addressing R_2)
enabling consumer-centric and context-aware (i) audience management and (ii) consumer targeting in mobile marketing, towards maximizing the benefit to end-users’ as a result of the content of the ads that they interact with; (Addressing R_1)
providing mobile users enhanced advertising personalized experiences by utilising their digital and social footprint; (Addressing R_1)
reassuring mobile end-users privacy, by introducing a novel privacy-by-design pull ad serving model, that decouples the processes of i) ad campaign audience estimation/targeting and ii) ad delivery (to users’ mobile devices). (Addressing R_3)
2.1.2 OPENi Advertising SE Motivation, Goals, and Key Innovations
2.1.2.1 Mobile Marketing and Advertising Landscape and Motivations
Current widely adopted (state-of-the-art) methodologies and techniques in mobile marketing and advertising are highly affected and driven by the rapid evolution of a) mobile device technology (i.e., smartphones global penetration with enhanced computational/storage and internet connectivity capabilities), b) wireless access networks (WiFi, 3G/4G) and rich media technologies (e.g., HTML5)
and c) native application developers evolving communities (mainly driven by three application stores i.e., Google Play (Android), Windows Store and Apple Store (iOS)). As a consequence, key factors that affect and determine the success of a marketing campaign such as end-users/customers overall experience and campaign targeting /performance optimization (e.g., tangible ROI), have not yet been sufficiently addressed.
Figure 1. Mobile Marketing and Advertising Landscape
As depicted in the above figure, the existing mobile marketing ecosystem consists of a large variety of stakeholders that interact along the path of serving an advertisement; from the “Brand” to the “Consumers”. The latter process involves:
a) advertising services (for creating ads and optimising advertising campaign performance across channels)
b) ad networks (for serving ads to end-users mobile devices)
c) analytics and data collection services (for tracking campaign performance and collecting end-users data)
d) application developers (for creating applications, often integrated with multiple ad serving networks, as a mean of monetization)
e) application stores (for publishing and distributing mobile apps).
The complexity and multiplicity of accessing and analysing consumers’ digital and behavioural data in the above ecosystem from various data sources (e.g., mobile marketing channels) and services (i.e., CBS such as social networks, ad networks, tracking and analytics services etc.), limits, or even prohibits, the realization of optimized and personalized mobile marketing campaigns. What is more, end-consumer’s personal data are monopolised among the latter stakeholders leading to:
-
Consumers Data Fragmentation across multiple 3rd party data services, imposing limitationsnot only on uniquely identifying users profile, but also on extracting and isolating valuable information due to the plethora of duplications;
-
Persona Data Privacy Leaks, due to the lack of a common and transparent way for enablingusers to efficiently control and manage the use and the access on their digital data via advertisers thus, limiting the added value gained from their advertising experiences;
The emerging era of Mobile Marketing and Advertising is characterized by personalization and audience targeting towards enabling enhanced end-user’s experiences in line with their profile, interests, contextual trends and needs, and ultimately, maximizing the added value to the consumer. Towards this direction, advertisers and marketers need to deliver personalized marketing campaigns that take into consideration various user activities, behaviors, and digital trails, from preferences/interests and geo-location attributes to behavioral data and social networking interactions, towards addressing/targeting population segments with specific characteristics. An ideal behavioral targeting model should enable advertising agencies to combine consumers/users digital personal data for delivering ads that are relevant to the intended targeted market segment, at a rate which is convenient (and not intrusive) and using the channel which is most appealing to them (e.g., SMS, email, Native Apps Banner Ads, Push Notifications, e.t.c.).
2.1.2.2 Advertising SE Goals
Motivated by the above emerging needs, the OPENi Advertising SE will enable the efficient introduction and exploitation of end-users’ personal data information in the overall life-cycle of mobile marketing and advertising in a privacy-by-design manner. Identifying the luck of such information due to data fragmentation in today’s advertising process/lifecycle, Advertising SE aims at facilitating the design and realization of a large variety of new innovative ways for enabling personalised advertising.
Figure 2-3: Advertising SE Role in Mobile Ad Serving Ecosystem
ADVERTISER
How about a mechanism to allow users monitise their data; include something that rewards users for sharing their data (in a privacy preserving way) with an advertising service?
OPENi Platform Personal Data
Advertising SE
Targeting Audience Management - Dashboard
Audience Demographics
Targeting Analysis
Campaign Audience Monitoring
Retargeting & Optimization
AD Network (Mobile Ad Server, Rich
Media Server) Targeting Data Ad Serving (Targeted) A B C
Towards this direction, as depicted in the above figure, the Advertising SE will allow advertisers to efficiently perform:
A. Audience Management. During the planning and creation of a new advertising campaign, advertisers will have the ability to designate a plethora of OPENi end-users personal data types appropriate for campaign audience targeting (such as: age, profile information, etc.). This will allow them to optimise campaign planning by deriving useful and practical insights on the estimated available audience per OPENi application or across applications, in terms of available audience volume (number of end-users) matching/fulfilling the required advertising criteria. B. Targeting & Personalization. Upon selecting the preferred target audience, the Advertising SE
will provide advertisers with the requisite information (i.e., a unique Campaign ID) to realise targeted ad serving. Specifically, based on the above Campaign ID, OPENi users’ applications will be able to request an ad for a specific user by integrating with the application ad network. This approach reveals a new privacy-aware and personalised ad serving pull model (compared to the traditional push model) where an ad serving network had to maintain a user profile database in order to target specific user segments based on Users IDs (uuids). In the model we propose, the device/application of a user is requesting an ad from a specific ad network, based on a Campaign ID, without revealing any information regarding the consumer/user to the ad network. C. Campaign Audience Monitoring. Finally, throughout the duration of a marketing campaign,
advertisers will be able to monitor the performance of a campaign and correlate it to the fluctuations of the original target audience (due to users opt-in and opt-out from the use of specific personal data). This will allow them to derive insights on the importance/accuracy/usefulness of the selected targeting metrics (audience segments).
2.1.2.3 OPENi Advertising SE Key Introduced Innovations
In line with the previous analysis, the Advertising SE introduces a variety of innovative features in the overall process of mobile marketing, made possible by the unique features of the OPENi platform as detailed bellow (and further justified within the following sections):
I. Proficient Audience Management, prior to the initiation of an advertising campaign via the exploitation of end-users personal and behavioural profile data form multiple CBS (via OPENi platform), bridging the existing gap among multiple fragmented sources of consumers’ data. II. Plethora of Targeting Dimensions, supporting more than 60 targeting metrics and 900
targeting options, with unique features such as application context (in line with W3C) and users’ digital life context, leading to a new era of mobile marketing personalization.
III. Real-time Targeting Optimization, via enabling the monitoring of the fluctuations in the volume of a campaign’s audience (due to consumers opt-in/opt-out events), allowing the extraction of comparative and intuitive insights on the efficacy of the used targeting options. IV. Privacy Awareness in Personal Data Exploitation, via founding SE’s operation on three
privacy pillars that decouple the use of end-users’ personal data information (and users’ identifiers) from the process of audience estimation i.e., a) OPENi User’s Consent/Control, in terms of accessing personal data that users’ have explicitly allowed to be used for advertising purposes; b) Data Anonymization and c) Data Aggregation, prior the latter are processed by Advertising SE.
V. Consumer-Centric Privacy-by-Design Ad Serving Process (Pull Model), via introducing a new privacy-aware and personalised ad serving pull model, compared to the traditional push model, where and ad serving network had maintain user profiles databases in order to target specific user segments, where the device/application is just requesting an ad from a specific ad network, based on a Campaign ID, without revealing any information regarding the application user to the ad network.
As a result, Mobile Marketing/Advertisers will benefit from the ability to:
• Get advanced reports that create real-world value by interconnecting complex end-users’ anonymised personal and behavioural data to look for trends, outliers, and patterns yielding deeper insights into the interests of end-users and thus, building smarter targeted features and running more effective campaigns.
• Allow the dynamic estimation and adaptation of campaigns targeting mobile users, estimating expected behaviors and needs that would increase the efficacy of targeting and personalization in mobile marketing. This would ultimately optimize overall user’s experience.
• Enable the graphical representation of deployed services, cross-channel campaign performance, audience demographic estimates, benchmark comparisons, cross-funnels conversations rates and ROI where applicable.
while Mobile Users (Consumers) will gain from:
• Experiencing personalized mobile marketing campaigns based on their current interests and needs;
• Managing and explicitly controlling the use of their personal data (used for marketing and advertising purposes) in a transparent way;
2.1.3 OPENi Advertising SE Methodology
To facilitate the above goals a concrete methodology has been followed, consisting of two distinct phases in line with corresponding Task 5.2 deliverables. In this section, the goals of the first phase (D5.2) are indicated and the main steps towards accomplishing them are detailed. Finally, a summary of the goals of the second development phase (D5.5) is provided.
Adverting SE First Phase Methodology
Step 1. Overall Adverting SE architecture and features have been initially designed, based on overall OPENi platform features and progress in WP4.
Step 2. Audience Management KPIs have been studied and analysed (in line with existing SoTA), resulting in a detailed taxonomy of marketing campaign targeting metrics.
Step 3. Analysis/Optimization and Performance Monitoring Algorithms have been developed and justified.
Step 4. SE Dashboard GUI (web application) has been designed, including wireframes and mockups.
Let us underline that in the first phase of the Advertising SE prototype implementation, due to the dependencies with the development of the core OPENi platform, emphasis was placed on:
a) the design of the Advertising SE (in terms of features, algorithms, information flow and APIs); b) the design and implementation of the Advertising SE GUI (mobile web application);
c) data collection and processing algorithms towards enabling the envisioned GUI;
d) the definition of interfaces and integration requirements (in terms of features and performance) of OPENi Platform components that will be used by the Advertising SE, towards reassuring the efficient functionality of the latter.
Following the above methodology, in the second phase of the Advertising SE the following goals have been set:
a. Advertising SE implementation and testing; b. Adverting SE API creation;
c. Integration among Adverting SE and Web application GUI d. End-to-end demo scenario implementation;
e. Advertising SE documentation
f. Advertising SE integration with WP6 application prototypes.
2.2 Advertising SE Prototype Design and Architecture
This section aims at providing a detailed analysis and justification of the Advertising SE design principles, its architectural components, and their corresponding interconnections. Moreover, the operation of the Advertising SE is analysed, in terms of data/information flows required towards enabling the envisioned features, placing emphasis on ensuring OPENi users’ personal data privacy. Finally, the SE algorithms (for processing data) are analysed and the resulting innovative metrics for supporting audience management and targeting optimization are detailed.
2.2.1 Advertising SE Functionality and Components Overview
The overall functionality of the Advertising SE is founded on two main components, as depicted in the following figure:
A. Adverting SE, part of OPENi API Platform, exposing a corresponding RESTful API.
B. Advertising SE GUI, an external web interface, which facilitates advertisers (or any user of the SE) to visualise the outcome of the SE, control the available provided options and ultimately, exploit its features.
Let us underline that Advertising SE can be directly used by a third party service via the exposed SE API, without necessarily using the corresponding GUI.
Figure 4. Advertising SE Architecture and Functional Blocks
On one hand, the Advertising SE (upper side of the figure) is part of the OPENi API Platform, inheriting its design principles and features. The SE is built upon key operations and features of the OPENi API Platform and the Cloudlet to realise its goals. To that end, the Advertising SE interacts/consists of the following components:
1. Search API for identifying and revealing information across multiple cloudlets, multiple cloudlet object types and their corresponding attributes;
2. Data Aggregation Component for obtaining the identified information per Cloudlet in a concise manner in order to further anonymize it and create aggregations.
3. Cloudlet Notifications for monitoring the alteration of the value of specific objects’ attributes in users’ Cloudlets, especially the ones related to users’ opt-in/opt-out preferences for the use of their personal data.
4. Service Enable API for exposing the SE functionality to a 3rd party service.
5. Advertising SE that implements SE logic, in terms of processing, anonymising and aggregating the retrieved data and then, exposing the latter though the SE API.
Via the exploitation of the above core components, the Advertising SE gains the enhanced flexibility of performing advanced “queries” across Cloudlets towards identifying/retrieving similarity percentages among a) the targeting audience users’ profile criteria set by an advertiser for a specific ad campaign and b) the actual profile/contextual/behavioural data of users stored in their Cloudlets. As a result, the expected target audience, in terms of the amount of users with high similarity to the targeted profile, can be efficiently obtained (i.e., profile vectors similarity upon a specific threshold). In addition to the above, during the duration of a campaign, any alteration in the above audience can be detected via the use of the Cloudlet notifications component.
On the other hand, the Advertising SE GUI is responsible for enabling advertisers (users of the SE, in general) to a) graphically realise operations via the SE and thus, b) to efficiently observe the outcome of the latter via intuitive visual representations (dashboards, plot, etc). To that end, the Advertising SE consists of the following components:
1. Data Analysis and Optimization, for deriving SE data and processing them towards feeding dashboard elements (e.g., plots);
2. Audience Targeting Wizard, Audience Evolution Monitoring Dashboard and Campaign Performance Evolution Dashboard, which are the core components of the web/mobile web GUI;
3. Campaign Audience Management Tracking Analytics; for retrieving complementary marketing campaign performance data from Analytics SE and correlating them in SE dashboards;
4. Personalising and Targeting Information; for enabling advertisers (end users) to export in a zip file information related to the targeted audience per campaign, as well as retrieve the corresponding Campaign ID (unique per campaign) that will allow them to perform targeted ad serving.
2.2.2 Advertising SE: Process, Information Flow & Privacy Awareness
In this section, the operation of the Advertising SE is analysed from information flow point of view. These are the main actors involved, as depicted in the following figure:
A. An Advertiser, that exploits the Advertising SE via the corresponding mobile web GUI;
B. Advertising SE, that takes as input, user’s (advertiser’s) preferences, and then enables the business logic (e.g., algorithms, collection of information from multiple Cloudlets, e.t.c.) while exposing the outcome of the latter to the user via the GUI or the corresponding SE API. C. OPENi Platform, that provides the appropriate tools to the SE for searching and collecting
OPENi users’ data from their corresponding Cloudlets.
Figure 5. Advertising SE Information Flow Diagram Step I. Campaign Initiation.
Assuming an advertiser wants to initiate a new marketing campaign and therefore, utilises the Advertising SE to optimising a target audience. To achieve this, she/he either uses Advertising SE GUI
or the Advertising SE API directly. For simplicity, in the rest of this analysis we assume that they use the provided GUI, but in both cases the flow of information is the same.
I.A. The advertiser/user creates a new campaign, e.g., Ad Campaign X.
I.B. The Advertising SE provides to the user the supported metrics for targeting and their corresponding available values (e.g., attribute type: Age; attribute values: 23-33 , 33-43, 43-53);
Step II. Audience Estimation.
II.A. The advertiser/user indicates/selects the attributes of users’ profiles that she/he would like to target, given the particulars of Ad Campaign X. (e.g., attribute type: Age; attribute value: 23-33); II.B. The Advertising SE collects the relevant information and uses the Search API and Data Aggregation components (of OPENi Platform) to identify Cloudlets where the requested target information exists (e.g., Cloudlets, where in users’ profile object attribute Age exists) for all the target metrics set in Step I. The outcome of the latter is a matching percentage (vector similarity) per user (i.e., per Cloudlet) characterising how similar the overall users’ attributes values are with the ones set by the advertiser. Thus, if the derived matching percentage for a user is above a specific threshold, then the volume of overall target audience is increased (by one) and corresponding demographics are updated (e.g. target audience with age 23-33 in increased). II.C. Upon collecting and aggregating the latter information (which are anonymised, since user IDs are not collected, merely used to produce an aggregate) the Advertising SE provides the latter information to the GUI (e.g., target audience volume is 1K users).
Let us underline the following, towards highlighting the way OPENi end-users’ privacy is reassured in the above process:
A. On OPENi User Consent/Control: In Step II.B, before identifying if a targeting metric exists among a user’s personal data in her/his Cloudlet (e.g., user’s age attribute in her/his Profile Object), the corresponding access rights policies/rules are queried, in order to indicate whether or not the user has provided her/his consent for accessing this information (i.e., the user has opt-in for the use of this data). If the user has opted-out then Advertising SE is never informed of the existence of this data (as if this data was never created).
B. On Data Anonymization. In Step II.B, even if the user has explicitly consented to the use of specific data, its actual value is never exposed to the Advertising SE, since only a similarity percentage is retrieved (across all attributes).
C. On Data Aggregation. In Step II.C, Advertising SE exposes to the GUI (and in general to the advertiser) only aggregated (and thus, anonymised) results e.g., expected audience volume 1K users with 80% of them between ages 23-33.
The above features justify how OPENi users’ privacy is reassured, since neither users’ IDs or users’ personal data types and/or values are exposed, while users’ privacy control rules dominate over the search process of the latter.
Step III. Advertising Campaign Initiation.
When an advertiser creates the preferred target audience, the Advertising SE provides her/him a unique Campaign ID. The latter ID is also stored, via the Products and Services API of OPENi API
Platform into an Advertising object in users’ Cloudlets. Consequently, OPENI users’ apps, if they support an ad serving mechanism from a specific ad network, are able to request a specific ad for this user via the knowledge of this Campaign ID.
The above approach reveals a new privacy-by-design ad serving pull model, compared to the traditional existing push model, where an ad-serving network had to maintain/update users’ profiles databases in order to target specific user segments based on a unique User ID (UUID). In the proposed case:
A. The device/application is just requesting an ad from a specific ad network, based on a Campaign ID, without revealing any information regarding the application user to the ad network.
B. The latter Campaign ID and corresponding information related to the ad (e.g., the advertising brand) is stored in OPENi users’ Cloudlets Advertisement type of objects. This implies that the user will be able to explicitly control the access/use of this object(s) by his apps. Moreover, by opting-out from the use of the latter object, her/his OPENi applications will not have the ability to access the above object and thus, the user will never get a Campaign X ad.
C. Finally, the ad serving process (via any of the existing methods) by the use of an ad network is completely decoupled from targeting and personalisation (via the Advertising SE) and thus, completely decoupled from user device and user profile data. Thus, end-user takes complete control in any of the steps in the above process.
Step IV. Target Audience Evolution.
Throughout the duration of a campaign, an advertiser can further monitor the evolution of the original target audience, in order to gain meaningful insights into it’s efficacy. To facilitate the above: IV.A, Each time a user opt-ins or opt-outs from the use of a specific data attribute a notification will be sent to the Advertising SE to correspondingly adjust the volume of the target audience.
IV.B, Upon collecting and aggregating the latter information, the Advertising SE exposes the update to the GUI.
Advertising SE Data Flow Input (for
all phases) I. End-user Targeting CriteriaAge: 21+, Gender: Male, Interests: Sports) (from a predefined list) and targeting criteria values . Such information can be accessed mainly via (e.g., Profile API and Context API objects (e.g., user, account, personalisation).
II. Device Targeting Criteria (from a predefined list) and targeting criteria values (e.g., Device OS: iOS, Device Manufacturer: Apple).
III. Application Targeting Criteria (from a predefined list) and targeting criteria values
(e.g., App developer: Marco Castro, App Ad networks: Admob App Type: Sports, Ad formats: HTML5/native formats (e.g., Rich Media Display Ads for WEB/mobile web/MRAID, coupons, loyalty, e.t.c.).
Output Targeting Audience Estimation
The Advertising SE will obtain and derive audience volume metrics (i.e., number of end-user) matching advertisers targeting criteria along with corresponding
a) audience demographics (e.g., age distribution, location distribution), b) device-centric characteristics (e.g., device OS) and
match with the target criteria or OPENi Application IDs (or corresponding developers ID) integrated/supporting a specific ad network(s) or a specific advertiser.
Output Targeting & Personalization
Advertising SE will create and update a unique Campaign ID that will facilitate advertisers (via the used ad networks to enable targeting/personalisation)
Output Campaign Audience Evolution
Advertising SE will obtain, analyse, and provide advertisers data related to campaigns’ audience demographics and corresponding alteration (through the duration of the latter) e.g. due to end-users opt-in/out-out actions.
2.2.3 Advertising SE: Data Modelling and API Specification
In order to enable the envisioned features (Steps I, II and IV), the Advertising SE is exploiting a large variety of users’ personal data objects and corresponding attributes, towards supporting a range of targeting metrics (as detailed in the following chapter). A summary of these objects is provided below:
OPENi API Type Objects Explored by Advertising SE
Profile API Account, Application, Device, User
Activity API Checking, Event, Like, Favourite, Comment, Dislike
Location API Event, Place, Route
Context API Context Attributes for Profile, Location, Device, Application
In addition to the above objects, the realisation of an advertising campaign (i.e., Campaign ID creation and storage, Step III) is enabled via the use of an additional object, namely Advertising (under OPENi Products and Services API), described in the following:
Advertisement Object
Name Description Result
id The object ID string
object_type The object’s type ("advertisement") string
url The object’s url string
name The name of the advertising campaign (Campaign ID) string time A set of properties defining the time properties of the Advertising campaign Set of
Properties duration A set of properties defining the duration Advertising campaign Set of Properties
Advertisement Object
Name Description Result
[adtype] Type of ads supported by in the campaign: HTML5, Rich Media Display Ads, MRAID, Coupons, Loyalty, etc.). list of strings [adnetwork] A list of ad networks via which the advertisement is served. list of object ids
[adservices] A list of ad services launching the advertising campaign. list of object ids
[applications] A list of application ids that this advertisement is linked with. List of object ids [criteria] Targeting criteria (users' personal data used for the campaign list of strings
The attributes of this object, not only allows OPENi users to know how they are related with specific advertisements (via OPENi Privacy Visualisation Dashboard (see OPENi Deliverable D4.3)) but more importantly, to completely manage/control the ad serving process by opting-out from the use of these objects (i.e., not allowing apps to access the above objects or specific attributes of the latter). Advertising SE API will be RESTful and will support only HTTP GET methods in order to retrieve the related information. It has a certain path as an extension to the main, Generic API Path, and also required to specify the required objects that will be returned. The general form of the API call is shown in the table below.
Method GET
Path API_PATH/advertising/[objects]
EXAMPLE GET API_PATH/advertising/accounts?device=mobile
Available objects Application, Device, User, Event, Place, Route, Checking, Event, Like, Favourite, Comment, Dislike, Account
Required Properties
None. The audience management is related automatically with the authenticated users that allow Advertising SE to access their personal data (given the privacy rules that have set).
Optional Properties
Advertizing: adnetwork, adservice, adtype Time: start time, end time
Response An audience object (with attributes: a) audience volume metrics (number of audience) b) audience demographics (age distribution, location distribution), c) device-centric demographics (device OS, ad network(s), advertiser, etc.)
(Details are provided in following section)
Path API_PATH/advertising/name/[TYPE_OF_TARGETING] Available objects
Required Properties
None. The targeting is related automatically with the authenticated users that allow Advertising SE to access their personal data for enabling marketing/targeting.
Optional Properties
title={TYPE_OF_TARGETING} e.g, adnetwork, adservice, adtype Response Campaign ID
2.2.4 Advertising SE Audience Management Metrics and Innovations
In this section, a detailed list of the available/supported metrics and their corresponding values for audience management optimization via the Advertising SE is presented. Furthermore, the data structure of Audience Objects (JSON) managed via the Advertising SE API is highlighted.
Specifically, via the assistance of an Audience Management Wizard (detailed in the following section) or directly via the use of the Advertising SE API, advertisers will be able to perform audience management by exploiting 64 Targeting Metrics Types with more than 900 Options. Towards enhancing presentation’s efficacy, the latter have been clustered into the following six categories:
Table 1 Advertising SE Targeting Segment Categories
Wizard Steps Segment Title (Type of Targeting) # of Targeting Types Metrics 1 User Profile (e.g., age, genre,…) 10 (>100 targeting options)
2 User Mood Context 2 (>20 targeting options)
3 User Location, Geo-Interests and Geo-Context 10 (>200 targeting options)
4 User Social Life Footprint 13 (>200 targeting options)
5 Device/User Network Environment Context ; Device Features and Use 20 (>200 targeting options)
6 Application Centric Targeting Criteria 9 (>200 targeting options)
Let us underline that the plethora and variety of the above metrics, as detailed bellow, is one of the unique features of the Advertising SE since the majority of existing targeting platforms (e.g., FB Ads) are supporting a subset of the above dimensions. This would not only enable advertisers to maximise the accuracy of the estimated audience, but more importantly ensure the end user receives ads relevant to their current content and needs.
User Profile
Name Description Type
Age Range Any, 13-24, 25-34, 35-44, 45-54, 55-64, 65+ string
Gender Any, Male, Female string
Has Children Children, No children string
Race/Ethnicity White, Color, Asian, AIAN, NHPI, Other string
Income High, Medium, Low, string
Household Size Any, Exactly 1, Exactly 2, Exactly 3, Exactly 4, 2 or fewer, 2 or more, 3 or more, 4 or more, 5 or more string Education Any, High School Degree, Some college/Associate, Bachelor’s Degree, Graduate Degree string
Interests
Any Automotive Business & Finance Careers City/Region Communities & Services Education Entertainment Family Food & Drink Games Health & Fitness Home & Garden Mobile Content Music News & Information Religion & Spirituality Science Search Shopping Sports & Recreation Technology Travel Weather
string
Consumer (tag) Any, Those who received, Those who interacted with (For Past/Launched Campaigns) (The above enable the reuse of already implemented campaign’s targeting groups, segmented
per end users behavior). string
Language Users Language string
Table 3 Advertising SE User Mood Targeting Segment Metrics
Users Mood
Name Description Type
Mood The mood of the user when the activity was performed (for a give object) string
Table 4 Advertising SE Location-aware Targeting Segment Metrics
Location Preferences
Name Description Type
Street The name of the street or streets intersection string
Type of Residence The type of residence such as: Apartment, House etc. string
City The city where the road is located string
Locality The broader area where the city belongs string
Country All Countries string
Location Preferences
Name Description Type
Region Include a specific region string
Town Include a specific town string
Check-in and Location Likes
latitude The latitude of a geolocation string
longitude The longitude of a geolocation string
height The height of the location, if available string
visit Number of visits to a point of interest integer
comment User comment for his visit string
Table 5 Advertising SE Social Life Targeting Segment Metrics
Social Life Footprint
Name Description Type
Account Users Active Social Accounts (e.g., FB, TW, e.t.c) string shop A physical or virtual location where someone can acquire a product or service,
under a specific string
like This connection refers to most objects that have a social aspect, it is unique per user and has a timestamp. It declares awareness, approval or support. string comment This connection leaves a text comment to another object. string dislike This connection refers to other objects, and declare string
favorite This connection pins an object as favorite. string
friendship A mutual connection between two users. When there is a "follow" relationship, an "/incoming" or "/outgoing" additional path can be used under a GET method. string event Represents an event that occurs at a certain location during a particular period of
time. string
game Represents a game or competition of any kind. string
measuremen t
an entry for a measurement (blood pressure, weight, diabetes, general body)
string product Represents a commercial good or service. Objects of this type MAY contain an
additional fullImage property whose value is an Activity Streams Media Link to an image resource representative of the product.
string service Represents any form of hosted or consumable service that performs some kind of string
work or benefit for other entities. Examples of such objects include websites, businesses, etc.
Table 6 Advertising SE Mobile Device Environment Targeting Segment Metrics
Device/User Network Environment
Name Description Type
Bearer 2G, 3G, GPRS, CSD, Other string
Roaming Roaming Not Roaming string
Carrier User’s Carrier Provider (Name) string
Handset User’s Device Type string
Device ID Unique Device ID (UDID, Android ID, e.t.c.) string
Application
ID Unique Application ID string
Device Type The name of the device model string
Device OS The name of the OS installed string
Device Logs Wireless
Network Type
The type of the access network string
Wireless Channel
Quality The quality of the wireless channel string
Acceleromet
ers Device accelerometer state string
Cell Log The sequence of Cell ID during operation string
Running
Application Device running applications (list) string
Installed
Applications Device installed applications (list) string
Screen State Device screen state string
Battery
Status Device battery status string
Application Centric Criteria
Name Description (as defined by W3C) Type
Background
color Application background color string
Format A description of application’s block-level elements formatting. string
Font A description of application’s font properties. string
Color A description of application’s color properties. string Background A description of application’s background color properties. string
Text A description of application’s text properties. string
Box A description of application’s box properties. string
Classification A description of application’s classification properties. string Text Copy A description of application’s text copy properties. string
2.3 Advertising SE Prototype Implementation
As already mentioned at the beginning of this report, in the first phase of the OPENi SEs prototypes implementation, due to the dependencies with the development of core OPENi platform, emphasis is placed on a) the design of the Advertising SE (in terms of: features, algorithms, information flow and APIs), as detailed in the previous section, b) the design and implementation of the Advertising SE GUI, c) data collection and processing features for enabling the envisioned GUI functionalities, as well as d) the definition of interfaces and integration requirement (in terms of features and performance) of OPENi Platform components that will be used by the Advertising SE, towards reassuring the efficient functionality of the latter.
This section serves as a detailed report on the last three goals.
2.3.1 On Advertising SE Audience Management Dashboard and Dashboard Features
2.3.1.1 Audience Management Dashboard Use Case: “Mobile Applications Marketing Campaign”
Prior to the detailed analysis of the Advertising SE GUI, a brief analysis of the mobile advertising campaign scenario (use case) considered for the creation of the Advertising SE GUI is provided. Specifically, due to the multiplicity and complexity of mobile marketing campaigns due to the large variety of: a) marketing campaign scope/goals and b) means/technologies for serving mobile ads (to the end users mobile devices), for a specific combination of the above preferences, there exists a set of key performance indicators (KPIs) appropriate for intuitively reflecting the evolution and progress of the corresponding marketing campaign.
Fundamental Mobile Marketing Campaign Scopes:
1. Product Advertising; aiming at communicating the features and benefits of a product to customers and prospects.
2. Brand-Awareness; that plays an important part in business-to-business marketing, particularly for companies trying to win a major sale or contract.
3. Direct Response Advertising; that encourages prospects to register their details, typically in return for an incentive offer, such as a free gift, special discount or a copy of a business report for business prospects.
Popular Mobile Marketing Campaign Means1:
1. Rich Media Banner Ads; where a promotional banner is served (appear) within users’ applications. To achieve the latter the application should be integrated with an ad-network that controls the process of ad serving.
2. Push Notifications; where short notifications are shown on the top of the screen of users’ device.
3. SMS/MMS; where marketing is enabled through cellphones' SMS (Short Message Service).
4. Mobile Web Marketing; advertising on web pages specifically meant for access by mobile devices.
Within the scope of the Advertising SE GUI, the case of product advertising has been considered and specifically, the case of advertising a native mobile application (e.g., OPENi-enabled mobile application), while the means of i) rich media banner ads and ii) push notifications has been taken into account (as the two most popular means2 in current mobile advertising). The selection of the above is not only justified by the popularity3 of the latter (since mobile applications promotion via mobile ads is one of the most popular scopes), but also is tightly related to OPENi WP6 demo applications (where OPENi mobile apps promotions is part of the main functionality of the envisioned apps). To that end, the case of:
Mobile Applications Marketing via Banner Ads and Push Notifications Mobile Campaigns
has been selected for designing Advertising SE GUI, without of course limiting the use and exploitation of Advertising SE for the any of the above scopes.
In the rest of this section details on the main steps and KPIs of the latter mobile campaign type are provided, justifying the information/plots used in the Advertising SE GUI campaign dashboards.
Scope: Promoting the X OPENi Application via a banner ad (and/or push notifications) campaign, with the goal of maximizing the overall volume of downloads/installations of the app and ultimately, the number of application users).
Campaign Sequential Process:
1 http://en.wikipedia.org/wiki/Mobile_marketing
A. Banner ads (or push notifications) promoting the application X are sent to a target segment of OPENi applications/users. The banners may include text, images or rich media components motivating the user to install and use application X (Metric: Impressions, denoting the volume/number of banner ads severed/sent to the end-users).
B. End-users’ clicks on the disseminated banners (Metric: Clicks (Unique Clicks), denoting the volume/number of clicks (unique users that clicked at least once in the banner ad)).
C. Upon clicking on the banner, users are directed to the app store (e.g., Google Play in the case of Android applications), towards downloading and installing the application (Metric: Conversion, denoting the volume/number of user that installed application X).
Campaign KPIs:
Metric Indicative Results (example)
Audience 10.342.452 Impressions 560.957 Clicks 1.498 Unique Clicks 1.400 Conversions 8 CTR (%) Click-Through Rate 0.00267043641
2.3.1.2 Audience Management Web Application Map
In this section, the core elements (pages) and the overall map of the developed web application that serves as Advertising SE GUI are presented and analysed.
As illustrated in the above figure, the Advertising SE web application consists of four basic navigation pages, eight dashboard pages and one wizard element with multiple sub-components (wizard steps). In the following a short description of the above is provided:
1. Audience Management Landing Page, where the user/advertiser is able to manage her/his OPENi
account, to register or log-in;
2. Dashboard Overview & Main Navigation, where the user/advertiser is able to get an intuitive
overview of her/his active campaigns and thus, either create a new audience targeted campaign, or select/navigate to an existing one, towards monitoring the evolution of the latter’s audience and the corresponding performance;
3. Audience Management Wizard, where the user/advertiser is able to create a new target audience
for the purpose of a new mobile application promotion campaign, via the assistance of a flexible wizard that enables her/him to navigate and determine the required audience profile among the variety of metrics/options provided by the Advertising SE (6 dimensions, more than 60 metrics and 900 options).
4. Targeting & Campaign Initiation, where the user/advertiser is able to retrieve a unique Campaign
ID via which the ad serving process can be realised (e.g., via an ad network).
5. Campaign Performance Dashboard, where the user/advertiser is able to view campaign
performance KPIs evolution and correlate them to the corresponding evolution of its audience.
6. Audience Evolution Dashboard, where the user/advertiser is able to navigate among various
sub-dashboards, analysing the evolution of the initially selected/targeted audience, and how the volume of the latter is affected by end-users preferences (i.e. opt-ins and opt-outs from the user a personal data/attribute), for the majority of the selected targeting metrics. The latter information will enable an advertiser to acquired useful insights on the efficacy of the targeted audience towards adjusting and optimising the latter, as the campaign evolves.
Let us underline that the developed audience evolution dashboards are one of the unique features of the Adverting SE, enabled in turn by the unique features of the OPENi platform.
2.3.1.3 Audience Management Dashboard Plots
In line with the previous analysis,the majority of the plots enabled via the use of the Advertising SE, concerning one of multiple targeting metrics (e.g., genre (male/female), age (16-26, 26-36, 36-40), independently of the selected suitable plot format, provides aggregated information in three key dimensions:
A. Time (from the beginning of the campaign)
B. Performance/Engagement (in terms of number or percentage of users participated in the campaign (e.g., Clicked a banner, visited home page, performed an action))
C. Audience (in terms of number or percentage of users engaged/disengaged (opt-in / opt-out) from the use of this attribute towards targeting/participating in the campaign)
To the best of our knowledge, such a comparative analysis (due to the existence of dimension C) is one of the unique features introduced by the OPENi Advertising SE, leading to a new era of mobile marketing personalisation and optimization.
2.3.1.4 Audience Management Dashboard Analysis
In this section a set of fundamental mockups are presented, from which the Advertising SE prototype has been implemented, while the corresponding functionality is analysed and justified.
Audience Management Landing Page
Advertising GUI Main Overview Dashboard (& Navigation Page) Functionality:
Advertisers Account Management and Registration (new Cloudlet Creation);
Log-in and Authentication
OPENi Advertiser/User unique ID generation;
Information Displayed: Local Time;
Notifications/Alerts (on key campaign performance events;
Current Campaigns Overview # of Active App Campaign # of Counties
# of Targeting Metrics Used
Overall Active Campaigns Performance Insights (Aggregated KPIs)
Most Efficient Targeting Metrics (that positively affected: a) targeted audience increase and b) campaign’s conversions increase).
Functionality:
New targeting campaign Creation Existing Campaign Selection
(Navigation via side bar)
Global Campaign Filters: Ad Networks, App Developers, Advertising Brands, App Developers
Audience Management Wizard
Targeting & Campaign Initiation
Functionality:
Advertiser’s wizard for selecting target audience profile in terms of targeting metrics and corresponding values.
6+1 Steps Wizard (6 dimensions, 68 metrics);
Left side: Audience Selection
Right Side: Audience Visualization Intuitive real-time insight;
Final Step: “Save Targeting”.
Functionality:
Obtain Campaign ID.
Export a zip with OPENi developers (ID or names) and/or Ad networks that the applications
of the target audience
belong/collaborate/integrate. This will allow the advertiser to know which ad networks to interact with towards enabling his campaign.
Campaign Performance Dashboard
Information Displayed:
The performance dashboard aims at providing detailed insights on the performance of a selected campaign and thus, to provide fruitful correlations of the accomplished campaign results with respect to the selected target audience profile.
Specific details provided include:
A. Unique Aggregated Values on Campaign KPIs (audience, impressions, clicks, conversions, CTR);
B. Target Audience vs Click vs Conversions (installation) evolution over time. C. Campaign users’ geo-distribution. D. Key target metrics types that
contributed the most (or less) to the success of the campaign, in terms of audience volume evolution.
Audience Evolution Dashboard
2.3.2 Cooperation with OPENi Components and Interdependency with other Work Packages
In the following section an analysis of the main Advertising SE interactions with the OPENi API Platform and Cloudlet Components is provided.
Search API (part of OPENi API Platform), for identifying and revealing information across multiple cloudlets, multiple cloudlet object types, and their corresponding attributes;
Products and Services API (part of OPENi API Platform), for creating, updating and managing Advertising objects;
Aggregation Component (Cloudlet Platform), for obtaining the identified information per Cloudlet in a concise manner since the data aggregation (DA) component will offer 3rd parties the ability to view aggregated user data from multiple cloudlets while concealing the individual cloudlet owner’s identity. Advertising SE will exploit/use AG component in order to match OPENi end-user with marketing/targeting criteria (given a specific list of targeting metrics) further enabling the SE to provide enhanced audience management reports. Moreover, it will enable the Advertising SE to retrieve and provide advertisers appropriate targeting information. To reassure end-users personal data privacy the Advertising SE via the DA component will negotiate with the authorisation component to identify cloudlets that wish to share data with the 3rd party in a privacy preserving way.
Information Displayed:
Audience evolution dashboard aims at providing detailed insights on the evolution of the volume of the initially targeted audience (due to users opt-in and opt-out actions) for each of the six core targeting dimensions supported by Advertising SE.
Specific details provided include:
A. Aggregated Values on the Audience Volume fluctuations within specific period of time
B. Target Audience vs Click vs Conversions evolution over time.
C. Key target metrics types that contributed the most (or less) to the success of the campaign, in terms of audience volume evolution.
D. Comparative Analysis among multiple targeting metrics and their contribution to the overall campaign performance over time.
Notifications (Cloudlet Platform), since various services can sign up for notifications of events on a user’s Cloudlet, the Advertising SE will collaborate with the Notifications Component towards Campaign Audience management. As an example, when a user opts-in/opts-out to allow his personal data be used as targeting criteria of a campaign, the Advertising SE will be notified to reproduce the targeting audience.
The Advertising SE has dependencies with other Work Packages, as identified below (in two different phases):
Regarding WP4, integrated OPENi Platform with Cloudlets: Generic APIs (Search API, Products and Services API) Context API
Authentication & Authorization (Phase II) OPENi Policy Eng. And Privacy Rules (Phase II)
SPARQL interfaces (Data Aggregation Component) (Phase II) Notifications API (Phase II)
Regarding WP6, Advertising SE will be used/integrated with the following apps towards enabling end-to-end use case scenarios:
Task 6.2 – OPERA (Openi Personalized Recommendations and Advertising Application) for enabling mobile applications advertising campaigns/recommendations;
Task 6.2 – OPERA (Openi Personalized Recommendations and Advertising Application) for enabling personalized advertising campaigns;
Task 6.3 – PSA (Personal Shopping Assistant Application) for enabling location aware personalized ad campaigns related to products.
2.4 Advertising SE Prototype Demonstration and Source Code
2.4.1 OPENi Advertising SE Web Application Technology and the use of the Dashboard Towards developing the features and components of the Advertising SE GUI web application prototype, as detailed in the previous section, the following technologies have been used:
Web/Mobile Web Application. It has been developed in HTML5 (Rich Media Mobile Web) and the required features and functions have been implemented in JavaScript.
Responsive Design has been adopted towards efficiently creating a web application that dynamically adapts its UI/UX flows and properties according to the attributes of the displayed interface, aiming primarily on supporting web application’s rendering over desktop browsers (Chrome and Firefox (latest versions)) and mobile tablets, as well as high end mobile devices.
Front-end framework is Bootstrap (http://getbootstrap.com/).
Dashboard Plots. In the case of specific plots, open source plug-ins have been used (Highcharts (http://www.highcharts.com/products/highcharts/#non-commercial) – Plugindetector (http://plugindetector.com/jvector-map).
Finally, the Advertising SE Web Application is packaged and can be provided to OPENi developer/users for directly using it (along with OPENi Platform and Advertising SE). The template can be easily customised/parameterised by the developer.
OPENi Advertising SE is accessible at:
- Demo GUI: http://innov-qa.velti.com/openi-adenabler/login.html - Source Code:
https://opensourceprojects.eu/p/openi/wp5/wp5/ci/4589a02fd19c20569ffbda74ffe04c0f11f7e 449/tree/T5.2/AdvertisingSE/
Note: The above demo dashboard is not fully functional, since the integration of the latter with Advertising SE is a prerequisite.
2.5 Advertising SE conclusions and outlook
As detailed at the beginning of this section, during the second phase of the Advertising SE implementation the following milestones have been set:
a. Advertising SE Implementation and Testing; b. Adverting SE API Creation;
c. Integration between the Advertising SE and Web application GUI d. End-to-end Demo Scenario Implementation;
e. Advertising SE Documentation