Why We Sponsor MetaCPAN: OpenCage

Today we kick off a new series profiling the organizations that financially support MetaCPAN. Our goal is to showcase the diversity of teams supporting MetaCPAN and learn how they are using Perl.

We start things off with a look at OpenCage, which operates a widely-used geocoding API.

Who/What is OpenCage? What is Geocoding?

We’re a small company with a big goal - geocoding the world with open data.

Geocoding is the process of converting to and from geographic coordinates (latitude, longitude) to location information (address, but also other things). Geocoding is complex for two reasons: first of all the world is continually changing. Secondly, the way people have subdivided and labeled the world and think of location is highly variable, complicated, and (sadly) often illogical.

There are many different twists on geocoding in terms of how people search for locations, but also in the types of information customers want in response to their queries; many different use cases. We offer our service via an API, and one of the biggest challenges is trying to keep it as simple as possible while also addressing (pun intended!) all the different use cases. Some basic examples: one customer wants hyper-precise, current address information, while the next customer “just” wants to map coordinates to a time zone.

We spend a lot of time listening to customers and thinking about how to make the service easier to use. We have tutorials and libraries for about 30 different programming languages, including Perl via Geo::Coder::OpenCage, of course.

There are different commercial geocoding providers, but probably the main differentiator of our service (besides the stunning good looks of the founders, obviously) is that we rely on open data via sources like OpenStreetMap, a community we’re very active in. Just like open source software, open data offers all sorts of advantages. You can store the data as long as you need, for example, which many of the big commercial providers don’t allow. Another major advantage is the cost. Because the data is free, our service is highly affordable, especially at higher volumes.

How we use Perl

We use a whole bunch of different technologies, but the core of our service is Perl.

Three main reasons:

  • Essentially what we are doing is manipulating and cleaning textual data, and Perl is absolutely excellent at that.

  • We provide a bunch of different types of data in the API response - referred to in our API as “annotations”. Many of these are essentially just different encoding schemes for latitude and longitude, and we’re able to rely on the wealth of great modules from CPAN.

  • Perl is rock solid and reliable, especially over time. We also offer a location auto-suggest widget written in Javascript, and, to be honest, the sheer pace at which the js universe evolves means maintenance becomes a real nightmare, especially for a small team. Perl moves forward, but predictably and without breaking the past.

Why we sponsor MetaCPAN

Well, quite simply, as a way to give back to the technology and community we rely upon. We’re a small company, so our means are limited, but it’s very important for us to contribute back to the projects we depend on - be it financially, via software, or in other ways. Hopefully our efforts can be an example for others.

Final thoughts

Many thanks to everyone in the Perl community - in whatever role - who contributes to keep the project thriving. Keep up the good work! A special salute to the other companies who are contributing financially. Hopefully more will join us.

If you have any geocoding needs, please check out our geocoding API.

Anyone who would like to learn more about what we’re up to can check out our blog and/or follow us on mastodon. We often post there about interesting bits of #geoweirdness

Geospatial is an endlessly fascinating technical topic. If you’re interested, we organize Geomob, a series of geo meetups (very similar in spirit to Perl Mongers - interesting talks followed by socializing over drinks) in various European cities. There is also a weekly Geomob podcast.

Tags

Ed Freyfogle

Ed is co-founder of OpenCage, and organizes Geomob. You can contact him on mastodon or LinkedIn

Browse their articles

Feedback

Something wrong with this article? Help us out by opening an issue or pull request on GitHub