ACTIVITYSUB Subscribe to the fediverse. The primary goal of ActivitySub is to create an cross-platform, agnostic ActivityPub client which gives a best-effort for consuming all ActivityPub content. Its invocation name is "activitysub", and on its own will fetch all personal inbox messages, subscribed outbox messages, and allow for sending messages to the fediverse. 1. INSTALLATION There may be an installation script included with this software. Select the script which has the name of your operating system, such as linux-install.sh or windows-install.bat, otherwise read the following. Have "activitysub" run on start-up. Don't know how? Once again research how for your operating system. 1.2 CONFIGURATION Place a ".activitysub.conf" file in your user directory (research where this is for your operating system) which contains: username: activitypub-username-with-domain password: activitypub-password extract attachments: true (or false) poll once every: 6 seconds (or minutes, or hours, or days) stagger polling by: 2 seconds (or minutes) The one option that probably needs some explanation is stagger polling: this is to prevent all updates happening at the same time, preventing a resource spike. Staggering allows the messages to still be read in parallel instead of in sequence. The option should be adjusted to account for your network behavior. If it's set to 0, everything will be read in sequence. 2. USAGE Open your email client of choice to add the local mail server to your list of email accounts. ActivitySub will translate SMTP messages into ActivityPub messages. Incoming ActivityPub messages will be stored into a Maildir which is read by email clients like Thunderbird or Microsoft Outlook. 3. GOALS 3.1 TECHNICAL GOALS The main techological goals which come to my mind, which I think are universally useful, are the following: * Run on "majority" shareholder operating systems and POSIX-compatible, which means Windows, Android and Linux/*BSD/etc. * Use technology which will have at least a 10 year life span. * Buildable with 1 command. * Vendor its dependencies such that they never expire. * Written in a style which is easy to read, and not necessarily optimized. * Must use a reasonably efficient language. 3.2 USER GOALS The main user goals I think are pretty straight forward: * Setup must be as simple as possible * All ActivityPub content must be viewable in some manner * All ActivityPub activities must be possible to create * The implementation must absolutely not drain resources * It must be easy to delete and wipe all application data * The application must only send requests to the user's respective server * It must have a name which reflects what the software does. The above should cover privacy and efficiency concerns. 4. TECHNOLOGY It's been decided that Standard ML is the language of this implementation. You can read why in the 100-years.txt file. The Maildir format for storing messages is extremely well suited and supported by many email clients. This allows users to use familiar and suitable interfaces to interact with the ActivityPub universe.