MapIt is a simple service that takes a lat/long and returns the IDs of any admin boundaries that that point falls within. Exists as an API that returns JSON or html that can return readable pages. It's used in FixMyStreet so when you click on a map it will return the councils responsible for that area; we also use it in WriteToThem to match postcodes with representatives. We rate limit it a bit but anyone can use the API.
JM: Yes, fundamentally MapIt and RB do the same thing. The link above describes the fine-grained differences.
Myf NPaul: In the UK it's being used for a voter advice application in advance of the election. Will use the MapIt information to match user to constituency and tell the user how others are planning to vote/what opinions are in their constituency.
Myf NThis task was funded by the Poplus awards and it's underway right now.
Paul - it's a front end that's sucking data from diff components without storing itself, and using Mapit to return an area without the user having to experience all that?
Guglielmo: Except it's a backend tech, notfront end and it caches the results so you don't have to make frequent requests to the component API without bothering the sources of the APIs (main advantage)
Felipe: Is it configurable?
Guglielmo: Yes you can grab data from a number of different components simultaneously, perhaps we could have an indepth tech call another time to talk more about that.
Some of the difficulties we've found using Components:
we've been trying to get everything out of them. One thing - MapIt has a weird urls schema. The API is not really REST and doesn't use HATEOAS principle. It's difficult to navigate in the API, move from one result to the other easily, or turn result pages
For the use cases we're using right now it's mostly ok.
It's a django project but an old fashioned one, doesn't use Django Rest Framework or Tastypie.
Dave W: MapIt was built for our own purposes, management tasks on the command line to write to the data, you're right, and it isn't suitable for all tasks and yes, it is old.
Guglielmo: Could be easily rewritten using Django Rest Framework or Tastypie. Could offer more RESTful API.
DaveW: Sounds really interesting
Any Poplus Component should be easy to find your way from the Poplus websites onto the git repo. If you raise a ticket please include a use case as to why it would be useful. MapIt, we're so used to our own requirements so it's really handy to see the context.
Steve: what's the timeline for this work splashing out into public use?
Guglielmo: By the end of March we will have finished the prototype although it's not very clear which parts we are going to integrate. We wd like to add SayIt so that we are integrating three different components. There is a prototype that is live right now.
Steve: Do always share every step and especially launches on the Poplus Google group
Guglielmo: We will be writing a blog post about this work in the next week or two
Felipe: Developers always ask for use cases, can we be more proactive in having that information? Start asking orgs about their own use cases
Guglielmo: As of now we have MapIt PopIt and SayIt in the Toolkit, we would like to also integrate Cuttlefish, that's a probability not a certainty.
If you are developing in a django or python environment it's really easy to integrate. Tortilla is just the tool that makes a wrapper around the http request so you have a handy way to see the normal python object oriented interface
It makes it really easy to create python code
It's easier to go with the component toolkit, it should make life easier. Sorry, if you are using Ruby on Rails you're out of luck!
Jen: As a non-technical person. We've been talking about a similar platform that eg would allow you to use the components as wordpress plug-ins and that would allow a non-tecchie person would be able to set up a pmo website. Does your work allow for that?
Felipe: it's a different language, wp is php
Guglielmo: the job of a component is to allow people to integrate into whatever they want - any environment, including wordpress. The thing is, what you want to do with the data. If it's simple data make an http request and it will do that in wordpress or anywhere
But if you want to mix complex data then you need something more, oriented towards programmers and designers, not end users
Steve: Moving on to WriiteIt with Felipe from Chile
Felipe: WriteIt is a Component that allows you to write to public representatives, been doing some quite heavy work along with mySociety to improve compatibility with PopIt, and that's why Guglielmo's work also sounds pretty interesting, future work might include integration with MapIt and PopIt
Will be writing a blog post about the advances made in the past few weeks and there is more to come very shortly - 2-3 weeks
Frantic activity which we can see on github!
YourNextMP and its work with PopIt in the UK
We don't have anyone from Democracy Club so Paul will give a quick update
YNMP is a crowdsourcing tool on top of PopIt. In the UK there is no good central election candidate data and it's only released a few days before the election, plus it's really basic
Doesn't include, eg twitter, linked in, their own websites
YNMP crowdsources data and stores instructured format accessible via API
Designed for other people to reuse, using api. Election is about two months away and we have about 85% of data, growing day by day, has already been used by national newspapers and by other people building tools on top of it eg twitelection http://twittelection.co.uk/
Another one is digging out CVs from every candidate - emailing them and asking for CVs so the voters can get a rounded picture of candidates' skills: http://cv.democracyclub.org.uk/
Dave W^ your representative is applying to work for you, so you should demand to see their CV
Myf NCitizens are also using YNMP directly to find out about the candidates for the forthcoming UK general election. About 3.500 a day at the moment and growing exponentially.