Connection-Geography – Discontinued

Discontinued

As of May 12th 2015, LinkedIn made large changes to the their open APIs, discontinuing non-partner support for connection information. More information about these changes can be found on LinkedIn’s blog post here.


Version: 0.1.7a Last Edit: 2015-01-13 – Discontinued.
Languages used : Javascript, PHP
APIs used : LinkedIn Profile API, LinkedIn Connections API, Google Maps API (v3, JavaScript)
Supported platforms : Firefox, Google Chrome
Partial (untested) Support : Other Modern browsers
(Discontinued) Screenshot.

My intention with this application was to create a means to visually represent the distribution of LinkedIn connections, moreover the distribution of “extended” connections (second connections, etc). Additionally, having previously worked with the Google Maps Android API, I was eager to try using the JavaScript variation.

The basic flowed as follows:

  1. Connect with LinkedIn & fetch profile information (name, picture, location, etc.)
  2. Fetch user’s connections’ profiles
  3. Sort & group user connections
  4. Geocode (& cache) connection group locations
  5. Calculate maximum & minimum values for 1st connection cities
  6. Plot connection network consisting of markers, polylines, & information windows

To minimize on looping: sorting, info window creation and geocoding were performed in the same loop.

Discontinued

As of May 15 2015, LinkedIn removed support for connection gathering from their open API. While acquiring Partnership support would solve this, LinkedIn does not do so lightly. As this was a key component for this project, the project had stalled.

However, this project may return in the future as new creation.

Features

The application featured:

  • LinkedIn connectivity
  • Focusable Markers & Polylines
  • Stop-Light colouration based density colouring
  • Paginated info windows detailing connection info at the city

Limitations & Issues

Despite my plans, there were some limitations encountered:

  • As it stands, the application only showed relative densities of each city’s 2nd degree network, without showing the actual second degree network. This is because in order to get second degree connection, the “People Search API” was needed which had been limited to vetted access.

As such, I decided to work with only 1st Connections for the preliminary version.

  • LinkedIn provides a JavaScript API and a PHP API. However, initial attempts at using the javascript API for authentication led to collision issues with Ad-Block, even with permissions granted it lead to blank screens. As one desired to keep track of the number of unique visitors, PHP was used for authentication. However, despite the fact the documentation and support states that authentication in one should allow the other to connect seamlessly, this has also given issues. As such, all LinkedIn calls are done server side.
  • The current application does not account for mutual connections; if mutual connections have each other as connections, then their “impact” on connection density is deceptively larger than it really should be. This was a temporary short sight that should be corrected in the next build.