Acilos, the private social networking "valet"
There are many competing philosophies in the FOSS community when it comes to the question of how best to cope with the proliferation of proprietary social media services that vie for users' attention. On one side might be the freedom-and-privacy absolutism approach that drives developers to work on projects like FreedomBox and to steer clear of services run by entities who might not be trusted to preserve their users' rights ahead of other concerns. On the other end of the spectrum are those who happily take advantage of services offered by Google, Twitter, LinkedIn, and others, arguing that it is their choice to participate. Somewhere in between are the people who want to find a way to use the services popular with everyone else while somehow wresting more control away from the service provider and into their own hands.
Boyd Wilson of Omnibond is, evidently, in this middle category, and at Texas Linux Fest 2014 in Austin, he demonstrated his work on Acilos, an LGPL-licensed tool for manipulating social media accounts. Termed a "Private Social Valet," the tool can be connected to accounts on a variety of social networks, and pull in all of the content those accounts receive to the user's local machine. More importantly, rather than simply aggregating the feeds, it grants the user more control than those social media services generally allow. Acilos is not fundamentally linked to closed, third-party services—it can ingest and manipulate data from free software services as well (including anything that produces RSS)—but it may be most striking for its ability to connect, search, and analyze the data from proprietary social networks that tend to summarily restrict users' access.
Acilos is a web application, with a user interface written in the Dojo and d3 libraries, backed by the ElasticSearch search framework. The code is available on GitHub, and there are Amazon EC2 images created with each release. The most recent release is Beta 8, from June 4.
The name, Wilson explained, is an anagram of "social," sorted into alphabetical order. The credit for it belongs to Wilson's wife, who evidently possesses an uncanny knack for rapidly sorting the letters of words into alphabetical order. But this origin also provides a clue as to what the application does. Users link their instance of it to any of a variety of social network accounts, after which they can combine, search, sort, analyze, and post to all of the supported services.
Some of those features may sound mundane to someone who already has Google Plus, Twitter, and Facebook accounts, but Wilson pointed out that these services are increasingly shutting off features and making life more difficult. "Have you ever tried to find that interesting post you saw on Facebook a few weeks ago?" he asked the audience. "You can't, not anymore." Similarly, public APIs for popular services are on the decline as providers push users toward their official apps, and it often requires jumping hurdles to connect two or more accounts on the same service—even though it is common for people to have a personal Twitter account and also be responsible for managing a group or company account.
There are, of course, other open-source applications that aggregate feeds from social networks, Wilson said, but Acilos differs in some key respects. First, many open-source tools have one registered API key from each supported service for the application itself. That is convenient for users, but if the service provider shuts off the API key, all of those users are cut off, and users often worry about the privacy implications of shared API credentials. Acilos requires each user to set up an individual API key for each service they user, providing better isolation and privacy. The trick has been to make getting and installing the necessary API keys as painless as possible.
The second difference between Acilos and other social-media aggregators is that it has been designed from the beginning to function just as well as an in-browser tool on the desktop as it does as a mobile client. A lot of effort, he said, has gone into making a responsive UI that degrades smoothly to smaller screen sizes and that works as well with mouse input as it does with touch events.
Wilson demonstrated some of what Acilos is capable of today. With a set of social media accounts configured, Acilos shows a "main" feed that includes all incoming message content, as well as a simple interface for creating custom feeds by selecting individual users and search terms. The custom feeds tool can also be used to add public RSS subscriptions (which, obviously, do not require API keys or similar credentials) that can be treated just like the incoming message feeds from social network accounts. Acilos also allows users to post a single message that is dispatched to every connected service or any user-selectable subset, and messages can be sent immediately or queued for delivery at a later time.
There are a variety of analytics available, such as generating charts of post frequency (by user or by service) in several formats, as well as some more artistic output options like creating "word clouds." As of right now, the search interface is effectively split into two separate parts; the "query" feature searches the public feeds provided by the various services, while the "create a local feed" feature is used to execute a search on the incoming messages from the user's subscriptions. Wilson admitted that some of this work needs further refinement, particularly in clarifying the various search options.
After Texas Linux Fest was over, I tested Acilos on my own, and was generally pleased with the results, although there were some rough edges. It was particularly nice to be able to add multiple accounts for services like Twitter; this is a feature that quite a few proprietary applications support, but that has never been well addressed by free software. Similarly, the ability to cross-post between different services is a recurring need, and one that free software has been slow to support. Anyone who is responsible for a company or project account in addition to their personal identity will find a lot to like about Acilos in this respect.
The effectiveness of the search interface is less clear at the moment, partly due to the unfinished state of the code itself, but also because Acilos needs to collect messages from the connected accounts before the search feature has much to work with. That limitation is not Acilos's fault, of course—the services involved are the ones not interested in making searching easy. Last but not least, at the moment only the Twitter, LinkedIn, Facebook, Instagram, and Google+ services are supported. While this is a start, and one that encompasses many people's needs entirely, there are more services out there needing to be added—particularly free and open-source services. The developer documentation is sparse at the moment, which is hopefully something that will be addressed before a stable non-beta release.
Wilson closed out his overview of Acilos by asking anyone
interested in getting involved to grab the code from GitHub and get in
touch. It will be interesting to watch where the project goes from
here; it may have started out as a personal quest on Wilson's behalf,
but for many FOSS advocates and developers, a tool that makes up for
the shortcomings in the feature sets of commercial social networking
services is a sorely needed addition.
| Index entries for this article | |
|---|---|
| Conference | Texas Linux Fest/2014 |
