Comment on The bizarre secrets I found investigating corrupt Winamp skins

<- View Parent
intensely_human@lemm.ee ⁨4⁩ ⁨months⁩ ago

This is a common design pattern for “packages”.

Winamp uses a pattern called package management for its skins. Same as chrome extensions, etc etc. Most of the time we don’t call it that because the term is more reserved for package sets which provide a wider array of functionality. The iOS app store is a package management system.

The packages, much like boxes being handled by FedEx, contain standardized elements which allow that package management system to find and install the package. Much like how when you ship a box through FedEx the first thing they do is put standardized labels on that contain all the different barcodes that different parts of their process use to route the package.

Like with Chrome extensions, there are certain files that must be there (iirc something like a manifest.json file) and others which can be anything. If you need an image for a button, that image becomes part of the package. If you need a complex set of rules then maybe there’s a little sqlite file or csv file containing all the rules. Or font files, or whatever.

Thing is, the package format is defined by the “box” as opposed to by the “contents of the box”.

source
Sort:hotnewtop