Amore 0.1

If you’re so inclined, you can get version 0.1 of Amore here.

The only thing that’s missing from what I hoped to include in this version is the ability of users to delete or edit their own posts. It requires some restructuring of the code dealing with headers and cookies, so I opted to kick it down the road to version 0.2.

Amore 0.1 is very rudimentary and doesn’t federate yet, but it’s a start and it works at a very basic level. For v0.1, I’ll call that a success.

The road to Amore v0.1

Despite some fits and starts with coding Amore, I’m making progress towards version 0.1. I already see a bunch of things I want to change in future versions, but alpha software is a bit like a rough draft. It isn’t meant to be pretty or bug free, but should have the primary functions and mostly work.

Right now, site admins can set it up for open or closed registrations, users can create posts, and their posts will be listed on their profile page. Amore can create files for Nodeinfo, though I think it may need some work, since I’m not sure it’s being sent out as application/json which is required by the Nodeinfo protocol. Each post has it’s own page viewable by anyone, but I still have to create user pages that also can be viewed by anyone. I’m toying with the idea of having a list of users, similar to Explore on Mastodon, but I’m not sure that will make version 0.1.

Still to be done is showing the most recent posts on the front page, users being able to create and edit their profiles, having the profiles viewable by anyone, and giving users the ability to delete or edit their own posts. When those features are done, I think I’ll call it version 0.1 and start refactoring and working on version 0.2 features and improvements.

Protocols

There are a lot of different protocols on the web (XKCD sums it up nicely). Basically, every big company has their own way of doing things making stuff easier to find, or putting stuff in context. The three protocols below are encouraged by different major tech companies, though they all kind of do the same thing.

  • Open Graph protocol: http://ogp.me/
  • Microformats: http://microformats.org/
  • Schema: https://schema.org/

The protocols below are used by different projects on the Fediverse.
OStatus protocol: https://www.w3.org/community/ostatus/wiki/Main_Page
ActivityPub: https://www.w3.org/TR/activitypub/
Zot: https://project.hubzilla.org/help/en/developer/zot_protocol
Diaspora: https://diaspora.github.io/diaspora_federation/

OStatus is an older protocol and is mainly used by older projects on the Fediverse, such as GnuSocial.

ActivityPub is a newer protocol which has been adopted as a standard by the W3C, giving it some authority over the others. It’s mainly used by newer projects, such as Misskey, and it’s the one I’ll be focusing on in Amore.

Zot was developed by the Hubzilla project, but is also used by Osada.

The diaspora* protocol was developed by the diaspora* project, but is also implemented in Friendica.

Some Fediverse projects, such as Mastodon and Pleroma, implement multiple protocols, usually to include OStatus, ActivityPub, or both.