Content-type: text/plain; encoding=utf-8
Date: Sun, 25 Jun 2017 15:52:24 +0000
In February of 2015, I wrote in my journal, "I should probably start some kind of blog/page with my thoughts/experiences on using GNU social & the OStatus network in general."(F26.0120). It's now June of 2017. Better late than never!
My brief history with GS:
The SDF (<http://sdf.org>) started running a GNU social instance on wm.sdf.org in 2014, and I started using it at that time. Before that, SDF was running StatusNet – I think I had an account, but didn't use it. After a discussion on bboard about the current state of federated social media, the StatusNet install was upgraded to GNU social, and the old database was wiped as it had suffered some kind of malady.
I installed GNU social on a home server in June '14 for testing, and to help debug the SDF instance. It was briefly federating, but I can't remember what URL it lived at.
I wrote the bulk of the SDF GNU social tutorial: <http://sdf.org/?tutorials/gnu_social>. For a while, I think this was one of the best documents explaining how federation worked to the layperson. Subsequent authors have done it better.
I sent a series of cheeky emails to the GNU social mailing list in 2015, saying that the project's name sucked:
<https://lists.gnu.org/archive/html/social-discuss/2015-01/msg00001.html>. I honestly cannot remember why I felt so strongly compelled to do this. I still like "HORD", though.
My home server was reincarnated at <https://hord.laemeur.com>. I disappeared for days into the wretched bowels of the CSS for GNU social's classic UI. Upon emerging, my site looked amazing. But running a home server wasn't ideal for a few reasons. I shut it down in July of 2015.
SDF's GNU social instance was reborn again on its own subdomain, <https://gs.sdf.org>. I still have an account there.
I wrote the first (that I know of) GNU social federated conversation completion tool: <http://laemeur.sdf.org/gs/convo>. Prior to the emergence of Mastodon as the OStatus platform of choice, it worked pretty well.
I wrote a tool to scrape GS servers for their federated groups, for compilation into a searchable index: <http://laemeur.sdf.org/gs/fedgroups>.
In 2016 I hacked together a browser-based GNU social client, ÆEGNUS (<http://aegn.us>), which uses the AtomPub API for posting HTML notices, and which has conversation reconstruction built-in, with foldable threaded conversation display.
I happen to think that HTML/XML notes were a potential boon to extensibility (<http://alph.laemeur.com/txt/GS-microformats-notes.html>) in GNU social and the OStatus fediverse at-large, though admittedly challenged by the necessity of HTML code-sanitization on servers. Nevertheless, that's presently out the window as HTML (posted via AtomPub) notes do not seem to federate to Mastodon. If that issue is not fixed – and I suspect this is not a high priority for Mastodon devs who seem focused primarily on building a sort-of "Twitter+" microblogging server and not a more general/extensible many-typed pub/sub server – there's not much incentive to work on an AtomPub/HTML-based GNU social client (that's you, ÆGNUS) when the users of that client are, essentially, blocked from the far greater Mastodon userbase.
So, since the mastodon seems now to be leading the menagerie (sorry, ol' gnu), and it only supports plain-text notes (with attachments) – it's time to start thinking about what we can do with plain-text notes.
Extensibility via notational conventions:
The answer to "what can we do with plain-text notes?" is: we can do anything. It might be ugly, or inconvenient, but all source code is plain-text anyway, right? So it becomes a client developer's challenge to devise, implement, and popularize applications based on the exchange of plain-text notes.
We already have @-mentions, #-tags, !-groups (in GS, but not in Mastodon), and, of course, the venerable URL. How else can we add to this vocabulary of machine-readable notations in plain-text notes to enable additional features in clients?
There's a side point here: with regards to how ugly or opaque heavily "coded" plain-text can be, it the effect of that on users – it doesn't seem to matter! Millions and millions of Twitter users have, without difficulty, become adept at parsing in an instant the heavily coded messages all over that service; not just the '@' and '#' symbols, but a huge number of abbreviations, contractions, and initialisms that have sprung up out of necessity in the 140-character world. This is a fascinating development in language and literacy, and shows the wonderful flexibility in humans' ability to aquire and create new language in the Internet Age.
Tree-structure and manuscript authoring:
This is a different topic entirely. It's not about extensibility and applications, but rather it's about writing.
I like plain-text. I like it a lot. It's a fundamental part of a xanalogical text system, and as such it's a core element in my main project, Alph (<http://alph.io>).
In xanalogical systems, we build documents from source texts, and ideally those source texts are plain-text. Plain-text microblogs are interesting to me as a source for transcluded text becuase:
Notes represent nodes in a graph – the conversation tree – and additional nodes can be appended to the graph by multiple users. Linked data is another core xanalogical concept – not just A-to-B linking, but the manuipulation of graphs – and so this is additionally interesting in relation to that (altho' the "links" between notices are not xanalogical).
Regardless of the nits one might pick, there's something worth exploring in OStatus microblogging as a writing tool. Imagine this:
You post a note which acts as the root node of a notepad/outline. You post notes representing top-level headings as replies to the inital post; then you continue to build an outline by replying under each topic/heading in the tree.
Other users contribute. They annotate your notes. ...and trolls will flame you and incite pointless arguments if it's a public thread, but that's another issue.
Then you start to work on a draft. Maybe each post is a paragraph, or a short section. What order do you post them in? It doesn't matter -- this is where you also start working xanalogically, to sequence the various source texts. And all through the process you're posting revisions, corrections, asides and annotations as replies to notes – and so are other people.
GNU social, Qvitter, and Mastodon don't show conversations as trees – but ÆGNUS does. And for this kind of usage, it could be a great tool. This gives me things to consider for future development of both ÆGNUS, and Alph.