How the app works ‘Some1LikeMe’ combines geo-locational information with the 2011 Census Open Data. This is done using the GPS capability of modern smartphones and tablets. Looking at the 2011 Census, the data is organised in several ways, for example by county or province. However, these are not nearly small enough to give accurate information for a small area around a user’s location. We discovered that Ireland is divided into over 3,400 ‘electoral divisions’. These electoral divisions are the smallest division of the census data, therefore giving the most accurate results over a small area. Shapefiles for these electoral divisions are available from the Central Statistics Office website. These shapefiles contain the boundaries for each electoral division in national grid coordinates. We converted the shapefiles to use standard GPS coordinates so that they could be linked up to GPS data from a mobile device. Each boundary in the shapefiles defines an identifier, which matches that of the census data. Using this, we are able to retrieve census data for the electoral divisions around a user’s position. The app is made up of two main components, an app which can be installed on an Android device, and a server backend, which runs in the cloud. We chose to set up the app this way for a couple of reasons. Firstly, there is an issue of app install size. The shapefiles and the programming libraries required to decode them are very large, which is not good for an app that could otherwise be lightweight. Secondly, the data in the census is accessed programmatically using the SPARQL query language. The programming library required to communicate with a SPARQL endpoint is not well supported by the Android platform. While it could possibly have been ported to work, we decided it would be best to just use a supported platform. Finally, there is an issue of processing power. Both the shapefile decoding library and the SPARQL library require a fair amount of processing power to do their job. We decided that offloading these tasks to a server, which could be scaled dynamically to fit our needs, would be a better idea. We used Android as our mobile platform of choice; this was for a few reasons. Firstly, Android accounts for roughly 80% of the global smartphone operating system market share. It is also the fastest growing. This means that by releasing our app on Android, we are targeting a very large user base. Secondly, with the advent of new, cheaper devices such as the Motorola Moto G, smartphones and tablets are becoming more affordable. Devices on other platforms, such as Apple’s iOS, cost many times more than Android devices. Here is a brief overview of how a query is processed: 1. The user decides on a radius, picks criteria and submits the query. 2. The app sends the user’s GPS coordinates and their chosen radius to the server using JSON (JavaScript Object Notation). JSON is a commonly used human-readable data exchange format, with built-in support for Android and the Play framework (which the backend server is built on). 3. The server calculates the electoral divisions that the user is located in, using the shapefiles. It then sends a JSON reply consisting of all of these electoral divisions. This contains a list of identifiers (to link to the census data) with area names and coordinates (to draw the boundaries on the map). 4. The app sends the requested data, with the list of electoral division identifiers, to the server. 5. The server queries the census’ SPARQL endpoint and sends the results back to the app using JSON. 6. The app displays the results to the user. To improve the user experience, we also implemented a caching system. When a query is sent off to the server and the app gets a reply, it caches the information received so that, when the same data is requested, it is retrieved from the local cache rather than querying the server. This means that load times can be very effectively reduced. When the cache file size goes over a user defined value (defaulting to 16 megabytes) it is erased, to ensure the user’s device storage does not fill up. How to use the app 1. Switch to ‘New Query’ screen. 2. Select the required radius by tapping the ‘Change Radius’ button. 3. Tap the ‘Show Area’ button to show the area that data will be retrieved for. The red box indicates the area around your position. 4. You can repeat steps 2 and 3 until you are happy with the specified area. 5. Scroll down and tap the ‘Add’ button to add new criteria to query with. 6. Choose a dataset from the list. 7. For each dimension of the dataset, pick a value. This value will be shown against the remainder in a pie chart on the results screen. (Note that you can use the overflow button on each card to delete that set of criteria). 8. When you’ve finished picking your criteria, tap the ‘Query’ button. The app will move to the ‘Results’ screen and show you a pie chart for each set of criteria entered. 9. If you want to save your query to look at later, but don’t want to have to re-enter all the criteria, you can put it in your ‘Saved Queries’ 10. Tap the save icon in the top right. Pick a name for the query and tap ‘Save’. 11. Switch to the ‘Saved Queries’ screen. The query you just saved should now be here. You can tap on the card to see the results again. You can use the overflow button to rename or delete your query. 12. The GPS Test Mode under ‘Settings’ allows the use of some default coordinates located in the centre of Ireland. This is useful if you want to test the app’s functionality but are somewhere where GPS is unavailable; for example, inside a building. Dataset used This app uses all datasets available through the 2011 Census Open Data. Target audience Some1LikeMe makes use of the datasets in a way that could be useful to both the general public and businesses seeking to establish the demographics of a particular area. Because the data is related to particular electoral districts covering only a few square kilometres, it can produce very specific results, but yet has the flexibility to widen the search area. Benefits of the app to audience Because the app has been created for mobile platforms and utilizes ‘live’ geo-locational information, it can provide users with a very immediate and personal experience of the Census data. While limitations in the structuring of the Census databases currently prevent the combining of several criteria in order to narrow searches, it is still possible to create a definite graphic representation of the criteria. The familiar format of the app utilizes the most popular and fast-growing mobile platform, Android, which makes it particularly easy to use. Response to Evaluation Criteria 1. Data Use 1.1. Makes use of all census datasets. 1.2. Makes use of accurate geo-locational information. 2. Alignment with Project Goals 2.1. Makes census data accessible and related to people’s location in an immediate and innovative manner. 2.2. Exploits the census Open Data in a way that could widely benefit society. 3. Functionality and Implementation 3.1. The app makes all of the datasets accessible in a highly functional way with an implementation that is immediately familiar to smart device users. 4. Usefulness to students, teachers, schools and citizens of Ireland 4.1. The app has potentially a wide range of uses to many people in Ireland, because it makes use of all of the datasets and relates them to the users’ locations. 5. Feasibility 5.1. The implementation of a functional app based on these concepts demonstrates their feasibility. 6. Creativity/Originality 6.1. While based on research into international precedence (for example Dwellr, Spotlight), the Some1LikeMe app is both creative and original, as it takes the data and presents it in a much more immediate way, suited to mobile platforms. 7. Further Development – Social Media 7.1. While time constraints limited further development of the app, we had intended to include social media integration, which would have added to the immediacy and potential community benefits. This would be an obvious area for further development. Limitations The main limitation was the fact that the census datasets are not linked, which means that different criteria cannot be combined to produce a single composite result. If these linkages were put in place, it would allow for much more specific information to be extracted.
© Copyright 2024