Now imagine such an application. 256 ร— 192 pixel art. Top 32 pixels taken for UI. Environment like an old RPG game. There are objects there of various sort. Anything, really: you draw your own room. There are little robots walking around.

The source of the room is a raster graphic file with two layers: one is the pixel art that is shown, the other has zones of different colours. Say, I have a room with a chair, a chest and a decorative potted plant (a cactus, maybe). On the second layer, I colour them in #a00, #0a0 and #00a, leaving other pixels empty.

And somewhere there's a script that says:

#a00 is resting-place for robot(1).
#0a0 is obstacle; on click move robot(1) to #0a0; on click shell { rsync -avz ~/data.txt me@server:~/data.txt }.
#00a is obstacle.

Most of the time, the robot just hangs around the chair. When I click the chest, though, it hurries there and the script is run.

It's like that little game engine we had a jam about. That did happen, right? Was it called Flick? Not sure. So, it's basically that + HyperCard + little robots walking around.

Actually, why reserve space for UI? Draw your own UI. Full 256 ร— 192 pixel rooms. Every room is a window, arrange them as needed.

Many funny ideas can be thought of. Files shown as books on a bookshelf. Cron integration (a clock). Self-modifying pictures. Computing made fun again!

@haruhi_suzumiya0 .status .display-name__html{
color: #0A0 !important;
}

.status a:not([href^="https://friends.nico/"]) .display-name:before {
content: 'ใ€้€ฃๅˆใ€‘';
}
/*โ†‘URLใซใฏ่‡ชๅˆ†ใฎใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใ‚’ๆŒ‡ๅฎšใ—ใฆใใ ใ•ใ„*/
/*โ†“่‡ชๅˆ†ใฎใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใฏ้™คๅค–ใ—ใŸใปใ†ใŒ่ฆ‹ใ‚„ใ™ใ„ใงใ™*/
.status a[href^="https://mstdn.jp/"] .display-name:before {
color: #A00;
content: 'ใ€JPใ€‘';
}

.status a[href^="https://pawoo.net/"] .display-name:before {
color: #0AF;
content: 'ใ€Pawooใ€‘';
}

.status a[href^="https://friends.nico/"] .display-name:before {
color: #0A0;
content: 'ใ€ใƒ‹ใ‚ณใ€‘';
}

.status a:not([href^="https://friends.nico/"]) .display-name:before {
content: 'ใ€้€ฃๅˆใ€‘';
}

.status a[href^="https://mstdn.jp/"] .display-name:before {
color:#A00;
content: 'ใ€JPใ€‘';
}

.status a[href^="https://friends.nico/"] .display-name:before {
color:#0A0;
content: 'ใ€ใƒ‹ใ‚ณใ€‘';
} https://friends.nico/media/1Zcnb9WT4EE35B85bnI