PostFreely
Community for PostFreely. PostFreely is a simple light-weight way of posting long-form articles & blogging on the Fediverse. PostFreely is an actively maintained fork of WriteFreely.
This is a PostFreely update for Sunday October 1st, 2023. (Or maybe Monday October 2nd, 2023 — depending on where you are in the world.)
(I'd like to do these updates somewhat regularly, just to keep everyone who is interested up to date.)
What Is PostFreely
PostFreely is a clean, minimalistic publishing platform — geared towards blogging and long-form writing.
PostFreely supports Markdown. And in particular CommonMark, thanks to Mathew ( @[email protected] ).
And on top of that — PostFreely is Fediverse software — meaning it can connect with Mastodon, Akkoma, Castopod, Firefish, Friendica, Kbin, Lemmy, Misskey, Pixelfed, Pleroma, Plume, and any other software that supports ActivityPub, WebFinger, and the other technologies that the Fediverse is built on top of.
PostFreely is also a publishing platform for the smallnet / smallweb — currently supporting the gopher-protocol, and in the near future also supporting the gemini-protocol / gemtext, the nex-protocol, the mercury-protocol, the finger-protocol, as well as restricted sub-sets of XHTML & HTML.
History
PostFreely is a fork of WriteFreely. Thank you Matt Baer for creating WriteFreely and making it open-source software.
After a discussion on the Fediverse between 3 people, Ynte ( @[email protected] ) encouraged myself ( @[email protected] ) and Mathew ( @[email protected] ) to fork WriteFreely. That fork became PostFreely.
The name "PostFreely" is an homage to Matt Baer's WriteFreely. To note its history, and try to give credit where credit it due.
Archetypes
We had some discussion on who PostFreely is being built for. That discussion happened over here:
"PostFreely Archetypes"
https://flamewar.social/post/2073
Although this type of quantitative research is ongoing — we now have some clarity over who PostFreely is being built for.
(A more comprehensive archetype map document still needs to be created.)
Roadmap Backlog
Knowing who PostFreely is being built for leads into the next thing — what are we planning to build.
What we are planning on building is directly affected by who we are creating PostFreely for. What do those people want? What are their problems? PostFreely should try to solve their problems and address their wants.
The PostFreely roadmap is not finalized yet. But we have several items in the backlog. Here they are:
- password-resets (from the web-based PostFreely application),
- image uploads (with Markdown code for the uploaded image automagically put into the Markdown editor):
- image upload via drag-and-drop,
- image upload svia copy-and-paste,
- image upload via a button (when and if the toolbar is shown),
- accessibility improvements,
- CommonMark Mardown by default
- but can change to other formats, too, in addition to CommonMark Markdown:
- the gemini-protocol's gemtext,
- the nex-protocol's (unnamed) directory document format,
- (a subset of) XHTML,
- (a subset of) HTML,
- etc,
- but can change to other formats, too, in addition to CommonMark Markdown:
- post previewing,
- better Fediverse integration:
- ability to see Fediverse notifications — favorites, boosts, replies, mentions, etc,
- edits of posts get propagated on the Fediverse
- plus many other things, too
- more smallnet / smallweb support:
- gemini-protocol & gemtext
- mercury-protocol
- nex-protocol
- finger-protocol
- (the gopher-protocol is already supported)
- perhaps others, too
- commenting,
- being able to have conversations with people who comment to your post,
- readers being able to see comments to a post,
- comment moderation tools,
- ability to turn commenting off (and on),
- ability to hide specific comments,
- ability to block specific users from commenting,
- ability to block anyone from who server instances from commenting,
- importing content from other platforms into PostFreely
- import from WordPress,
- import from WriteFreely,
- import from Plume,
- improved customization abilities (from terminal and via the web-based PostFreely application),
- change favicon,
- change fonts,
- change skin / theme,
- teams
- Mastodon client-server API support
- the Mastodon client-server API is becoming the defacto client-server API for the Fediverse. PostFreely implementing even part of it instantly makes all sorts of tooling (such as mobile apps) work for PostFreely, too.
- being able to subscribe by e-mail,
- being able to paywall some content (if desired),
- optional micro-blogging to be able to chat with subscribers,
- new methods for authentication
- in addition to password:
- one-time authorization code (OTAC),
- magic-link,
- passkey,
- multi-factor authentication (MFA),
- in addition to password:
- admins
- multiple admins
- step-down as admin
- multi-tenant support,
- serving a different domain,
- similar to how DNS MX records except uses host-meta,
- etc.
(This list is not prioritized. Being near to the top or bottom of the list is not meaningful.)
Again, these are currently in the PostFreely backlog. We are still discussing them. The roadmap is not finalized yet. But hopefully this gives you some sense of where PostFreely is likely going.
If you would like to affect the PostFreely roadmap, please post in the PostFreely forum:
https://flamewar.social/c/postfreely
Development Work
Mathew ( @[email protected] ) and I ( @[email protected] ) have been doing clean-up work of the PostFreely source-code. This type of work is necessary to prepare for adding features.
Mathew and I had a conversation about how much we want PostFreely to diverge from the WriteFreely code-base. There are trade-offs both ways. There are advantages to keeping it similar — such as being able to pull-in upstream changes from WriteFreely. BUT — it does put constraints on us — and limits how much we can improve things. We are still undecided about this.
Mathew has been focusing on CommonMark and Markdown component of PostFreely. He has a plan for how to add post previewing for CommonMark Markdown, and for how to make CommonMark the default format.
I have been focusing on password-resets and implementing (parts of) the Mastodon client-server API for PostFreely.
Feedback
We would love to hear from you.
You can talk with us and the PostFreely community:
- by replying to this post,
- by posting in this community: https://flamewar.social/c/postfreely
- by posting on the Fediverse using the
#PostFreely
hash-tag, - or by directly reaching out to us: @[email protected] @[email protected]
⸺ Charles Iliya Krempeaux ( @[email protected] )
I am investigating improving password resetting in the PostFreely applications.
PostFreely inherited limited password reset abilities. I am now looking at improving this. And making it so that PostFreely has a more comprehensive set of methods for resetting passwords.
Please reply with your comments, questions, complaints, and any other feedback.
A basic operation of many (maybe most) applications is signing-in.
There are many different techniques an application could offer its users to enable them to sign-in.
For example —
- e-mail address and one-time auth-code (sent to said e-mail address),
- finger-print recognition,
- user ID & time-based one-time password,
PostFreely currently does something different.
Currently PostFreely offers a popular, well-known method for its users to use to sign-in —
- e-mail address & password.
A trade-off with using passwords, as PostFreely does, is that people sometimes forget their passwords.
A solution to this problem is — resetting a user's password.
Currently PostFreely only has two methods for resetting the password:
- a technical sysop with access to the command-line on the server uses the
postfreely
executable file to interactively reset the user's password to some value, - an administrator uses a web-based method to reset a user's password.
Some problems with this are —
- currently a user cannot reset their own password,
- currently an administrator's password cannot be reset — if they or someone else cannot directly access the server, or if they are not comfortable using a terminal-emulator,
- currently there are not any good ways of automating password resets via 3rd party tools.
Plan
PostFreely should have a more comprehensive set of methods to reset passwords —
- a user should be able to reset their own password from the web-site,
- a technical sysop should have a non-interactive way to reset a user's password from the command-line, so that it lends itself to automation,
- a special API should exist for resetting any password including the admin, so that a technical sysop can use it for automation,
- (special care needs to be paid attention on how to secure this.)
Please reply with your comments, questions, complaints, and any other feedback.
⸺ Charles Iliya Krempeaux ( @[email protected] )
Who is PostFreely being created for?
It is not possible to create an application for everyone. Trying to build an application for everyone effectively means you build it for no one.
So there needs to be specific types of people we are building PostFreely for.
In the replies to this post we will list, discuss, and describe the archetypes related to, relevant to, or important to PostFreely.
⚠️ This discussion should try to use "neutral" language in its descriptions. ⚠️
Examples
For example —
One type of person we may be building PostFreely for is — People who use WriteFreely, who like WriteFreely, but wish it had some additional features (such as uploading images, or a way to see replies, etc).
Another type of person we may be building PostFreely for is — People who like writing in markdown.
Yet another type of person we may be building PostFreely for is — People who want to make their content simultaneously available on the Fediverse and the "smallnet" alt-protocols such as finger, gemini, gopher, HTTP (restricted), mercury, nex, and others.
Etc.
There are many other types of people relevant to PostFreely. The purpose of this discussion is to list out, describe, and discuss these. We will do that in the replies to this post, rather than trying to list them all out here.
Archetype
The name we give to these types of people is archetype.
So —
What are the architypes we are creating PostFreely for?
What are their problems? What do they want?
PostFreely may try to solve some of their problems. PostFreely may try to address some of their wants.
What is an Archetype
archetypes (noun): an idealized model of a number of similar things.
From the point-of-view of industrial-research — an archetype is a model of some aspect of a person shared among many people.
(UX people tend to call "archetypes": "personas". And marketers tend to call "archetypes": "segments". In practice, all 3 of these are very similar concepts.)
Some examples of (non-Fediverse and non-PostFreely specific) archetypes include:
- father,
- mother,
- son,
- daughter
- brother,
- sister,
- husband,
- wife,
- gardener,
- farmer,
- computer programmer,
- grocery store cashier,
- CEO
- CTO
- etc.
You can also probably already see that an individual could express more than one archetype. For example — a single individual could be — a father, a husband, a brother, a son, a CTO, and a programmer at the same time during a certain span of their life.
The archetypes an individual expresses could also change over their life-time too. For example — before someone has a child, they wouldn't be a father or a mother yet; but after they have a child, they would (also) become a father, or a mother (in addition to whatever other archetypes they express).
In this discussion we will focus on archetypes relevant or important to PostFreely.
PostFreely Features
Features in PostFreely would usually be tied to a problem or want of an archetype.
And are not just made up arbitrarily.
So understanding the relevant, related, and important archetypes for PostFreely is an important precursor before a roadmap can be created.
Archetype Discovery
Archetypes are discovered. They are not arbitrarily made-up.
Usually archetypes are discovered by analyzing quantitative-data. And often the quantitative-data is data you collect yourself.
Maybe by interviewing people. Maybe by reading discussions on the Fediverse, on forums, and other places. Etc.
(CHARLES NOTE: I have already done research in this area. But like with most research — it is never done, and the research work should be ongoing,)
Let's discuss.
Who is PostFreely being created for?
What are the architypes we are creating PostFreely for?
What are their problems? What do they want?
Please reply with your thoughts.
⸺ Charles Iliya Krempeaux ( @[email protected] )
cc: @[email protected] @[email protected] @[email protected]
#PostFreely