JS Mate Poe v1.6.9
License: WTFPL
Released: 2024-11-07

JS Mate Poe

A compact, dependency-free Javascript wasm recreation of the beloved 16-bit Screen Mate Poe Windows program, distributed as a standalone library and a Firefox browser extension.

About

There have been several ports of Screen Mate Poe since its original release in 1996, but modern desktop environments simply aren't capable of running anything like a "screen mate" app anymore. (Display servers no longer give applications unfettered, global access to every conceivable windowing property, for reasons obvious in hindsight.)

But hey, the Internet is a thing now!

JS Mate Poe is a lean, web-first iteration designed for playback in modern web browsers. It was originally written in vanilla Javascript, but has since been re-rewritten in Rust, and is now compactly compiled to wasm.

It includes all the original characters and sounds, most of the animation sequences — a few desktop-specific things have been omitted, and I've probably forgotten a few — and some new sequences and visual enhancements.

JS Mate Poe has been heavily optimized for both performance and size — it's smaller than the original! — ensuring a minimal impact on page load, bandwidth, and/or user experience. It is framework-free, isolated (via ShadowDOM), leverages hardware-accelerated rendering, and is all around adorable.

You're welcome!

Installation

JS Mate Poe is distributed as both a general purpose Javascript library and a Firefox browser extension.

Library

To add the screen mate to your own web page, all you need to do is grab the js-mate-poe.min.js script from the latest release, upload it to a location of your choosing, and add the following code snippet before the closing </body> tag of your HTML:

<script async src="https://domain.com/path/to/js-mate-poe.min.js"></script>

By default, that's all you need to do! Poe will automatically start running around as soon as the script has loaded.

If you'd prefer to handle playback manually, or want to disable the sounds he occasionally makes, do the same thing, but add a data-no-start and/or data-no-audio attribute to the script tag, like:

<script async data-no-sound data-no-start src="https://domain.com/path/to/js-mate-poe.min.js"></script>

Firefox Extension

The Firefox browser extension lets you add Poe to any and every web site for constant companionship!

To install it, simply click the js-mate-poe_firefox_#.#.#.xpi package link from the latest release.

Firefox should prompt you to install it then and there, but if you end up downloading the file, you can either double-click it, or go to the "Manage Your Extensions" settings page (about:addons), click the gear/settings icon, and select "Install Add-on From File".

Once installed, look for the little sheep icon in the URL bar — visible on regular pages, not settings pages — and click that to turn Poe on or off.