@
Quasit I wouldn't build it on Mastodon. Nor would I build it from scratch and then against Mastodon, only Mastodon and nothing but Mastodon. The Fediverse is not only much more than Mastodon, but technologically much more diverse than just Mastodon.
The best way would be to build it as an add-on (a so-called "app") for (streams) or Forte. That way, you would neither have to deal with Mastodon's limitations (yes, Mastodon is very limited although this isn't apparent to those of its users who don't know anything else), nor would you have to develop Fediverse server software from scratch.
In case you don't know them:
(streams) is the unofficial community name of a very powerful but technically nameless Fediverse application whose code is in the streams repository (
https://codeberg.org/streams/streams). It's essentially a Facebook-style social networking application with quite a number of extra features and the second-most recent member of a software family that dates all the way back to Friendica from 2010 (
https://friendi.ca). It's a fork of a fork of three forks of a fork (of a fork?) of Hubzilla (
https://hubzilla.org) which, in turn, was reworked from a fork of a fork of what's now Friendica.
And Forte (
https://codeberg.org/fortified/forte) is a fork of the streams repository that's very similar to (streams) itself.
All this was originally done by one and the same developer, a professional in IT and software for close to half a century.
Here is an article I've put together with tables that compare Mastodon, Friendica, Hubzilla, (streams) and Forte:
https://hub.netzgemeinde.eu/item/0a75de76-eb27-4149-b708-f20b2f79d392Unlike Mastodon which has only got four general-purpose profile fields in addition to the profile text, both (streams) and Forte already come with the profile fields that a good dating app would need such as:
- pronouns (pick one out of 3 or none at all)
- birthday (from which the age is calculated)
- six free-text location fields, even including Facebook-style "hometown" where you used to live; you can select for yourself how far you want to go into detail with revealing your location
- gender (pick one out of 14 or none at all)
- marital status (pick one out of 31 or none at all) plus who plus date since
- sexual preference (pick one out of 9 or none at all)
- a separate keyword field
- political views
- religious views
- hobbies/interests
- likes
- dislikes
- other channels/Fediverse identities
- musical interests
- books/literature
- television
- film/dance/culture/entertainment
- love/romance
- work/employment
- school/education
A dating app could easily tie into the directory and make use of these profile fields. It could use a tag of its own in the keyword field so that it only shows channels that use this app (I'm not sure if it's possible to detect which channel has which apps installed).
One big advantage for users is that they don't have to use their daily-driver channel for the dating app. On Mastodon and in most of the Fediverse, your account is both your login and your identity. On (streams) and Forte, you can have multiple fully independent identities, each with its own name, its own ID, its own profile, its own contacts, its own posts and conversations, its own settings etc. etc., all behind one and the same login. It's like having multiple Mastodon accounts behind one login. That way, users don't have to reveal to everyone who knows their official daily-driver channel that they're using this dating app.
Also, Mastodon is hard-coded to 500 characters. You literally have to soft-fork it and edit the source code to change the limit. Both (streams) and Forte are essentially unlimited in characters (their actual character limit is over 24 million).
Privacy and security are much higher on (streams) and Forte than on Mastodon, in fact, much higher than most Fediverse users can even imagine. Private messages are actually literally private. On Mastodon, a direct message only defines whom it's sent to. On (streams) and Forte, permissions come into play. The start post in a conversation defines who is allowed to see the conversation. Not only that post, but all comments as well. It's literally impossible to pull someone else into an existing private conversation by mentioning because that someone simply isn't allowed to see anything in the conversation.
So when you're chatting with a woman via PM, and she dislikes you, she can't shame or dogpile you by pulling her friends into the conversation.
On top of that, although even Friendica already had quote-posts since 2010, private messages cannot be quote-posted.
For a developer, all it takes to build this is PHP plus database know-how. Like the whole rest of the family, (streams) and Forte don't need anything more than a LAMP stack. No Ruby on Rails, no Elixir, no TypeScript or Vue.js or any other JavaScript, no .NET.
Deploying a (streams) or Forte app is easy, too: Create a public git repository for it, keep it there, and server admins can add your repository to their servers and activate your app server-side. Both (streams) and Forte are very modular and designed to be easy to expand.
Most of this would be possible with Hubzilla as well which is much bigger in terms of users and available servers. However, Hubzilla has got one disadvantage: Its directory only shows Hubzilla and (streams) channels, i.e. channels that use Hubzilla's native Zot protocol. That's because ActivityPub support on Hubzilla is provided by another app, it's optional, it's off by default, and the directory can't tie into it. On (streams), ActivityPub support is still optional, but more advanced than on Hubzilla, built into the core and on by default. And Forte doesn't support anything else than ActivityPub.
In theory, it should be possible to build such a dating app for all three.
Also, yes, in theory, channels that use such a dating app can connect to Mastodon. But Mastodon users couldn't use that dating app. Mastodon simply doesn't have any support for profile fields which it itself doesn't have. Also, Mastodon is too unsecure, and meaningful conversations are difficult if one side is limited to 500 characters. And I would hate to see this dating app bound hard to Mastodon's culture and Mastodon's unwritten rules, neither of which take the Fediverse outside of Mastodon into account.
#
Long #
LongPost #
CWLong #
CWLongPost #
FediMeta #
FediverseMeta #
CWFediMeta #
CWFediverseMeta #
NotOnlyMastodon #
FediverseIsNotMastodon #
MastodonIsNotTheFediverse #
MastodonCulture #
Hubzilla #
Streams #
(streams) #
Forte #
CharacterLimit #
CharacterLimits #
CharacterLimitMeta #
CWCharacterLimitMeta #
FediDate