Skip to main content

ShoppingMate: A location- and context- aware service for assisting consumers during their shopping time

Final Report Summary - SHOPPINGMATE (ShoppingMate: A location- and context- aware service for assisting consumers during their shopping time)

Executive summary:

The SHOPPINGMATE project dealt with the conceptualization, design, implementation and demonstration of a novel mobile application that allows mobile consumers to describe in an intuitive semantic way the characteristics of an item they want to purchase, and performs an intelligent search in a shopping area to locate shops that offer compatible products, resulting with detailed directions to the selected shops. SHOPPINGMATE is considered as a flexible location-based service to facilitate consumers that are going to or are already in a shopping area, aiming to combine the advantages of e-shopping and traditional shopping towards:
-saving of consumer's time and money,
-improvement of consumer's satisfaction,
-increase of shops turnover, and,
-enhancement of market competition.

With SHOPPINGMATE traditional shopping is not replaced, but rather facilitated through the use of advanced technologies for content searching, locating and navigation. State-of-the-art of all relevant technologies has been studied and extended as needed to achieve project objectives, and finally combined in an end-to-end prototypical platform for mobile shopping support. The system has been implemented as a distributed application including a central installation for semantic representation and matching, and two kinds of distributed clients: shop agents (for content input) and user agents (for data request/receipt and presentation).

The project designed and implemented a flexible user interface that supports menu-driven and free text based capture of user requests and provides to participating shop owners the flexibility to incrementally introduce new items to the system and control the level of detail provided for each of them. A semantic representation of both the user requests and the items offered for sale through the system facilitate efficient semantic searching and matching. Requests are represented as ontologies that are aligned and matched with ontologies for shop items using artificial intelligence matching algorithms. A navigation map-based component is then helping the user to plan how to move from shop to shop in a time efficient manner and get directions on demand.

A central part of the project, and its innovation, consists of the semantic-based searching utility. Semantic data representation is performed using the Web Ontology Language (OWL) which, based on RDF/XML syntax, is a semantic markup language for publishing and sharing ontologies on the World Wide Web. An ontology defines the terms used to describe and represent an area of knowledge and includes computer-usable definitions of basic concepts in the area, as well as their properties and the logical relationships among them. In SHOPPINGMATE, OWL enables the description and representation of the semantics of the two major areas of knowledge, i.e. users requests and shops information. By defining the main classes of interest combined with their logical relationships and properties, it facilitates the processing and matching of a wide range of content.

The project included a wide range of field trials in both Greece and Finland to measure the system's effectiveness and usability. Evaluation results revealed the positive feedback from both consumers and shop owners, indicating a potential use of the system as a searching tool for special offers or promoting items, rather than a general shopping guide. Exploitation plans have been adapted to this suggestion, targeting a location-based context-aware special offers service.

Project Context and Objectives:

The complexities of modern life are changing the way consumers purchase goods today. The lack of time to spend searching around marketing areas, combined with the increased number of choices, as a result of market globalization, put considerable pressure on the consumer to make fast yet wise purchase decisions. Internet, and especially the World Wide Web, has opened the possibility of electronic commerce (e-shopping), allowing consumers to shop at any time from their own home, thus saving travelling time and in many cases the price comparison overhead. Searching or browsing an online catalogue can be much faster than walking through the aisles of a shopping mall. There are no geographical boundaries and products can be bought from almost any part of the world.

However, e-shopping has certain limitations that for some people may become major barriers. There is an obvious need for computer equipment, a broadband Internet connection and some level of basic training for using online tools. Even for customers that are willing to try an online purchase, transaction security is a major concern. The need to provide personal information including credit card numbers prevents many traditional consumers from accepting online commerce. In addition, many people doubt the quality of products offered online, especially when coming from not well known sources. There is no way to try or test a product with on-line shopping, so customers can rely only on pictures, reviews, or word of mouth. For products such as clothes or shoes, a consumer can never be sure how they will fit on him/her. Furthermore, the enjoyment of spontaneous street shopping is lost. Many people enjoy shopping with others and it is often a good way to make social connections.

On the other side of the equation, traditional shop owners and retailers are searching for mechanisms that will allow them to remain competitive against large merchants in today's high-speed very competitive business climate. They are interested in exploiting the potential to automate their internal procedures and promote their products to a wider audience. Especially small shop owners compete fiercely to attract customers to their stores. Thus, they seek intensively for a strong marketing tool which will enable them to expose the characteristics of their products and services. There is a growing recognition that retail shops will not be able to survive if they fail to adapt continuously to the modern consumer needs and behaviours. Subsequently, shop owners are trying to understand how shopping patterns evolve and what features will be most attractive to the consumers of tomorrow. Forward thinking companies are already looking at the ways in which emerging technologies can contribute to future business success.

It becomes then obvious that there is a need for a shopping system which will combine the advantages of traditional shopping and e-shopping to help consumers find what they need and save time. Such a system should be accessible any time from any place, easily handled even by computer novices, and ensure a high level of security and privacy management. In addition, it should enable shop owners to differentiate their products from competitors' to maintain their stake in a rapidly evolving market. Mobile (m-) applications, and especially location-based services (LBS), offer the ideal environment for the development of such a service. Shopping, since it is considered both as an "every-day activity" and a "leisure-time-activity", represents a key, largely untapped opportunity for the development of innovative, mobile, location-based services.

SHOPPINGMATE's main objective was to develop an innovative digital shopping system that transforms mobile phones into highly interactive personal shopping assistants for consumer's everyday lives in a way that combines the advantages of e-shopping and traditional shopping. To achieve its main objective the project explored how to best utilise cutting-edge technologies and harness the potential of location-based services, so as to provide a platform that can address the spontaneous mobile user shopping requests by identifying stores in a specific shopping area that match the mobile user's specifications for a purchase.

As the outcome of the project is a network application, most of the project objectives match with the characteristics that this application should have. Thus, the SHOPPINGMATE system should be:

-Attractive and easy to use. This means customization and adaptation capabilities according to each user's experience, habits and personal preferences, both on the consumer and the shop owner side.
-Flexible, with respect to the product lines that can be supported.
-Efficient, in terms of the quality of the search results, the response time, the navigation performance, etc.
-Profitable for all involved payers, i.e.
- for service providers, as a result of extensive usage and proper revenue models,
- for consumers, that will have better value for money,
- for shop owner that will gain from the increase of their sales.
-Secure, to ensure full privacy and anonymity.
-Extensible, through the use of proper design decisions and used technologies.
-Scalable, to ensure acceptable performance in areas of different size.
-Network independent. The system should be able to operate over any IP-based wireless/mobile network (e.g. GPRS, UMTS, WiFi).
-Terminal independent. Considering the wide range of terminal types (PDAs, WAP enabled, etc.), development will be based on well-known platforms to support most popular terminal types, including stationary computers.

Other objectives include:
-proper dissemination of the project results, through a number of publications to scientific journals and international conference proceedings,
-transfer of technical know-how from the RTD Performers to the SME staff, and,
-execution of extensive field trials that will result in measurable evaluation results on the above system characteristics.

The SHOPPINGMATE project effort has a very positive impact on several aspects of the design, development, implementation and usage of intelligent connectivity services on which it focuses, resulting in considerable improvement of the competitive position of the involved SMEs. Some of the specific benefits of the final product are the following:

Saving time and money for the consumer
Generally, when looking for products or services, a consumer often wishes to compare options and consider different factors before making a purchase decision: what kind of product (s)he is going to buy for a certain need, where (s)he is going to concentrate related shopping, which is the price range for what (s)he has in mind, which product offers the best quality for the price etc. However, travelling from shop to shop to collect this kind of information is time consuming, burdensome and impractical. Therefore, from the customer's perspective, the system provides valuable assistance in filtering information, guiding across relevant shops, and locating high score matches from the comfort of the consumer's mobile phone.

Improving consumer satisfaction
Most potential buyers are usually concerned about making a wise purchase decision according to their criteria that may widely vary across the population. SHOPPINGMATE addresses this problem by making stores' inventories "semantically searchable" allowing shoppers to locate products that really meet their needs and are available in a specific shopping area. Users are able to check stock availability and reserve products to pick up in person, and avoiding the frustration of missing a popular item because they arrived a bit late. Including location and shopping hours among the searching criteria, a user can avoid shops that are either too far away or closed.

Incremental system adoption and flexible information updating
Clearly, the success of such a system much depends on the type and amount of information provided by participating shops. One of the project's main objectives is to develop a flexible application interface that allows shop owners to decide the type of information and the level of detail they want to expose per product category, as well as the procedures to be followed for adding and updating (from purely manual to fully automatic) information. In any case, the system will be able to operate with a large range of information, from very basic to very detailed. We strongly believe that when such a system starts operating, the shop owners will see the tangible benefits and gradually add more and more information into the system to expand its use and stay competitive. Although the related business procedures are out of the scope of the project, we intend to provide guidelines to make them easy and efficient.

Increasing shops turnover
SHOPPINGMATE intends to provide a new channel for one-to-one marketing, as it allows shop owners to directly communicate with consumers without time or location barriers. Shops able to make their products exposed to a wider audience. Moreover, the proposed system enables creating tailor-made offers targeting users according to where they are, their needs of the moment, their stated preferences and the devices they are using. SHOPPINGMATE ensures that willing consumers have access to products and promotions as they are out and about shopping, providing advertisers with the highly desirable opportunity of communicating with consumers while they are in a "shopping mode" and thus it presents a unique opportunity to target "high intent to buy" shoppers.

Enhancement of market competition
SHOPPINGMATE represents a new valuable tool, from a consumer's perspective, since it allows potential buyers to compare prices, search for bargains and stock availability as well as check shops ratings and products reviews. This can considerably improve market competition, as it will motivate shop owners to provide even better services and products as well as keeping prices at reasonable levels. Small retailers have a mechanism to promote their points of differentiation with respect to large department stores, without facing cost or visibility barriers. Moreover, the application aims to provide a comprehensive understanding of consumer buying patterns, based on behavioural data, so that shop owners can become more responsive to the changing market and the needs of their customers to remain competitive.

Considering the number of existing products in areas close to this project, as described in the following subsection, the final system should be based on state-of-art innovative technologies in order to provide a service way beyond competition. Special attention will be paid to the searching capabilities to allow users to express requests in multiple ways, including free text and natural language. Similarly, shop owners will be free to decide on the kind and volume of information they wish to make available through the system. Semantic representation and searching techniques will be widely used for that purpose, as described later on. Moreover, the user interface will be flexible enough and attractive to the user. In terms of security, the target will be to use advanced techniques to guarantee full anonymity of the user and avoid storage of personal data, such as user profiles and past behaviour.

SMEs lack both the resources and the know-how required for the research and integration of the emerging technologies that the SHOPPINGMATE system exploits, such as semantic searching and matching and intelligent human-machine interfaces. Given the fast pace at which semantic web technologies are introduced, the broad technology base and well-trained experts provided by the RTD Performers were required to explore the opportunities offered by a robust, efficient and user friendly mobile shopping application designed to serve all the value chain (from technology providers, to shop owners, customers, legal and financial entities, etc.).

Project Results:

SHOPPINGMATE produced several exploitable results including the following:

Integrated System: The developed system within the context of the SHOPPINGMATE project can be used for pilots demonstrating the possibilities offered by the selected technologies. This is essential in promoting services and technology solutions by the consortium partners. The results may be further developed to meet emerging market needs for more personalized and flexible solutions for the European citizens (use of 3G technology for m-commerce). The system can be commercialized and exploited as a whole, after tailoring to the specific needs of the purchasing enterprises/organizations. Interested parties may include mobile operators, that will see a business opportunity for promoting the service to their customers, public organizations (e.g. municipal authorities), that are keen to improve the citizens' quality of life, other SMEs with complementary products, etc.

Application Service: The SHOPPINGMATE system will create the means for a novel kind of service provisioning. The system as a whole will be exploited within the premises of interested partners enabling them to become application service providers. Cooperation among partners beyond the duration of the project for the further exploitation of the established infrastructure is considerable and will be presented in the exploitation plan at the end of the project. Coming from different countries, the SMEs participating in this project can establish a well-defined alliance for providing such services in pan-European level.

Software Components: SHOPPINGMATE produced software components both on the server and client sides. Developments include characteristics that are innovative in terms of functionality and effectiveness, such as the user interface, the semantic representation and the recommendation service. The user interface at the mobile terminal side is considered of great importance as it can be used as the basis for a wide range of mobile applications mainly in the navigation/assistance category. The context representation of both the users' requests and the shops' information are highly exploitable due to the innovative nature of their design and implementation. The components themselves as customizable libraries, as well as the expertise gained during the close co-operation with the end users in building this new type of services can be exploited by all partners, by especially SMEs.

Implementation know-how: SHOPPINGMATE belongs to the general category of context-aware location-based services that are expected to enjoy considerable attention in the years to come, as a result of maturity of the supporting technologies. The experience and know-how in designing and implementing such services will be extensively used by the SME participants to plan their future activity in this highly important business area. Especially context representation and matching techniques can form the basis for a vast set of services that can put the involved partners in the driver's seat at national and European level.

More specifically, the project exploitable results are:

R1 - The final system
The SHOPPINGMATE platform is an integrated system consisting of a number of components that interact with each other. Each component is responsible for a specific part of the information workflow. The key components of SHOPPINGMATE are the User Agent, the Shop Agent, the Intermediate Server, and the Application Server.

In short, the User Agent provides all the necessary facilities to assist the user in expressing his/her needs in the framework of an interaction with the SHOPPINGMATE system. Special attention has been paid in making this interface as light as possible to perform well in mobile terminals with limited computational capabilities. Menu-based selection and free-text insertion are the main tools for the provision of user information. The next phase is to represent this information by ontological terms at the Intermediate Server in what we call the Semantic Representation Engine (SRE), that is responsible for the manipulation of the semantic representation. Semantically expressing both the user profile and user requests provides a number of advantages in the interaction process, including personalized service provision. When the user starts his/her interaction with the system (i.e. during signing up), (s)he defines some personal details as well as his/her preferences in perms of shopping, which are then described by ontological terms in the Intermediate Server. When (s)he places his/her queries to the system, these preferences are utilized to result to products that best match the user's profile and improve user's satisfaction. The Intermediate Server is also responsible to translate the user's query by using the defined ontology and accordingly to retrieve the query results from the recommendation engine (Recommender).

Another important component of the SHOPPINGMATE system is the Shop Agent that is responsible to reflect the status of shops and their items. A flexible interface is used to allow the shop owners to insert gradually and manage information related to exposed shop items. In parallel, automated information capture procedures are also available to the shop owner for massive data insertion. The shop and item information is also semantically represented at the SRE in the Intermediate Server. Specific instances are created in the shop ontology storing basic information for items, such as colour, size, price, etc. It is important to note that a process for the automatic ontology creation based on database descriptions for items is available in the SHOPPINGMATE system, making it adjustable to different environments and product lines.

The semantic representation of critical information is the base for the recommendation engine in order to provide personalized services in an efficient way. The recommendation engine utilizes machine learning technologies to produce scored matches for users, shops and items. Recommendations are based on an advanced set of criteria, such as preferences, interests, behavior and on learning techniques of user behavior patterns. Patterns derived from monitoring the user behavior are added on-the-fly during system operation. The Recommender service is accessed via a flexible query language (SMART Query Language, SMART-QL) that allows requesting context specific recommendations on a detailed level.

The Community Service allows users to rate products for their quality, price, etc. and shops for their reliability, friendliness, etc. This is very useful when a user decides to buy a specific product. Ratings can be taken into account when the system decides which products will be included in the returned list replying to a user's query. This requires the Community Service to be strongly coupled with the Recommender and the Advertiser components.

Finally, the Navigator is a component designed to assist the user as (s)he moves from shop to shop. Taking as input the outcome of the Recommender or Advertiser components, its mission is to propose a specific route for the movement of the user from shop to shop. It uses a map-based approach and provides route optimization facilities. This way the user will be guided more efficiently when there is the need for movement to another shop.

To allow parallel development, scalability and adjustability of the final system, a key design direction of the project from the very beginning was to follow a fully structured and distributed design and implementation procedure. Clearly, the SRE is the central component interacting with the User and Shop Agents, and the Recommender. Additional interactions not including the SRE are the interaction between the User Agent and the Community Service for user ratings and reviews, and the interaction between the Users Community and the Recommender for providing ratings input from the former to the latter for queries processing.

The basic operations of the Shop Agent include the shop registration and item insertion/deletion/modification. In the basic interaction with the SRE, a SOAP (Simple Object Access Protocol) Web Service has been implemented (i.e. the ShopItemManagementWS) that is invoked from the Shop Agent whenever a new shop is registered into the system or when an shop owner wants to insert, modify or delete items of the system or whenever he/she wants to update the shop's information. When the Semantic Representation of Shops/Items component of the SRE that communicates with the Shop Agent receives a message from the Shop Agent, parses that message, updates the Shop Item Ontology (SIO) accordingly and forwards the quest in the Recommender in order to update its repository as well. This was selected as a simple solution that allows quick and reliable interaction between the three components.

On the other hand, the User Agent communicates with the SRE and the Community Service and combines information into one in order to provide fluent integrated user experience. The component of the SRE that is responsible for the communication with the User Agent is the User Profile Description component. The user interface map is created by using Google Maps API that is used for geocoding and reverse geocoding user locations. Item queries are created locally, and sent to the SRE via SRE's SOAP interface. User management is also done via SRE. Users may rate items only when they have logged in and this is done via the Community Service interface. The user query processing operation is probably the most demanding in terms of communication of different SHOPPINGMATE components, as it involves the User Agent, the SRE and the Recommender, and, in contrast to the Shop Agent operation, more complex calculations are expected. A user's query can include the following information: description of item, price range, user's location information, shop's proximity (i.e. shops that sell the item that the user is looking for should not be further than a specified distance). In brief, the operation is as follows:

1. The user enters the characteristics of the item s/he is searching for through the user interface.
2. The User Agent sends the user's query in XML format through SOAP to the Query Description Component of the SRE.
3. The Query Description Component interprets the meaning of the message and generates the SMART-QL representation of the query with the use of an XSLT file.
4. The SMART-QL request is being sent to the Recommender that provides the response in the SQL format. This is sent back to the SRE, which makes the inverse translation to forward the response to the User Agent for presenting it to the user.

R2 - The Semantic Representation Engine (SRE)
The role of the SRE is to enable the description of information in the SHOPPINGMATE system. The Semantic Representation Component consists of three parts that are responsible for the semantic representation of user profile, the semantic representation of shop and items information and the representation of user requests. The semantic description of the information is based on a popular machine-readable context language, the OWL (Web Ontology Language).

Both the user context information and the user profile details, as well as the shops' and items' information are described with this language and these descriptions form eventually the ontologies that represent all the information concerning users and shops and are machine interpretable. Specifically, two ontologies have been designed and implemented in the SHOPPINGMATE system; the User Profile Ontology (UPO) and the Shop Items Ontology (SIO) for modeling users' profile and capturing shops' and items' information respectively in the domain of Clothing, Accessories and Footwear.

The UPO apart from user's basic information (e.g. name, age, gender) models user's shopping profile (e.g. favourite colour, clothing style). The main class of the UPO is the class 'User'. Instances of class 'User' have some basic characteristics that are described in the ontology with the use of datatype properties. Such information involves the name, gender, age or login information (username, password, email). Users acting in the system insert this information through a specific interface and the appropriate instances are created accordingly in the ontology. The rest of the properties are used to store information related to the context of the user. Personalized services are provided through information related to user preferences that are inserted in the appropriate datatype properties. User preferences include colour preferences and clothing style identification. Colour preferences include the user favourite colours whereas the clothing style identifies the personal dressing style of each user (e.g. casual, sportive, etc.).

The SIO ontology was designed in order to follow largely the standards of GS1 organization. The basic classes of the SIO are 'Shop' and 'ShopItem' which contain a set of basic properties for shops and items respectively. Instances of 'ShopItem' class represent all the items for sale of each shop that are registered into the SHOPPINGMATE system. The 'ShopItem' class includes three subclasses (Clothing, Accessories and Footwear) each one having subclasses that describe the items in a specific way. Using these classes, we are able to focus on specific types of items that are sold by the corresponding shops. Special properties for each subclass depending on its type are used. Instances of SIO ontology are created through the interaction of the Semantic Representation Component with the Shop Agent. The SRE contains two components for managing the content (i.e. the instances) of the above ontologies: the User Profile Description Component and the Shop Items Description Component.

The Shop Items Description component is responsible for the whole management of the shops and items information. More specifically, the component receives messages from the Shop Agent regarding shops and shops' items and according to these messages it inserts, updates or deletes the corresponding information into the ontology and the Recommender. A SOAP Web Service (Simple Object Access Protocol) has been implemented to enable the interaction between the Shop Agent and the SRE. This service is being invoked by the Shop Agent whenever a new shop owner wants to register his/her shop in the SHOPPINGMATE system, or an existing one wants to modify the information of the items that has been inserted into the system. The Shop Agent and the SRE exchange SOAP messages. When the SRE receives a message from the Shop Agent, parses that message, updates the Shop Item Ontology accordingly, transforms the information in the SMART Query Language (SQL) that the Recommender understands and sends the message to the Recommender invoking the corresponding Web Service provided by Fraunhofer Fokus.

The User Profile Description component of the SRE is responsible for the whole management of the users' profile. It receives requests from the User Agent, stores the users' profiles into the User Profile Ontology (UPO) and sends messages to the Recommender for inserting, updating or deleting a user's profile. A SOAP Web Service has been implemented to enable the interaction between the User Agent and this part of SRE. This service is being invoked by the User Agent whenever a new user wants to register in the SHOPPINGMATE system, or an existing one wants to modify his/her account. The User Agent and the SRE exchange SOAP messages. When the SRE receives a message from the User Agent, parses that message, updates the User Profile Ontology accordingly, transforms the information in the SMART-QL language that the Recommender understands and sends the message to the Recommender invoking the corresponding Web Service provided by Fraunhofer Fokus.

Another important component of the SRE is the User Queries Description component which is responsible for handling users' searches for items. The user enters the characteristics of the item (s)he is searching for through the User Agent. The User Agent sends the user's query in XML format through SOAP to the User Queries Description component of the Intermediate Server, which interprets the meaning of the message and generates the SMART-QL representation of the query with the use of an XSLT file. The SMART-QL request is being sent to the Recommender that provides the response in SMART-QL format. The results that this component receives from the Recommender are being enhanced with extra information from the SIO ontology and are sent back to the User Agent in XML format.

Users can submit their queries either through a menu-driven approach or in free text. Although the representation of a query when submitted through a menu is straight forward, in case of free text submission, queries' processing is needed to describe the query in a machine understandable format. Such processing is based on Apache Lucene, a high-performance, full-featured text search engine library which allows indexing and searching data.

With the use of Lucene an index has been created from the ontological schema of the SRE. That index contains all the classes of the schema, and the attributes with their predefined values (e.g. attribute 'gender' with value one of {male, female}). The index has been enhanced with synonyms extracted from the lexical database WordNet and online thesaurus. The way the free text processor works is explained through the following example. Suppose that the user submits the following query: "black shoes for women".

The free text processor parses the value of the FreeText node and ignores all the words that have no special meaning with the use of a Stop Words list (i.e. "for"). Then, it searches the index in order to extract the "meaning" of each of the remaining words. With the use of the index it can be identified that the user is looking for an item which has black color, belongs to the class Shoes and is appropriate for female ("female" and "women" have been identified as synonyms). After the free text processing, which is transformed in the language the Recommender understands (SMART-QL) with the use of an XSLT file (Extensible Stylesheet Language Transformations).

R3 - The Recommender
The Recommendation and Advertisement component provides users with product recommendations matching their expressed shopping intentions and according to the user's current context and historic feedback information. User requests, combined with user profile information, are matched against product descriptions on the basis of the User Profile- (UPO) and Shop Item Ontology (SIO). Various item properties are regarded in this match, from the hierarchical item category down to clothing style and color. The set of regarded properties is dynamically determined by the actual request and the kind of product requested. E.g. while for trousers the 'length of legs' can be an important constraint of a user's purchase intention, a T-shirt lacks such a property at all. Also indirect constraints can be handled, such as to recommend only products that are sold in a certain price range in a shop in a given radius around the user's current location. The final product recommendations are created by a hybridizing algorithm regarding the ontological descriptions as well as the user feedback information in a collaborative.

Technically the recommender is realized as a SOAP Web Service. In its interface, the recommender 'speaks' the SMART Query Language (SmartQL), a proprietary XML dialect. It is a hierarchical, declarative query language that allows formulating constraints over a hierarchy of valid result data elements. Based on the configured recommendation algorithm, the constraints can thus enforce the ordering of result sets to reflect the best relevance for a given query, i.e. to recommend the top N result elements.

Advertisement, in the recommender backend, functions similar to product recommendations; however, without the explicit expression of a certain purchase intention. Advertisements, from the perspective of the recommender just products (better: data elements) with a certain feature (i.e. the 'advertisement' feature), are presented to the user in a pro-active manner, based on the users current location. Initiated by the User Agent component, a special advertisement request is send to the recommender. If it responds any results these are displayed to the user on behalf of the User Agent, without the need of any active search effort from part of the user.

R4 - The User Interface
SHOPPINGMATE user agent is the consumer end application of the SHOPPINGMATE system. User agent is served as a scalable web page which can be accessed from mobile and desktop web browsers. The user agent is designed to be user friendly in terms of usability and quick response. The user agent will be suitable for various device types and input methods, so it may be used by regular mobile phones, touch screens, QWERTY keyboards and desktop computers. The User Agent communicates with the SRE, the Community Engine and Google geolocation services, and combines information into one in order to provide fluent integrated user experience. Current version of the User Agent uses jQuery mobile 0.2 Alpha framework in order to ensure that the system can be easily tailored and customized to customers' needs.

User agent is initially divided into a web browser based application, which is provided by a web server as a normal web page, and a java midlet that provides an interface to the hardware layer. SHOPPINGMATE java application retrieves the information that is not accessible by using a web browser, and delivers it to the web server. SHOPPINGMATE web page may be then tailored to use for example user's location information.

SHOPPINGMATE mobile application shows user's location on a map, and the user can point, click and search for nearby relevant items. User is able to rate the found results, and the ratings are utilized in enhancing future recommendations by the recommender engine. The user agent interface is a HTML5 based application that can be used through Android and iPhone / iPad mobile devices, and Google Chrome, Firefox and Opera web browsers. It uses W3C Geolocation API, so the user can be localized by browsing to the SHOPPINGMATE mobile web site.

User agent is implemented as a hybrid solution where hardware interface is connected to user agent by a Java application. Feasibility of the solution has been tested by implementing a java application that retrieves location from JSR179 location API. The application sends location to the web server every 5 seconds.

Mobile device's web browser is possible to be used simultaneously, and using AJAX, the location information may be updated to the screen without refreshing. SVG compatibility has been tested. S60 browser supports SVG, but a way to modify the content dynamically after creation has not yet been found. When using a normal web browser, SVG elements are easily retrieved and possible to be changed in many ways.

Application user interface is done by HTML, CSS and SVG, and the dynamic content of the interface is done by using javascript on client side and by using PHP on the server side.

Design of the user interface is to be separated from the application as much as possible, so the appearance is easily changed. As the design is separated, it may be improved later by a 3rd party company such as some designer company. Using AJAX provides means to inform user about the status of the query. The user interface is not paralyzed when a query is made.

SHOPPINGMATE user agent applies following standards:
-Java 2 Micro Edition (J2ME™) is a Java-based environment designed for developing applications for embedded and other devices with limited features,
-Location API is a J2ME API that delivers information from the device's location to Java applications
-SMS (Short Message Service) is typically meant for message interchange between mobile devices
-XHTML (eXtensible Hypertext Markup Language) is a HTML (Hypertext Markup Language) based markup language, which qualifies the XML (eXtensible Markup Language) syntax rules.
-SVG (Scalable Vector Graphics) is a XML based syntax language for describing still and animated 2D vector images. SVG is an open standard developed by World Wide Web Consortium
-JavaScript is a scripting language that is mainly used in Web-environment.
-JSON (JavaScript Object Notation) is a simple form of data transfer, which can easily be used in JavaScript applications.
-Google Maps API that is used for geocoding and reverse geocoding user locations.

The SHOPPINGMATE prototype has a reduced set of features in order to ensure quick implementation. The main functionalities are as follows:
-Manual location selection
-Sign in
-User registration
-Item queries
-Item result list screen
-Item result detailed information

User agent server has interfaces to Community engine (Buddy management, feedback providing, feedback retrieval) and semantic data representation engine (Item querying, shop querying, advertisement querying). Communication with semantic representation component is made by sending and retrieving XML by using SOAP messages. Communication with the community service is done by connecting to community service's web service and sending and receiving JSON messages.

SHOPPINGMATE user agent shows user's location on a map, and the user can point, click and search for nearby relevant items. User is able to rate the found results, and the ratings are utilized in enhancing future recommendations by the recommender engine. The user agent interface is a HTML5 based application that can be used through Android and iPhone / iPad mobile devices, and Google Chrome, Firefox and Opera web browsers. It uses W3C Geolocation API so the user can be localized by browsing to the SHOPPINGMATE mobile web site.

R5 - The Shop Interface
The role of the Shop Agent is to enable the capture of shop data into SHOPPINGMATE interactively as well as semi-automatically, offering a massive data capture capability, and to forward these data into the SRE at the Intermediate Server.

A survey of product description standards and e-Commerce frameworks allowed the consortium to benefit from definitions already adopted in the e-trade domain and to identify possible sources of information along with data formats for automated capture solutions in SHOPPINGMATE. In particular, the Global Product Classification (GS1) and the UNSPSC (United Nations Standards for Products and Services Classification) provided the basis for the ontology definitions in SHOPPINGMATE. The survey also focused on several standards widely used for the exchange of electronic trade documents (EDI, ebXML), often including XML-based definitions and interacting with shop inventory management systems. However, such technologies were not included in SHOPPINGMATE, since the project targeted at a generic solution equally suitable to little shops with minimal IT support, if at all.

The implementation of the component comprises two major entities:
-a web application offering to the shop owner the possibility to register his/her shop, insert his/her shop items data interactively or upload data already compiled in a formatted file
-a Java application for massive data upload, meant to be executed on the shop side.

The core of the shop agent resides in the web application. The web components (Java Server Pages and servlets) generate HTML pages with dynamic content and perform the required actions for servicing the shop owner requests. The provided functionality is:
i) Shop registration to SHOPPINGMATE
ii) Product information handling, i.e. viewing, adding, editing and deleting shop items. The product data can be entered interactively, one item at a time or by uploading Excel files containing details on a list of items.
iii) Shop account management, including change password and forgotten password functions
iv) A service access point for massive data capture.

The menus and selection possibilities presented to the shop owner are tailored to the specific item type, driven by the ontology definitions. The web application also offers the possibility to upload a file containing details on a list of items (in CSV format, edited using Excel, a common tool in the profession).

The Shop Agent stores all persistent data in a database, the Shop Information System. The advantages to store the data within the Shop Agent (if even most of them are also stored in the SRE Intermediate server) are to substantially improve the servicing speed of shop owner requests, the possibility to maintain the original form of the data and the possibility to store additional fields not stored in the SRE. The definition of the database tables, the data types as well as the accepted values are aligned to the ontology definitions adopted in the project and extracted from the relevant ontologies by the ontology navigator. The ontology navigator also populates the menus with context-relevant data fields and accepted selection options before their presentation to the shop owner.

The information entered by the shop owner and stored in the Shop Information System is pushed to the SRE component by invoking the corresponding web service (SOAP/HTTP) of this component. This action is asynchronous to the owner request servicing, in order to optimize speed. In order to perform its tasks the Shop Agent uses other publicly available information or services. The shop address is geo-coded into latitude-longitude coordinates, using the Google GeoCoding service.

Shops are protected by implementing access control and are required to register to SHOPPINGMATE. Access to shop information is controlled at shop level. It is not possible to log in to a shop and have access to information of another shop.

Mass data capture in SHOPPINGMATE has been driven by the following two considerations:
1. The need to provide a generic solution, to which different types of data sources can adapt.
2. Shop owners are not likely to give direct access to their data system but would rather control the content of the uploaded information (through a shop side IT tool).

They lead to the development of a Java application, to be executed on the shop side and performing two major tasks: data terminology alignment and execution of the data upload. The terminology alignment performs name conversion, from item descriptions according to local name definitions of a shop management repository (a data base), to the equivalent definitions adopted in SHOPPINGMATE (ShopItem ontology). This terminology conversion is based on a mapping (a dictionary) that must be specified once for a given data source, by editing a specific column in a provided Excel file, and that takes into account name context. It is meant to be executed at the shop side before the upload, avoiding loading shop-specific definitions in the Shop Agent and offering a more flexible solution with respect to different data sources within the same shop. The proposed Java application demonstrates mass item information upload from a data base extract to SHOPPINGMATE, controlled through a simple graphic user interface. Its purpose is also to give an example of how to proceed in order to interface a shop inventory system (like SAP) to SHOPPINGMATE. It is worth noting that the conversion operation is also isolated in a stand-alone application and can be used before the interactive CSV file upload.

The implementation of the shop agent capitalizes on open source technologies: The web application is deployed on an Apache-Tomcat server. It is developed in Java, XHTML and Javascript. The Shop Information System is based on the PostgreSQL data base engine to which Java applications can access using the PostgreSQL JDBC (Java DataBase Connectivity) driver. Possible extensions are the retrieval of information on products based on their product code using a GS1 GEPIR service or attaching additional references to product specification, referring for example to a manual to be retrieved from a manufacturer's website. A client for consuming each such service has been included within the shop agent, as needed.

R6 - The Users community Design
The Users Community enhances the functionality and usefulness of the SHOPPINGMATE system. It allows SHOPPINGMATE application users to be part of an online community facilitating the notion of social or communal shopping. To enable this, two main components have been implemented: The SHOPPINGMATE Community Service and the Mediatr Community Service Framework.

The SHOPPINGMATE Community Service is a Web based social networking service designed for users to share their shopping experiences. It provides common social networking functionality as well as features specific to share shopping experiences. The Mediatr Community Service Framework is a middleware component that supports data aggregation and dissemination to and from multiple Web2.0 services. It connects to different external services including SHOPPINGMATE Community Service and provides interface for community related functionalities.

The SHOPPINGMATE User Agent uses the interface provided by the Mediatr component to provide community related features in its UI. However, users can also use the SHOPPINGMATE Community Service UI to enjoy its full-fledged functionality in the browser. The SHOPPINGMATE Community Service has been implemented in Drupal . Drupal is a highly extensible Content Management System (CMS) especially designed for community-driven content. It is open-source software distributed under the GPL ("GNU General Public License") and is maintained by a community of thousands of users and developers.

To make the Mediatr as interoperable as possible with a wide range of client technologies, it offers both SOAP and REST based Web service interfaces to expose its functionalities. The REST Web service is available in two versions: XML message format and JSON data format for data serialization. Both the SOAP and REST based services were created with Microsoft Windows Communication Foundation (WCF) with Windows .NET Framework version 3.5.

Potential Impact:

The potential impact targets key societal needs extracted from today's way of modern life, and it thus remains within the same lines as identified in the proposal. More specifically, life today is characterised by long working hours, work competition, and stress, and a therewith increasing demand for a high leisure time quality. Shopping, formerly regarded as fun and relaxation, nowadays leads to additional overload and is regarded as a chore. Opening hours have to be met, shopping malls with an enormous and overwhelming offer lead to an increase in time spent on finding and choosing products, and the overall shopping situation is regarded as time-consuming and stressing. Many customers therefore switch to online portals - a process that in the long term leads to societal changes in communication and also homemade leverage. The bereaved in this process are not only families and the working society but also the elderly population, who already encounters difficulties in an increasingly high-tech world. Not being grown into electronic media and the internet, many services and applications seem inapplicable to them. They are often doomed to buy what is offered next door without having the chance to compare prices or qualities. SHOPPINGMATE aims to serve many different aspects to support these user needs for communication, freedom of choice, support, service, and increasing enjoyable leisure time.

The truly user-centric approach enables customised systems and applications for any age and requirement. With SHOPPINGMATE elderly citizens are enabled to compare prizes and quality of everyday things. Criteria important to them serve as shopping and choice support. One focus of SHOPPINGMATE is clearly on usability and joy of use, two main preconditions for user acceptance. The identification of user requirements regarding usability and usefulness fostered the design of a truly needed and applicable system, leading to increased technology usage and fostering the reduction of reservations towards technology especially for elderly users. Joy of use enhances sales appeal, facilitates the usage of SHOPPINGMATE, and makes it a successor on the market.

Another idea behind the SHOPPINGMATE is to handle social challenges in current and future cities. Today's neighborhoods do already differ a lot from the neighborhoods in the past. Social challenges like demographic change and social segregation made urban districts more anonymously and put the local economy at risks. The fast spread of shopping malls outside the cities has answered the demand of the customers for one place to buy everything but often prices are too high and the service personnel is only little skilled in one's trade. Furthermore, the increasing number of malls has a direct and negative effect on the development of cities and the urban districts. Small shops which are responsible for the local supply cannot compete with the increasing competition. Moreover, the coupled urban districts which leverage besides buyers also cultural, social and political activities are constantly weakened by the development of suburban shopping malls. In addition shopping malls have only little connection to local transportation systems and are usually visited by car. The ecological aspects of such a development are obvious, but especially senior citizens are in most cases not able to use a car for shopping daily goods, and are therewith endangered to get cut off local supplies.

On the other hand the customer might find a better price or service at a local dealer but the process of comparing prices and finding the right store offering the desired product is often time consuming. With the help of SHOPPINGMATE, the customer can receive recommendations based on his personal preferences and history about products that match their purchase specifications and shops which offer them. The SHOPPINGMATE "uplinks" local shops to a versatile network of shops having the same advantages like shopping malls (e.g. integrated customer experience) but without their disadvantages.

SHOPPINGMATE has a direct impact on the environment as it forces shop owners to turn their focus to electronic means of advertisement and promotion of their products rather than using traditional methods such as leaflets or posters. It also minimizes consumer transportation making it more targeted and efficient and results in reduced pollution, traffic jam, and noise; all major problem especially in the areas that targets, i.e. city centers.

SHOPPINGMATE can also have an important impact on the competitiveness of the SMEs and the economic growth and employment. The evolving technologies of mobile location based services in combination with semantic searching creates the new arena for great opportunities to the whole value chain comprised of mobile operators, value added service providers, handset manufacturers and numerous others looking into the m-commerce business. With regards to the commerce environment, the evolution of mobile telecommunications and e-commerce on a convergence path is encouraging the use and development of new shopping methods. Due to the explosive growth of the mobile phone population combined with the development of wireless technologies, m-commerce is becoming increasingly important to many businesses nowadays. Wireless Internet via mobile devices is leading the world into another spectrum of communications and means of conducting day-to-day shopping activities. Clearly, it is critical for such businesses to be prepared for and take full advantage of any benefits offered by m-commerce. They dare not be left behind as the business world is transformed by the convergence of electronic and mobile commerce - the "digital divide" is all too real in many markets and is growing further. In addition, SME's are in a very good position to adapt to new technology; as they may be able to adapt faster than larger companies that can be slowed by bureaucracy and stricter staffing hierarchies.

Against this background, SHOPPINGMATE aims to accelerate the adoption and innovative use of mobile channel by SMEs, so that they can exploit its potentials to sharpen their competitiveness. More specifically:
-The involved SMEs will strengthen their position in the market by capturing greater portion of the market (traditional customers plus e-shoppers).
-The SHOPPINGMATE is expected to enhance competition causing prices to decrease but at the same time it will result in an increase of sales, leading to the satisfaction of both the consumers and shop owners.
-The use of the tool will work as an extra incentive to make new offers to the customers and further expand business.
-The SMEs may attract customers across Europe, provided multi-lingual support, as they target consumer needs regardless of the country of origin.
-The SHOPPINGMATE can work as the primary shopping portal for tourists who are short of time and lack of knowledge of marketing areas.
-The SMEs can more easily compete with larger companies by advertising directly to the customer and targeting specific areas of the market.

The extension of business for the SMEs will indirectly affect the economic growth and employment positively. Some key points of this improvement on the economy are:
-The whole economy is expected to be given a boost as new markets will open.
-The SMEs can extend their business activities and decrease the gap between them and larger companies (balance in the market).
-The SMEs will be also given the chance to form larger groups and increase their economic viability.
-New markets will certainly drive SMEs to increase the number of their employees.
-New employees will include from data entry workers to marketing specialists.
-By assuring that the SMEs remain alive in the fierce competition, unemployment percentages are expected to fall.

An important impact for the SHOPPINGMATE is the satisfaction of certain Community societal objectives. Enhancement in quality of life, health, safety, working conditions, employment, environment, and contribution to standards is implemented by:
-Offering the customer the ability to save time from store to store while shopping.
-Having less traffic congestion because of less transportation needs between stores (e.g. not using a car for short distances or when the desired item is not available).
-Driving the prices down.
-Receiving information tailored to user needs.
-Informing the customers about good or bad products (e.g. dangerous flaws of electric appliances) through the user community service.
-Minimizing the time needed to have a concrete view of a market's status and spending more time on real user needs.
-Offering new jobs due to the expansion of the business.
-Decreasing the number of leaflets that pollute and increasing the e-advertisement.
-Enforcing the Electronic Commerce Directive of the EC (2000/31/EC).

Dissemination activities
During the first half of the project, the consortium focused on requirements and system design, leading to dissemination activities around the creation of the project's web site, plus a Greek site for promoting the service to the Greek users and preparing the target groups for the field trials in the center of Athens. The second half of the project was devoted mainly on the implementation and trials of the SHOPPINGMATE application, thus, more intense dissemination activities included the organization of one final workshop for promoting the results of the project and the submission of one journal paper discussing main design and implementation issues handled during the project's lifetime. Additionally, the project participated in a workshop organized by the EC entitled "Research supporting service innovation: A workshop for European SMEs", and was also presented in the main article of the Cordis Technology Marketplace portal. Finally, to promote Athens trials, the project created a separate space on the Greek project's website and a leaflet that was distributed mainly to shop owners in the center of Athens, together with face-to-face discussions with them.

The final project workshop took place at the University of Athens, with the aim to present the project achievements to a wider research audience that works in areas similar to the ones of the project, or to potential users from industry, public sector, etc. The workshop managed to attract 40 attendants, besides project partners. For presentations done by partners outside Greece, the webconferencing system used in the seminars was also used here as well, to allow two-way communication of presenters and attendants.

At the end of the project a journal paper has been written by the RTD Performers participating in the project and has been submitted for possible publication in the Journal of Location Based Services, Taylor and Francis Group (see online). The paper contains mainly the system architectural description and details on the different system components.

The SHOPPINGMATE project was invited to participate to an EC workshop, entitled "Research supporting Service Innovation: a workshop for European SMEs", that was held in Brussels on May 20, 2010. The workshop included mainly presentations from different project of the "Research for the benefit of SMEs" action, describing their work, objectives and potential impact of their outcome, followed by a fruitful discussion with EC officers on the things to be done for improving the action's benefits.

At the beginning of November, SHOPPINGMATE was selected for special promotion to the Cordis Technology Marketplace. The article is still available at

Finally, to assist the execution of field trials in Athens, supporting material was created in Greek. This included:
-a leaflet that was distributed to the shop owners in the center of Athens, describing the project and asking for their participation,
-a web page including simple and easily understandable information about the trials,
-a manual for the shop owners about how to access and use the Shop Agent to upload their items details, and
-a manual for the consumers about how to access and use the User Agent to search for products.

List of Websites: