Last updated on: 2023-09-04

Changelog


Mind maps

Table of Contents
  1. Documentation and recordkeeping
    1. Documentation
    2. Asset attribution
    3. Policy updates
  2. Interfaces
    1. Accessibility
    2. Shop
    3. Gallery
      1. Design
    4. Multimedia players
      1. Audiobook player
      2. Video player
    5. OpenGraph previews
  3. Content
    1. Video production
    2. Erotica downloads
    3. Audio/JOI
  4. Backend
    1. Storage
    2. Version control

These mind maps are quick sketches that include tasks and concepts.

Documentation and recordkeeping

Documentation

mindmap
    root(documentation)
    ::icon(icon icon-file-lines)
        id[document workflows so tasks can eventually be delegated and handed off]

Asset attribution

mindmap
    root(attribution)
    ::icon(icon icon-eye)
        id[trace attributions for erotica cover art]
            id[should be under Pexels or Pixabay licenses]
        id(include license button for asset popups)
        id(create colophon with asset list)

Policy updates

mindmap
  root(policies)
    ::icon(icon icon-circle-info)
        id[fix CSS on anti-abuse policy and republish]
        id[add 2257 policy]
        id[write accessibility policy]

Interfaces

Accessibility

mindmap
    root(accessibility)
    ::icon(icon icon-wheelchair-move)
        id[test UI at 200% text zoom]
        id(test UI with screen reader)
        id[check color contrast throughout site]
            id[create high-contrast schemes as needed]

Shop

mindmap
    root(shop)
    ::icon(icon icon-shop)
        id[set up WordPress]
            id[set up EDD]
            id[set up CCBill gateway]
            id[set up mailing list]
        id[write structure linking static site to dynamic pages]
            id)include product ID as YAML metadata then parsed into body with eRuby(
Design
mindmap
    root(gallery)
    ::icon(icon icon-images)
        id(add rule for filtering photos to add watermark via Ruby system command with ImageMagick CLI)
        id(have a few CSS border gold frames for photos)
            id)set frames as nth-of-type even, nth-of-type 1, nth-of-type 3, to simulate eclectic mix(
            id)have separate frame type for photo sets(
                id)mask composite of set preview(
                    id[composite previews using ImageMagick CLI]

Multimedia players

Audiobook player
mindmap
      root(audiobook player)
      ::icon(icon icon-podcast)
        id[provide time-synced WebVTT track for audiobooks]
        id[display audio files with WebVTT subtitles using video container]
            id)"may need custom
container that..."( id(allows user to change playback speed from 50% to 200%) id(shows past and future text karaoke-style for attentional context) id(highlights active chunk for easier tracking) id[offer audiobook download as single mp3 and zip with standalone player] id)use nanoc layout to programmatically write mp3 filenames and point container to path( id)investigate if podfic listeners still use m4b( id(offer m4b if they do)
Video player
mindmap
      root(video player)
      ::icon(icon icon-film)
        id[provide WebVTT closed captions for all non-live video]
            id(begin with just English)
                id(first expansion: Spanish captions)
                    id(next expansion: Chinese captions)
        id[provide audio description track for all non-live video]
            id{{WebVTT description track meant to be synthesized via text-to-speech—it is not a separate audio track}}
            ::icon(icon icon-triangle-exclamation)
                id(still provide as fallback)
                id(make description VTT file downloadable as alternate transcript format for audio description)
                    id(can then display audio in video container with its own captions)
                        id)can I then use just a little JS to time-sync a video and audio object and let device do mixing?(
                            id{{may not work on mobile which will usually pause instead of mix}}
                            ::icon(icon icon-triangle-exclamation)
            id[use HTML5 native video player as much as possible]
            ::icon(icon icon-forward)
                id)"may need custom container that allows user to..."(
                    id(change playback speed from 50% to 200%)
                    id(skip forward and backward by intervals)
                        id[unless this is natively supported e.g. by double-tapping on iPhone]
                    id(load and sync audio descriptions)
                    id(jump to chapter)
                    id(enable closed captions)
                        id[enabled by default]

OpenGraph previews

mindmap
    root(OpenGraph cards)
    ::icon(icon icon-globe)
        id[Replace preview image with one with more textures for less visual fatigue and more interest points]
            id[Add linear wave texture under signature]
            id[Border bottom with seigaiha crest pattern]

Content

Video production

mindmap
    root(video production)
    ::icon(icon icon-video)
        id[commission assets]
            id[intro sequence]
                id[abbreviated intro sequence for previews]
                    id)micro gif format animation as sticker or signature(
            id[chapter title card separators]
                id((informed
consent)) id((scene)) id((debrief)) id[editable credits sequence] id[closing sequence with links out for previews—e.g. like & subscribe screen] id[design stage] id[select equipment] id[mark staging spots for easy & consistent setup/teardown of set] id(design backdrop)

Erotica downloads

mindmap
    root(erotica download formats)
    ::icon(icon icon-bookmark)
        id((MD))
        ::icon(icon icon-file-lines)
            id[pass existing md file through with metadata]
                id{{current routing rule does not appear to be encoding properly—need to debug}}
                ::icon(icon icon-triangle-exclamation)
        id((PDF))
        ::icon(icon icon-file-pdf)
            id[kramdown2xelatex filter working]
            ::icon(icon icon-square-check)
            id[create LaTeX layout for PDFs]
        id((EPUB))
        ::icon(icon icon-book)
            id[recycle EPUB workflow from magazine]
                id(update to be more programmatic)
                id(see if you can write eRuby filter with system commands to eliminate need for shell script)
        id((HTML))
        ::icon(icon icon-globe)
            id[write print stylesheet]
                id[use attr to print link paths]
            id[make :rep of html output with stripped template for local viewing]
                id[keep everything on one page—no need to link in header]
        id((MP3))
        ::icon(icon icon-file-audio)
            id[provide time-synced WebVTT subtitles for audiobooks]
            id[decide on quality/compression method]
            id[ensure metadata is organized]
        id((M4B))
        ::icon(icon icon-headphones)
            id)investigate if m4b creation can be done programmatically(
                id)may be able to use shell script(
            id[chapter tracks for m4b can be reused as chapter track in audio players]

Audio/JOI

mindmap
    root(audio/JOI)
    ::icon(icon icon-microphone)
        id(playlist to position next to jukebox asset)
            id)create playlist using iframe and target to provide video container with captions for audio messages?(
        id)interactive JOI—audio sections in video containers with subtitles to be navigated with Twine, or just meta previous/next tags(
        id[do cost-benefit analysis recording setting]
            id((home))
                id)**Pros:** convenient; lower cost(
                id)**Cons:** noisier; less comfortable(
            id((book
studio
space)) id)**Pros:** higher-quality recording; batch workflow may be more efficient( id)**Cons:** commute; cost(

Backend

Storage

mindmap
    root(dropbox)
    ::icon(icon icon-dropbox)
        id)investigate streaming options(
        id(integrate with EDD)
        id[host MP3 and video downloads in cloud to save space on server]

Version control

mindmap
    root(git)
    ::icon(icon icon-computer)
        id{{make sure .gitignore is working properly to prevent repo inflation}}
        ::icon(icon icon-triangle-exclamation)