Diaspora Finally Merges in Developer API

Many developers were pleasantly surprised recently, when the maintainers of the Diaspora project merged in a long-awaited pull request to the aging codebase. This particular PR introduces a full-blown programming interface for third-party developers, allowing for the possibility of mobile apps and alternative frontends to leverage it.

The original efforts to bring in this feature have been going on for years, and have passed from one volunteer to another as the pieces have slowly been put together. Initially, Kent Shikama started implementing the API routes and scopes in 2015, leveraging OpenID Connect to manage the connection to apps.

Frank Rosseau then took up the mantle in 2017 to work on the controllers, which would handle the logic for what the API would be allowed to do. A lot of adjustments needed to be made to conform to the proposed API draft, and over the course of the next year, the work started to take shape into something coherent.

Hank Grabowski took an interest in the aging PR, and began investing time with a series of development experiments. He blogged about his progress extensively, and his efforts helped revive interest in the possibility of this feature being finished.

Screenshot from Hank’s blog of a post made via the API, with an attached image, poll, and location data

Other developers pitched in. Senya, a long-time contributor who spearheaded development on Diaspora’s pod migration feature, helped tweak the security scopes. Frank also stepped in to handle some of the core changes, and the group quickly found ways to collaborate together on the remaining effort.

All of this work has been rebased to clear compatibility with Diaspora’s main development branch, and was finally merged in on January 21st, 2020. After five years of development, where several people contributed thousands of lines of code and changes, one of the most-requested features of the Diaspora project has finally landed.

The project hasn’t officially cut a new stable release with the feature yet, but it’s estimated that this may likely happen by the time 0.8.0.0 comes out. Soon, clients such as Dandelion will be able to properly use it, opening up a whole new world to Diaspora users.

Discussion

Leave a Reply

Your email address will not be published. Required fields are marked *