PlanetData Network of Excellence FP7 – 257641 D12.1.2 NorthPole Report on prototypes, development, validation and evaluation Coordinator: Jens Kilde Mjelva, Computas With contributions from: David Norheim, Computas; Dumitru Roman, SINTEF 1st Quality reviewer: Irene Celino Quality reviewer: Jacek Kopecky 2nd Deliverable nature: Report (R) Dissemination level: Public (PU) (Confidentiality) Contractual delivery date: 31.03.2012 Actual delivery date: 30.03.2012 Version: 1.0 Total number of pages: 34 Keywords: LOD case studies, applications, prototypes, validation PlanetData Deliverable D12.1.2 Abstract This document presents the prototypes of the applications developed for monitoring regional development in municipalities in Norway and for supporting environmentally-friendly transportation decisions, based on the use of (Norwegian) linked open data. It reports on the implementation of the applications described in D12.1.1. For each prototype, we present the architecture of the application and interactions between components and with the user, together with technologies used for the implementation, usage manual, and preliminary validation of the prototype. Page 2 of (34) Deliverable D12.1.2 PlanetData Executive summary This document presents the prototypes of the applications developed for monitoring regional development in municipalities in Norway and for supporting environmentally-friendly transportation decisions, based on the use of (Norwegian) linked open data. It reports on the prototypical implementation of the applications described in D12.1.1. For each prototype, we present the architecture of the application and interactions between components and with the user, together with technologies used for the implementation, and the usage manual. The monitoring regional development prototype is a Web application that runs on a Web browser client. It is written in HTML, CSS and Javascript. The jQuery library is used to simplify some of the Javascript. For visualization of data in a map the Javascript library Raphaël is used. For dealing with the RDF data the rdfQuery library is used for parsing RDF data. The interactions between components in this application are described using sequence diagrams illustrating the steps involved in visualizing one or several aggregated data variables from different data sets used in the application. The usage manual is provided through screenshots of the graphical interface of the application, showing the data variables that can be selected by the user, based on some predefined user-friendly queries capturing the data variables which need to be visualized on the map, and how contextual and aggregated data is displayed on the map, based on the data variables selected by the user. The environmentally-friendly decision support prototype is a mobile application that has access to necessary built-in functionality of the mobile device such as native calendar data, positioning tools (GPS), but also new functionalities such as connecting to external LOD through HTTP. The application is built on top of the Android platform, written in Java. For handling RDF data, it uses the AndroJena library. The interactions between components in this application are described using sequence diagrams illustrating the process of adding travel events/transport alternatives to the user’s calendar, and the process of adding data from various LOD sources to be used in the application. The usage manual for this prototype is provided through screenshots of the mobile application, showing the parameters that can be selected by the user (e.g. calendar, preferred transportation options), and how the application suggests transportation options corresponding to different levels of environmentally “friendliness”. We perform a software validation in terms of how the applications fulfilled the original functional and nonfunctional requirements outlined in D12.1.1 and discuss how the functionalities have been fulfilled. An enduser validation plan is suggested through a questionnaire for each application to collect feedback from the users of the applications. The questions concerned the added-value and potential benefits of the applications to end-users, as well as some other potential enhancements of the applications. Page 3 of (34) PlanetData Deliverable D12.1.2 Document Information IST Project Number Full Title Project URL Document URL EU Project Officer FP7 - 257641 PlanetData Deliverable Number D12.1.2. Title Work Package Number WP12 Title Date of Delivery Status Nature Dissemination level Contractual Acronym PlanetData http://www.planet-data.eu/ Leonhard Maqua NorthPole Report on prototypes, development, validation and evaluation NorthPole M18 Actual version1.0 final prototype □ report dissemination □ public consortium □ M18 Authors (Partner) Responsible Author Name Jens Kilde Mjelva E-mail [email protected] Partner Computas Phone +47 95946949 This document presents the prototypes of the applications developed for monitoring regional development in municipalities in Norway and for supporting environmentally-friendly transportation decisions, based on the use of (Norwegian) linked open data. LOD, Norway, Application, Prototype Abstract (for dissemination) Keywords Version Log Issue Date 2012-02-13 2012-02-16 Rev. No. 0.1 0.2 2012-02-22 0.3 2012-03-20 0.4 2012-03-21 0.5 2012-03-22 0.6 2012-03-29 1.0 Author Dumitru Roman Dumitru Roman, Jens Kilde Mjelva, Roy Grønmo Jens Kilde Mjelva Change TOC, structure, preliminary content Added end-user validation questions Added CS2 architecture and technical description Dumitru Roman Added software validation, summary, usage manual for CS2, abstract, introduction. Jens Kilde Mjelva Added CS1 architecture and technical description Dumitru Roman Revised CS1 description, added some text around figures, and added executive summary. Included survey results. Dumitru Roman, Jens Kilde Updates based on comments from Mjelva reviewers; final version. Page 4 of (34) Deliverable D12.1.2 PlanetData Table of Contents Executive summary ........................................................................................................................................... 3 Document Information ...................................................................................................................................... 4 Table of Contents .............................................................................................................................................. 5 List of figures .................................................................................................................................................... 6 List of tables ...................................................................................................................................................... 7 Abbreviations and Definitions ........................................................................................................................... 8 1 Introduction ................................................................................................................................................ 9 2 Prototypes ................................................................................................................................................. 10 2.1 Prototype CS1: Monitoring Regional Development Application ..................................................... 10 2.1.1 Architecture and Technical Description .................................................................................... 10 2.1.2 Usage Manual ............................................................................................................................ 13 2.2 Prototype CS2: Environmentally-friendly Decision Support Application ........................................ 16 2.2.1 Architecture and Technical Description .................................................................................... 16 2.2.2 Usage Manual ............................................................................................................................ 21 3 Validation ................................................................................................................................................. 24 3.1 Software Validation: Requirements Fulfilment ................................................................................ 24 3.2 End-User Validation ......................................................................................................................... 29 3.2.1 Method ....................................................................................................................................... 29 3.2.2 Preliminary Results of End-User Validation ............................................................................. 30 4 Summary and Outlook ............................................................................................................................. 33 References ....................................................................................................................................................... 34 Page 5 of (34) PlanetData Deliverable D12.1.2 List of figures Figure 1. CS1 Application Structure overview ............................................................................................... 10 Figure 2. Sequence diagram illustrating the steps involved in visualizing one variable in the application .... 11 Figure 3. Sequence diagram illustrating the process of visualizing two variables in the application ............. 12 Figure 4. Homepage of the application ........................................................................................................... 13 Figure 5. Visualization of one data variable .................................................................................................... 14 Figure 6. Contextual information about one municipality............................................................................... 14 Figure 7. Visualization of two data variables (aggregated) ............................................................................. 15 Figure 8. The CS2 application structure .......................................................................................................... 16 Figure 9. UML Sequence Diagram explaining the process of adding travel events/transport alternatives to the user’s calendar .......................................................................................................................................... 17 Figure 10. UML Sequence Diagram explaining the processof adding data from various LOD sources ........ 19 Figure 11. Android home screen with the icons of the “Environmental Friendly Travels” and calendar apps. .................................................................................................................................................................. 21 Figure 12. The settings screen of the “Environmental Friendly Travels” app. ............................................... 22 Figure 13. Selection of preferred transport options and the calendar to be used in the app. ........................... 22 Figure 14. Suggestions for transport alternatives and their level of “environmental friendliness” ................. 23 Figure 15. Additional information about transportation options. .................................................................... 23 Figure 16. Preliminary results of the end-user validation of CS1 application ................................................. 32 Page 6 of (34) Deliverable D12.1.2 PlanetData List of tables Table 1. Figure 2 steps details ......................................................................................................................... 11 Table 2. Figure 3 steps details ......................................................................................................................... 13 Table 3. Figure 9 step details ........................................................................................................................... 17 Table 4. Figure 10 steps details ....................................................................................................................... 19 Table 5. Requirements validation for CS1 ...................................................................................................... 24 Table 6. Requirements validation for CS2 ...................................................................................................... 26 Page 7 of (34) PlanetData Deliverable D12.1.2 Abbreviations and Definitions LOD – “Linked Open Data”. Data sets publically available following the Linked Data principles.1 Data Set – A collection of related sets of information that is composed of separate elements but can be manipulated as a unit by a computer (Oxford Dictionary). Norwegian Data Sets – A collection of open or closed Norwegian data sets. CS – Case Study. Trafikanten –Trafikanten’s main purpose is to provide the public with up to date travel information for the public transportation system in and around the counties Oslo and Akershus. TheTrafikanten data set is about all public transportation, the current location and delays of route. Grasrotandelen – Gaming funds benefit sporting and cultural activities as well as voluntary humanitarian organizations all over the country through the Grassroot share (Grasrotandelen).Grasrotandelen is a registry showing organisations that receive funding. Enhetsregisteret – All legal entities in Norway are registered in the Central Coordinating Register for Legal Entities (Enhetsregisteret) at Brønnøysund Registry Centre. Tjenestemannsregisteret – A dataset containing age and gender distribution for all governmental agencies. 1 http://www.w3.org/DesignIssues/LinkedData.html Page 8 of (34) Deliverable D12.1.2 1 PlanetData Introduction This deliverable is part of WP12, “Call 1: NorthPole” which focus on consuming and improving Norwegian Linked Open Data for monitoring regional developments in municipalities in Norway and for providing support in environmentally-friendly transportation decisions. In D12.1.1 NorthPole Case studies: definition, requirements and design (Norheim et al, 2011) we addressed the specification of requirements for two prototypes in the aforementioned domains. This document reports on the implementations of the two applications, and specifically aims to: 1. Provide a description of the implemented prototypes in terms of architecture, interaction between components and with the end users, technologies used in the implementation, and user manuals; 2. Provide a validation of the implemented prototypes in terms of software validation (degree of fulfilment of the requirements specified in D12.1.1), and end-user validation (feedback about the usefulness of the applications to potential end-users) 3. Outline possible extensions of the applications. This document focuses on the prototypes implementations. The data sets, and the way they are used in the two prototypes are presented in D12.2.1 NorthPole Report on quality improvements of existing Norwegian LOD (Roman et al, 2011). The rest of this document is organized as follows. Section 2 provides an overview of the prototypes of the applications developed in the two case studies. We focus on the specification of the architecture, the interactions between the components and with the user, the technologies used in the implementation of the applications, and the user manuals. Section 3 describes the software and end-user validation method and reports on some preliminary end-user validation results. Section 4 summarizes this document and outlines possible extensions of the applications reported in this deliverable. Page 9 of (34) PlanetData Deliverable D12.1.2 2 Prototypes 2.1 Prototype CS1: Monitoring Regional Development Application This case study addresses the problem of how to speed up and improve the process of collecting and aggregating data for monitoring regional developments, targeting data journalists and citizens interested in learning more about regional developments in municipalities in Norway. 2.1.1 Architecture and Technical Description The application structure is depicted in Figure 1. This application runs through a Web browser, aggregates linked data and visualizes the aggregated data. Organization Register Data Web Client DBpedia Map visualisation API (raphaël) LOD … RDFQuery … CS1 Application Sintef/Computas Municipalites HTTP Figure 1. CS1 Application Structure overview Technologies The application is a Web application that runs on a Web browser client. This application is written in HTML, CSS and Javascript. The jQuery2 library is used to simplify some of the Javascript. The various LOD the application consumes are fetched as RDF data through HTTP-GET requests. In order to easily utilize this data the application needs to parse RDF. This is done with help from the rdfQuery3 library. With RDFQuery the application can easily parse an RDF resource referred to by an URI such as the ones we have made available for all the Norwegian Municipalities. This data set is updated with the latest data from DBpedia, Enhetsregisteret, Tjenestemannsregisteret and Grasrotandelen. See deliverable 2 http://jquery.com/ http://code.google.com/p/rdfquery/ 3 Page 10 of (34) Deliverable D12.1.2 PlanetData D12.2.2 for a more information of this data set and how data is added to it from the dynamic sources; DBpedia and Enhetsregisteret. For visualization of data in a map the Javascript library Raphaël4 is used. Functionality The following UML Sequence Diagrams illustrates a successful run of the applications. The diagrams consist of several labelled steps that are explained in detail in Table 1 and Table 2. Figure 2. Sequence diagram illustrating the steps involved in visualizing one variable in the application Table 1. Figure 2 steps details Step Description Details 1. The user launches the Web application 2. A graphical unit interface is displayed 3. The user selects one property in the GUI that she wants to see visualized. 4 http://raphaeljs.com/ Page 11 of (34) PlanetData 4. 5. 6. 7. 8. Deliverable D12.1.2 The Javascript controller notifies a change in the list of selected properties and starts preparing the selected property for visualization. The controller loops through all the municipalities checking if it already has acquired data for them. Note that at the first user run no municipality data will be already present. For the municipalities for which no data was already found a HTTP GET for data about that municipality is sent. RDF data is returned, parsed and made available for use in the application. The data is stored in the memory of the Web client. The map is updated and coloured according to the values of the selected property from the acquired data for each municipality. An updated GUI is made visible for the user. Figure 3. Sequence diagram illustrating the process of visualizing two variables in the application Page 12 of (34) Deliverable D12.1.2 PlanetData Table 2. Figure 3 steps details5 Step Description Details A. The user has already visualized one variable. B. Another variable is selected in addition to that of A. C. Because data was already fetched in A no data typically will need to be fetched now, i.e. the first part of the 'alt' will happen. Note that if some of the requests for municipality data sent during "A" failed, the second part (else) of the alt will take place and the requests will be resent. D. The map will be updated with visualizations of the two variables. This means that the visualized municipality values will be calculated by dividing the value of the first selected variable for the municipality by the value of the second selected variable. Currently this is the case for all combined variable visualizations. This can be extended by inclusion of other types of calculations based on the data types of the variables. 2.1.2 Usage Manual We will introduce the use of the application through a set of screenshots and explanations attached to each screenshot. Figure 4. Homepage of the application Figure 4 provides a screenshot of the graphical interface of the application: on the left side a set of data variables can be selected by the user, based on some predefined user-friendly queries capturing the data variables which need to be visualized on the map on right side. 5 The message sequence in Figure 3 is very similar to that of sequence diagram in Figure 2, hence the details of some steps are skipped. Page 13 of (34) PlanetData Deliverable D12.1.2 Figure 5. Visualization of one data variable When the user selects one data variable, the map is populated with relevant data (Figure 5). By clicking on one municipality more contextual data is retrieved from the data sources used (Figure 6). If the user selects more than one data variable, the data is aggregated and displayed on the map (Figure 7). Figure 6. Contextual information about one municipality Page 14 of (34) Deliverable D12.1.2 PlanetData Figure 7. Visualization of two data variables (aggregated) The application is available online at http://opendata.computas.no/RegionalDevelopment.6 6 The application has been tested with Mozilla Firefox, Opera, Chrome and Safari. Page 15 of (34) PlanetData 2.2 Deliverable D12.1.2 Prototype CS2: Application Environmentally-friendly Decision Support This case study addresses the problem of deciding the most environmentally-friendly transportation options when the user is faced with different transportation options for a short regional trip, given constraints like time, transport preferences, etc. The case study targets general citizens interested in becoming more environmentally-friendly in their transportation options. 2.2.1 Architecture and Technical Description The application structure corresponds to the one that was outlined in deliverable D12.1.1. The application resides on a mobile device where it has access to necessary built-in functionality such as native calendar data, positioning tools (GPS) as well as connecting to external LOD through HTTP. RDF library, AndroJena Figure 8. The CS2 application structure Technologies The chosen development platform for the CS2 application was, as described in deliverable D12.1.1, the Google Android platform. Java is the programming language used when programming Android applications. The CS2 app is hence written in Java. The various LOD the application consumes are fetched as RDF data through HTTP-GET requests. In order to easily utilize this data the application needs to parse RDF. This is done with help of the AndroJena library. Androjena is a porting of Hewlett-Packard's Jena semantic Web framework to the Google Android platform7. With Jena the application can easily populate a java model of an RDF resource referred to by an URI such as the ones we have made available by wrapping existing web services, e.g. Trafikanten. The populated model is easy to handle and extend, meaning that data not needed by the application can be ignored and various sources merged. Functionality The following UML Sequence Diagrams illustrates a successful run of the applications. The diagrams consist of several labelled steps that are explained in detail in Table 3 and Table 4. 7 http://code.google.com/p/androjena/ Page 16 of (34) Deliverable D12.1.2 PlanetData Figure 9. UML Sequence Diagram explaining the process of adding travel events/transport alternatives to the user’s calendar Table 3. Figure 9 step details Step Description 1. Details The user launches the “Environmental Friendly Behaviour” application The application is launched by clicking the application icon on a mobile device 2. The application requests access to the user’s calendars The application uses the Android Calendar API to get the IDs and names of the user’s calendars. E.g. 1 – Google Calendar (Private appointments), 2 – Google Calendar (Vacation) – 3 MS Exchange Calendar (work). By using calendar IDs, the application can work with the calendars the user the user chooses to make available to the application. Page 17 of (34) PlanetData 3. Deliverable D12.1.2 The user is presented a graphical interface (GUI) The GUI contains two settings items (see step 4) : I. “Available modes of transport” II. “Event Calendars” And one action option (see step 5): III. “Generate transport alternatives” 4. The user can optionally edit the settings I. II. Which modes of transport the user has available, e.g. public transportation, bicycle and gas car. This option controls which types of transport alternatives the application shall generate. Which calendar(s) the application shall generate events from. The application will generate transport alternatives that take the user from his current position to the next occurring event in any of the selected calendars. 5. The “generate transport alternatives” action is selected 6. The application launches a service responsible for generating transport alternative calendar events 7. The launched service is started on a new thread and is provided the values of the data set by the user; the IDs of the calendars the user wants to generate events from and a list of the available modes of transport, as well as the coordinates of the user’s current position which is given by the mobile device’s geo positioning tools (e.g. GPS). (Note that the app requires GPS or some other way to get the location, however this cannot manually be set by the user through the app interface.) The application service generates transport alternatives 8. Transport alternatives data is created and mashed up with data from various Linked Open Data sources. See the sequence diagram of Figure 10 and the corresponding table. The generated transport alternatives data is added to the user’s calendars 9. Various transport alternative events are added to the user’s calendars. If the user has more than one calendar, the application will add the transport events to different calendars so that the colour of the events will vary with the amount of emission (environmental friendliness). The id of the calendar to place the event in is thus governed by whether the event has a CO2 emission value over a certain threshold or not. A notification is sent to the user informing him the results of the application run A notification is displayed on the mobile device saying that transport alternatives were added to a named calendar prior to a specified event (the next event in any of the selected calendars). 10. The native calendar application is launched The user can thus see the result of the application run, i.e. that various transport events have been added to the calendar. Page 18 of (34) Deliverable D12.1.2 PlanetData Figure 10. UML Sequence Diagram explaining the process of adding data from various LOD sources Table 4. Figure 10 steps details Step Description Details A. B. The application finds the next calendar event (the target event) The application uses the Android Calendar API to get the first calendar event from any of the calendars selected by the user. The application asks only for events that have not already occurred or started, are not transport events themselves and that are taking place within the two next weeks. The event found is the target event. The application asks Trafikanten for the coordinates of the location of the calendar event. The LOD Wrapper around the Trafikanten Web services is used for getting the coordinates of the address specified as the location of the next calendar event found. More precisely the app populates a RDF model by requesting data from the Trafikanten LOD address search service. E.g. for the address “Lysakertorg 45”: http://opendata.computas.no/trafikanten/id/placesByString/Lysaker%20torg%2045 Page 19 of (34) PlanetData Deliverable D12.1.2 C. The application asks Trafikanten for public transportation data (travels) D. If public transportation (Trafikanten) is selected as an available transport mode, public transportation travel details fetched from Trafikanten LOD and stored in the application. The process of getting data from Trafikanten LOD is described in the Use Case 2 scenario in deliverable D12.2.1. The application asks NILU for air quality data and generates bike travel data If bicycle is selected as an available transport mode, bicycle travel events are generated with air quality risk data fetched from the LOD wrapper around NILU’s web services. Air quality data is fetched from the measure station closest to the user’s coordinates. Example RDF returning call: http://opendata.computas.no/nilu/data/station/10.75,59.95 The risk calculation is done based on a risk chart supplied by NILU under the “Varslingsklasser”-tab (warning categories) at http://www.luftkvalitet.info/Theme.aspx?ThemeID=6fc2e3cd-424f-4c03-ad0c2b9c15369cd9. The obtained air quality data is mapped against the chart and the bike travel events contains risk info ranging from low to high based on this. E. F. The travel time of the bicycle transport event is calculated by multiplying the distance between the coordinates of the user’s starting position and the coordinates of the target event with an average bicycle travel speed (currently set to 15 kmph). The application asks NOBIL for electric car charging station data and generates el. car travel data If electric car is selected as an available transport mode, electric car travel events are generated with closest el. Car charging station data fetched from the LOD wrapper created against Nobil’s web services. More precisely the coordinates of the target event, fetched in step B, are used as parameters in a HTTP-GET request asking for the closets charging stations, e.g. http://opendata.computas.no/nobil/data/chargingStationsByCoordinates/59.91673,10.74782 The URI of the closest charging station acquired is stored in the travel event and thus the user is provided the location of the charging station closest to the target event position, for example http://opendata.computas.no/nobil/page/chargingStation/1122. The application generates gas/diesel car travel data If diesel and/or gas car is selected as an available transport mode, a corresponding travel event is generated. The travel time of each car transport event, including electrical, is calculated by multiplying the aerial distance between the coordinates of the user’s starting position and the coordinates of the target event with an average car travel speed (currently set to 35 kmph.). G. Get emission data for transport alternatives For each generated travel event a mode of transport is included in the data. The public transport travels can consist of several travel stages where each is of a different type. For instance take bus to X then train from X to Y. The various transport modes are represented by URIs, e.g. train: http://opendata.computas.no/trafikanten/id/transportType/6 Looking up these URIs return RDF which contains links to emission data delivered by DIFI. For trains this link is http://opendata.computas.no/resource/emission/Tog. The application gathers the emission data for all the modes of transport that are selected by the user so that the total emission can be calculated for each travel event. Page 20 of (34) Deliverable D12.1.2 H. PlanetData Calculate and add emission data The travel data fetched and generated in steps C-F is now extended with emission data. The emission for each travel event is calculated by multiplying the travel distance with the emission spent per kilometre data for the transport mode of the event. If the travel consists of several travel stages (public transportation) the calculation is done separately for each stage and then summed in order to display the total emission for the travel. 2.2.2 Usage Manual We will introduce the use of the application through a set of screenshots and explanations attached to each screenshot. Figure 11. Android home screen with the icons of the “Environmental Friendly Travels” and calendar apps. Figure 11 shows the Android home screen displaying the icons of the “Environmental Friendly Travels” app and user’s calendar (left); and an example of user’s calendar displaying two meetings in different locations and current time (red horizontal bar) (right). The user wishes to find transportation means that can take her on time from one location to the other. Page 21 of (34) PlanetData Deliverable D12.1.2 Figure 12. The settings screen of the “Environmental Friendly Travels” app. By opening the “Environmental Friendly Travels” app, a settings menu is displayed (Figure 12), allowing the user to select the preferred transportation options (Figure 13 left) and the calendar to be used (Figure 13 right). Figure 13. Selection of preferred transport options and the calendar to be used in the app. After the selection of the available modes of transportation and the calendar, the user can select generation of transport alternatives. The result of generation is displayed in the user’s calendar as new events corresponding to the suggestions for transport alternatives (including estimated time): bus, bicycle, and car in this example, each having assigned different levels of “environmental friendliness” (with green being most environmental friendly, red being least environmental friendly, and yellow being in between); Page 22 of (34) Deliverable D12.1.2 PlanetData Figure 14. Suggestions for transport alternatives and their level of “environmental friendliness” The user can select the events corresponding to the generated transportation options and get additional information about each of them (Figure 15). For example if the user selects the event corresponding to the bus transportation suggestion, gets additional information such as the travel time, closest bus station, destination bus station, and CO2 emission are displayed.In case the bicycle option is selected, the application will inform the user of the air quality risk. Figure 15. Additional information about transportation options.8 The application is available for download at http://opendata.computas.no/EnvironmentalFriendly/.9 Translation of the bottom parts: “Delta?” translates to RVSP. “Påminnelser” translates to “Reminders” and lets the user add reminders for the events. 9 The application is developed for- and tested with Android version 2.2. 8 Page 23 of (34) PlanetData 3 Deliverable D12.1.2 Validation The validation of the applications is focused on two aspects: software validation (i.e. how the applications fulfilled the original requirements outlined in D12.1.1) and end-user validation (i.e. how useful are the applications for potential end-users). These two aspects are discussed in the following two subsections. 3.1 Software Validation: Requirements Fulfilment In deliverable D12.1.1 a set of requirements were outlined for the applications. The below tables describe the degree of fulfilment of the requirements by the implemented applications. Table 5. Requirements validation for CS1 Req. # Description Rationale Acceptance criteria Degree of fulfilment What is the system registering (user-input)? 1 2 3 The system shall register data set selections Selecting one or more datasets shall be possible in order to control which data the system will base its visualizations on. Verify that the app only visualizes data in the sets selected by the user Partially fulfilled The system shall register data variable selections Selecting one or more variables in a dataset shall be possible in order to limit which data the system will visualize. Verify that the app only visualizes data that is described by the variables selected by the user Partially fulfilled The system shall register selections of parts of the visualized data Selecting an element in the visualized data shall return details of the selected data Verify that the data in a visualization is clickable and that clicks return more details Fulfilled The datasets plugged into the application are added manually by the application developer. The current implementation allows new data sets to be included in the application in a programmatic way, but not through a graphical interface. The visualization of data is done through the specification of variables from the data set (variables specified through userfriendly questions) The system allows registration of data variables but this is done by the application developer, not the end-user, through predefined user-friendly questions that when selected by the end-user the application visualizes data selected by the user. The data visualized in the map is clickable and retrieves additional information. What data/systems should be available to the system, what interfaces to which systems? Page 24 of (34) Deliverable D12.1.2 4 5 PlanetData The system shall be connected to a chart visualization system A chart visualization system shall be connected to the system in order to display location based data Verify that the system can connect to a chart visualization system Fulfilled Various Linked Open Data shall be available to the system either through RESTful web service request(s) or SPARQL-endpoints. LOD shall be available to the system in order to have data to base the visualizations on Verify datasets are available to the system Fulfilled Verify that it is possible to add new LOD data sets to the system and that the added data is available for analysis. Fulfilled Verify that the selected data sets and/or variables get visualized Fulfilled A map visualization system is included in the Web client that provided location-based data for the available queries. A number of data sets are included in the application as reported in D12.2.1 and D12.2.2. What should the system update (change, delete, add)? 6 The system should be able to add more LOD sets to visualize data from Addition of new datasets should enhance the visualization possibilities The system allows new data sets to be plugged to the system in a programmatic way as demonstrated by the datasets made available in the application What shall the system calculate/compute? 7 The system shall present the user with visualizations of the selected data sets The visualizations shall be the core part of the system The system allows visualization of data variables on a map, based on the selected user queries. What shall the system deliver to the user? 8 9 The system shall present the user with datasets and variables to choose to base the visualization on The selectable datasets and variables shall correspond to the data (LOD) the system is connected to. Verify that all data sets the system is connected to are selectable Partially fulfilled The system shall visualize data connected to a geographical location on a geo chart Geo chart visualisations are powerful for presenting geo-data. Verify the possibility of visualizing data on a geo chart. Fulfilled The datasets are presented to the user implicitly, not explicitly, through the queries (data variables) that the user can select. Data variables are captured in the user-friendly queries the user can select. The system allows visualization of data variables on a map that covers municipalities in Norway. Data model Page 25 of (34) PlanetData 10 The LOD should be interlinked where possible Deliverable D12.1.2 This should let the visualizations be based on combinations of two or more datasets Verify that data describing the same thing are doing this the same way Fulfilled The application should be available through web browsers without plugins The independence of plugins like Flash will make the tool more acceptable. Verify that the system works w/o plugins. Fulfilled The application shall be user friendly For the application to work give a good overview, it must be efficient and effective to use. Verify a user’s perception of the effectiveness and efficiency of the application. Fulfilled The user can select queries that combine data from different data sets, and the result can be displayed on the map. Non-functional requirements 11 12 The application is a Webbased and accessible through a browser. No plugins are necessary to access the application. See end user-validation below. As it can be observed from the degree of fulfilment of the requirements in the above table, the application provided the core features it was supposed to implement. One thing to remark related to the requirements that were only partially fulfilled is the fact that they are related to the capability that the end user selects and automatically plugs-in new data sources, through a graphical interface. This feature proved difficult to implement due to the short duration of the project. Nevertheless, the system supports inclusion of new data sources, but they need to be manually included in the application and corresponding user-friendly queries need to be defined and translated to SPARQL queries in order to retrieve (and visualize) data from newly included data sources. To create the dynamic plug-in functionality, one would need to ensure that the data to be added is made available aggregated on municipalities and registered to the application, provide the names of the properties to be visualized (through user-friendly questions), together with the necessary graphical interfaces. The aggregation of data on municipalities may be the most time-consuming step, depending on the structure of the underlying data (what geographical features it contains that could be used to aggregate the data). Table 6. Requirements validation for CS2 Req. # Description Rationale Acceptance criteria Degree of fulfilment Verify that the app is working without adding information manually. Fulfilled What is the system registering (user-input)? 1 The user shall not have to enter any information when starting the app. The app should read all it needs from the users calendar and linked data. If configuration data is needed it should not be though the app itself. Data is read directly from user’s calendar and aggregation of linked data is hidden to the end user. What data/systems should be available to the system, what interfaces to which systems? Page 26 of (34) Deliverable D12.1.2 2 3 4 PlanetData Various Linked Open Data shall be available to the system either through RESTful web service request(s) or SPARQL-endpoints. The app shall need at least data describing real-time public transportation information and CO2 emission data in order to generate transportation alternatives. Verify that at least public transportation data and one other transportation data set as well as emission data is available as LOD. Fulfilled Private user data – calendar events and the geographic position of the user – shall be made available to the app. The coordinates of the user’s geographical position and the events in the calendar on the user’s mobile device shall be needed in order to form the requests to the data sets described in req. #2 Verify that the app has read- and write access to the users calendar data and read access to the geographical position of his mobile device Fulfilled Communication, forming requests - The system shall generate requests to the required LOD systems. The system shall form request to other (LOD) systems in order to get the data that will form the basis for creating the calendar events Verify that the application forms valid requests to LOD-systems based on the private data. Fulfilled An initial request will be formed with arguments fetched from the closed (user) data from req. #3, e.g.: “Find the 15 closest public transportation stops to the user’s position” Public transportation data and other transportation data sets (e.g. electric car charging stations) as other relevant data sets (e.g. emission data)are available as LOD and included in the application. The app has access to the user’s calendar data and makes use of the geographical position of user’s mobile device. The app has been tested and it provides valid requests to linked data sets. Page 27 of (34) PlanetData 5 Communication, handling replies - The system shall parse the data it receives and add emission information to a transport alternative by combining emission data with the transport data. Deliverable D12.1.2 The responses from the requests the app sends to the LODsystems shall contain the data needed to add the described transportation alternatives as calendar events by the application. Verify that the app can parse and keep representation of the LOD, public transportation data (and at least one other transportation data set) combined with emission data, in the application memory. Fulfilled The app provides transportation alternatives as calendar events. The alternatives are aggregation of data including public transportation, emission data, etc. What should the system update (change, delete, add)? 6 Application result The system shall add entries (events) to the user’s calendar corresponding to the transportation alternatives found. The added calendar event(s), i.e. travel alternatives shall at least contain the following information: Start time, end time, transport type, route description and environmental friendliness (e.g. CO2 emission). Transportation calendar events shall be needed in order to form basis for the user to choose a mean of transportation, i.e. whether to use public transportation or a taxi to get to his/her next scheduled calendar event. Verify that a programmatically added transportation event with emission data has been added to the user’s device’s calendar when the app terminates. Fulfilled Verify that the added calendar entries are describing travel proposals from the user’s position to the actual location of the event the proposals were generated from. Fulfilled The result of an execution of the app results in event entries in user’s calendar representing transportation alternatives. What shall the system calculate/compute? 7 Application result quality - The added calendar entries should to be of quality w.r.t. taking the user from his current position to the actual address of the calendar event the entries where based on. For the application to be worth using, it should provide the user with “correct” travel proposals. The tested scenarios proved that the calendar entries describe travel proposals from the user’s position to the actual location of the event. What shall the system deliver to the user? Page 28 of (34) Deliverable D12.1.2 8 PlanetData User notifications The app could display a notification telling whether transportation alternatives where found or not. Data model Feedback from the application to the user could inform the user that the application has really made something happen. Verify that the user has received an indication that the application has “done something” when the app terminates. Fulfilled 9 This would make it possible to use the application in other regions. Verify that the LOD actually contains links to other vocabularies describing transportation and/or environment Fulfilled For the application to work in the stressful setting described, it must be efficient and effective. Verify a user’s perception of the effectiveness and efficiency of the application. Fulfilled The data lifting and application shall try to utilise common linked data vocabularies for transportation and environment. Events are automatically generated into the user’s calendar if transportation options are found. Otherwise, a pop-up informs the user about unavailability of transportation means. The app uses the QUDT vocabulary10 to deal with quantities and units (particularly for measurement of pollution data). No other directly relevant vocabularies were deemed necessary for the application. Non-functional requirements 10 The application shall be user friendly. The mobile application uses standard graphical components provided by Android. See also end-user validation below. As it can be observed from the degree of fulfilment of the requirements in the above table, the application for UC is complete in terms of the fulfilment of the requirements outlined in D12.1.1.It worth noting that the reliability of the application depends on the reliability of the services from which data is wrapped and integrated. 3.2 End-User Validation The purpose of the end-user validation is to collect feedback about the usefulness of the applications to potential end-users. We outline below the end-user validation method and some preliminary results. 3.2.1 Method The primary mean for end-user validation was the set-up and provisioning of a questionnaire for each application to collect feedback from the users of the applications. The questions concerned the added-value and potential benefits of the applications to end-users, as well as some other potential enhancements of the applications. 3.2.1.1 CS1 Validation Method For the CS1 application, a questionnaire was set up at http://kwiksurveys.com?u=UC1-eval, and contains the following questions: 1. Did you find the Web application easy to use and self-explanatory? 2. Did the application give you interesting insight about trends in regional development in municipalities in Norway? 10 http://qudt.org/ Page 29 of (34) PlanetData Deliverable D12.1.2 3. Which of the application questions about trends in regional developments in municipalities in Norway did you find most interesting? 4. Did you find the visualization of the data intuitive? 5. What other types of questions/data about trends in regional developments in municipalities in Norway would you like to be included in the application? 6. Any other feedback 3.2.1.2 CS2 Validation Method For the CS2 application, a questionnaire was set up at http://kwiksurveys.com?u=UC2-eval, and contains the following questions: 1. Did you find the mobile application easy to use and self-explanatory? 2. Did the application give you usable transport alternatives? 3. Did the application help you in making an environmentally-friendly decision? 4. What other types of transport alternative would you like to see included in the application (except the existing ones: public transport, bicycles, gas/diesel/electrical cars)? 5. What other types of environmental parameters would you like to see included in the application (except the existing one: CO2)? 6. What other functionalities would you like to be included in the application? 7. Any other feedback 3.2.2 Preliminary Results of End-User Validation The applications have been presented internally at Computas and SINTEF and the attendees provided feedback through the questionnaires. In the case of the CS1 application, the application was presented also the personnel of the Brønnøysund Register Centre – one of the organizations from which data is used in the application. A total of 12 responses have been received after the internal presentation. The preliminary results of the CS1 questionnaires are presented in the Figure 16 below. The majority of the answers were positive and highlighted the fact that such an application has an interesting potential. The visualization was perceived as intuitive, and the concrete feedback points to potential future enhancements of the prototype. Page 30 of (34) Deliverable D12.1.2 PlanetData Page 31 of (34) PlanetData Deliverable D12.1.2 Figure 16. Preliminary results of the end-user validation of CS1 application The validation of the CS2 application is more complicated in the sense that the application needs to be tested over a longer period of time. The application has been distributed to employees of Computas and SINTEF. Page 32 of (34) Deliverable D12.1.2 4 PlanetData Summary and Outlook This deliverable presented the prototypes of the applications developed for monitoring regional development in municipalities in Norway and for supporting environmentally-friendly transportation decisions, based on the use of (Norwegian) linked open data. We presented the architectures of the applications together with technologies used for the implementation, usage manuals, and preliminary validation of the prototypes. We foresee possible enhancement and extensions of the applications. In the case of CS1 (monitoring regional development) it would be interesting to include new types of visualizations (e.g. pie charts) for some data variables and data sets. A user interface for plug-in of new data sources and creation of user-friendly questions (data variables) would make the application more generic and would enable the end user to dynamically add new data sources and create/select data variables in a flexible way. To enable such a dynamic plug-in data functionality, the data to be added needs to be made available aggregated on municipalities and registered to the application, and additional functionality to specify the names of the properties (through user-friendly questions) to be visualized needs to be provided. This application, and especially the data sets made available in this case study, will be used by Computas and SINTEF and further enhanced in the context of the Semicolon2 project11 which aims to test and establish methods, tools and performance indicators that can be used as the basis for recommendations and standards for enhancing collaboration across the public sector in Norway. Concerning CS2 (for support for environmentally-friendly transportation decisions) we foresee porting the application from Android to iPhone, as well as a desktop application, an enhanced user profile where use can specify more refined constraints on transportation, as well as inclusion of new ways of calculating “environmentally friendliness.” 11 http://www.semicolon.no/Hjemmeside-E.html Page 33 of (34) PlanetData Deliverable D12.1.2 References [1] D. Norheim, J. K. Mjelva, D. Roman (2011). PlanetData deliverable D12.1.1 NorthPole Case studies: definition, requirements and design, October 2011. [2] D. Roman, J. K. Mjelva, D. Norheim (2011). PlanetData deliverable D12.1.2 NorthPole Report on quality improvements of existing Norwegian LOD, November 2011. Page 34 of (34)
© Copyright 2026 Paperzz