town/cmd/signup
..
README.md
main.go
thoughts.md

README.md

town signup

The point of this command is to enable signing up for tilde.town via an ssh connection. It is designed to be run when join@tilde.town is SSH'd to.

to-dos

  • finish this command
    • interactive guts
    • logging
    • write answers to disk
    • take out sidebar
    • add /help
    • make copy clearer (that you say whatever and then type verb)
    • enter to send
    • splash screen - put off
    • easter egg commands - put off
    • inactivity timer(?) - put off
  • review tool
  • actual account creation
  • backlog
    • get a manual dump from psql of json
    • convert into files in the review directory

configuration

On disk assumptions:

  • /town/var/signups exists and is owned by user join and group admin
  • /town/var/signups/log exists and is owned by user join and group admin

Assumes the following has been run:

sqlite3 /town/var/signups/signups.db < /town/src/town/sql/create_signups_table.sql
sudo chown join:admin /town/var/signups/signups.db

It assumes, in sshd_config:

Match User join
        ForceCommand /town/src/town/cmd/signup/signup
        PubkeyAuthentication no
        KbdInteractiveAuthentication no
        PasswordAuthentication yes
        PermitEmptyPasswords yes
        DisableForwarding yes

and in /etc/pam.d/sshd:

auth [success=done default=ignore] pam_succeed_if.so user ingroup join

initial thoughts

I need a script for how this interaction should go. It should feel more organic and fluid than just filling out a form. It shouldn't, however, take more than 10 minutes to get through stuff. The end result is to collect:

  • an email address
  • how a user found out about the town
  • if they have a referral from an existing member
  • what interests them about the town
  • any links to personal websites or social media

A given is that the applicant is interacting with a "host" that guides them through the process. Should there be more than one host?

How many rooms should there be? 1? more?

in terms of data collection, I intend to just save the transcript of their interaction instead of more structured data. The only real structured data are email and referral.

another idea/thought/dream:

the whole point of this is to spatialize a form. it's a form! a set of questions and corresponding textarea elements. but in order to trigger self reflection -- as well as a feeling of being seen by another (in a good way) -- i want to turn the form into a shape. i'm thinking about this like the room in Eclipse Penumbra:

(For the Hollow Head was drug paraphenalia you could walk into. The building itself was the syringe, or the hookah, or the sniff-tube)

so, spatialized, every room is a question. the rooms take shape as a linear script the user moves through by:

  1. answering a question
  2. executing a verb

and finally at the end, a verb to confirm submission.

author

vilmibm