casey / casey/intermodal

First structured release content type

Open
#177 0 comments 0 reactions 0 assignees View on GitHub
discussion
Dominant language
Rust
Stars
659
Forks
36
Avg merge
18m
Merged PRs (30d)
2

Description

After basic torrent creation and verification functionality is complete, the next major avenue for development will likely to adding support for structured release creation.

An `imdl release create` command will be added which will take as input some content, and:

- Picks appropriate and user-friendly file names
- Makes sure that the input content is a valid format
- Generates still thumbnails and a video preview (if applicable)
- Creates a machine-readable manifest in the root of the release containing metadata about the content, including its content type
- Creates an `index.html` containing a preview page and details about the release
- Creates an `index.txt` or `index.nfo` containing details about the release

In order for releases to be consumed by downstream applications after creation (indexing and search, downloading, user library management, preview, in-browser players, etc), `imdl release create` will *not* support arbitrary content types.

Supporting content types would make releases no more useful than a zip file, i.e. they would require manual user intervention to preview, consume, and share, which is exactly what intermodal is trying to avoid.

Given that, release support for new content types will have to be added on an ongoing basis, and we'll have to choose what content type to support first.

The release types I'm considering supporting first are:
- UTF-8 text: Very simple, lots of good free content on textfiles.org, could also support ANSI art, small, so doesn't require a lot of resources to host
- PDFs: Good browser support, consists of a single file, lots of free content on arxiv.org
- Flash: Consists of a single file, in-progress flash emulator available at ruffle.rs which could be used to play content in the browser, might be a reasonable amount of interest in preserving flash content

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.