diff --git a/website/public/agent-demo.svg b/website/public/agent-demo.svg
index 1bb0dcc..545112a 100644
--- a/website/public/agent-demo.svg
+++ b/website/public/agent-demo.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
shares add at the collection you listen to. Full albums,
- honest bitrates, nothing transcoded up from a lossy source and relabelled.
+ honest bitrates, nothing transcoded up from a lossy source and relabelled. Nobody
+ checks whether you reshared the exact file you took, only whether you offer
+ anything at all.
>
),
},
{
glyph: '≡',
color: 'var(--status-info)',
- title: 'Organize so others can find it',
+ title: 'Name it so a search can find it',
body: (
<>
- Artist and album folders, tagged files, readable names. Someone else’s search
- only reaches you if your filenames say what the music is.
+ Artist, album, year, track. Most people search rather than browse, so your
+ filenames are the only route to you. One flat folder of untagged rips is
+ invisible.
>
),
},
@@ -74,8 +87,9 @@ const CITIZENSHIP = [
title: 'Stay online',
body: (
<>
- Leave serve --follow running in a tmux session on the box that is
- already on. A share that appears for an hour a week is close to no share at all.
+ Leave serve --follow running in tmux on the box that is already on,
+ or hand daemon to systemd. A share that appears an hour a week barely
+ counts.
>
),
},
@@ -93,11 +107,24 @@ const CITIZENSHIP = [
{
glyph: '@',
color: 'var(--status-info)',
- title: 'Answer people',
+ title: 'Ask before you take a discography',
body: (
<>
- Rooms and private messages are part of the client for a reason. Someone asking
- where the rest of a discography went is worth a reply.
+ user <name> shows how someone is set up, and many spell out
+ their limits in their profile. One line from message send beats
+ getting banned mid-queue. Answer the people who write to you, too.
+ >
+ ),
+ },
+ {
+ glyph: '⇅',
+ color: 'var(--status-success)',
+ title: 'Size your slots for your uplink',
+ body: (
+ <>
+ --upload-slots is not a score. Set it past what your uplink can feed
+ and everyone in the queue gets a trickle. Start low, raise it when uploads finish
+ fast.
>
),
},
@@ -107,8 +134,21 @@ const CITIZENSHIP = [
title: 'Wait your turn',
body: (
<>
- Queues are one person’s upload bandwidth being divided up. Queue it, leave it,
- come back later. Do not requeue the same file to jump the line.
+ A queue is one person’s upload bandwidth divided up. Queue it, leave it,
+ come back later. Requeuing to jump the line burns a slot someone else was waiting
+ on.
+ >
+ ),
+ },
+ {
+ glyph: '⚑',
+ color: 'var(--status-warning)',
+ title: 'Keep the files reachable',
+ body: (
+ <>
+ Sharing off an external drive works until it is unmounted. Run{' '}
+ shares reindex once it is back, or your listing promises files that
+ error out when somebody asks.
>
),
},
@@ -117,16 +157,71 @@ const CITIZENSHIP = [
export const Community = () => {
return (
<>
- + The protocol has no ratio and no tracker. Users decide for themselves who to + serve, and they check what you share before they queue you. +
++ Sharing costs you a directory and a process that stays up. It buys you a + catalogue that still exists in ten years, and peers who move you up the + queue because they browsed your files first. +
++ Some users restrict their files to buddies, often for fair reasons. A few sit + on rare releases and ask you to trade or pay for access. Read their profile, + then walk away from the ones charging admission; they thin out when people + stop playing along. +
+
Format and Clippy run clean on every push, and unit tests plus an end-to-end
- suite against{' '}
-
- soulfind is an open-source Soulseek server. Run it locally and you develop
- against a real protocol implementation without touching the public network.
+ suite against