First off, let's get this out of the way - Adiungo is pronounced "Ah-DOON-Go", and the closest translation to English is "add", but it also is used to "join, harness, attach, and incorporate". I felt that these words accurately describe the goal of this project.
The purpose of Adiungo is to help people take control of their online identity, and archive all of their online content on their website automatically. It is intended to be a curator of sorts - something that will automatically ensure that whenever you do something online, that information is collected, and stored in a single place for you to access in whatever way you want.
At the time of this writing, my personal identity is fragmented across the web in different places, such as:
- Social Media Platforms
- My personal website
- Pull Requests
- Software Releases
- Discussions (such as this one!)
- Podcast interviews
- Various bother blogs where I've written content
- Livestream recordings
- Online Videos
This creates a very fragmented view of me, and makes it very hard to get a full picture of my presence on the web. Another issue, is that many places we hang out online can disappear at any time. We're never guaranteed to have access to our data, and never really know if the data will be removed in the future.
I envision a world where your personal website is, yet again, the canonical location for your entire online identity.
- Wouldn't it be nice if you could visit a person's website, and see their entire online identity in one location?*
- How awesome would it be if you could create an RSS feed from a person's feed based on what you want to actually see?
- Wouldn't it be amazing if you could just...delete a social media account, but still keep the content on your site?
- How cool would it be to be able to search in a single location for everything a person has done?
I propose that we build a platform that can connect to different online spaces, collect the content published by you, and store that data somewhere in a way that it can be searched later I think this package should be built in a way that makes it possible for platforms to integrate with it (WordPress, Drupal, Laravel) directly.
Exactly how it accomplishes that would probably depend on how the space allows us to connect to it. Perhaps it's automatically polled every few minutes to see if there's any new content, or maybe it's polled on-demand, just-in-time, every 15 minute. It could even be set up as a webhook, automatically publishing the content on the site as soon as you post in the space. It just depends on what method the platform allows us to do, but I think generally we would want to start with the "polled on-demand" approach, if possible.
I recognize that many of these integrations may not be possible with how aggressively some of these platforms prevent easy access to the data, but I think it's do-able all the same.
- ActivityPub (Mastodon, and other federated websites)
- Non-federated social platforms (Instagram, Twitter, Tumblr)
- WordPress blogs
- SoundCloud, Stitcher, and other places where audio is shared
- Twitch, YouTube, Vimeo, WordPress TV
The Inverse of Puiblish on Site, Syndicate Everywhere, but not necessarily it's antithesis.
One thing I've noticed is that there seems to be indication that this approach would be done instead of publishing on your site. That's not the case, though - I think this should be used in conjunction with such approaches. I talk about this a bit more in this blog post.
Proof of Concept
A very, very basic version of this vision can be seen on my own website. This site has a REST API that automatically grabs data from several pre-determined sources, and will either link directly to the original post, or if it's originally from my website, it simply displays the post directly. All of the content for each post is saved in my database, so if something happens to that content on the other site, I can flip a switch and self-host it, or choose to delete it afterward. This is missing a lot of the functionality I want in the feed, but roughly-speaking, this kind-of the idea. Preserve my content, curate it in one place, and direct the visitor to the best place for that content.
I intend to expand this idea across all content I publish online. Every code contribution, Tweet, Toot, blog post, podcast article, all of it. I want to have a copy of all of it on my site, and I want it to happen automatically, with no additional effort on my part. Ironically, this very post is something I intend to archive, and have on my site.
Call for Contributors
I'm prepared to take a lead on this project, and am looking for people to collaborate with me on this. I know that I can't do this alone, and don't even want to try. Instead, I'm asking for help from other people who think this cause is worthy.
Some things we need to really get this project moving:
- Front-End Developers
- PHP Backend Developers
- WordPress Developers
- Continuous Integration Assistance
- Documentation Writers
If you're interested in joining in, add a comment to this discussion with a little information about you and how you think you can help. If this gets any traction, I will follow up in another post after this one with further details.