Aesthetic Computer is a mobile-first runtime and social network for creative computing.
AC's client interface is designed to function like a musical instrument, on which users discover their own memorizable paths in the network of commands and published pieces. As users grow their literacy through play and exploration, they are able to improvise, recombine, and expand their performable repertoire.
I started writing Aesthetic Computer in 2021 because I desired new tools to author, publish and connect the creative software toys I had been making in my art and education practice for 10+ years. The last of these before AC was https://nopaint.art, discussed on Hacker News in 2020.[0]
Try Me
Visit https://aesthetic.computer and press the top left of the screen or type any key to activate the prompt.
In the AC prompt, enter names of built-in toy and utility pieces like notepat[1], or boyfriend and those published by user handles like @bash/hub.
Return to the prompt by pressing the name at the top left corner, your browser's back button or the [Esc], [`], or [Backspace] keyboard shortcuts.
Enter list at the prompt for a scrollable index of pieces and commands.
Most of AC is open to anonymous users. Some pieces like chat or moods require a registered @handle to fully participate and post data.
Every piece on AC is URL addressable. For example, users who enjoy using notepat can skip the prompt entirely by bookmarking https://aesthetic.computer/notepat.
QR codes to share any piece can be generated by prefixing the piece with share at prompt as in share notepat.
Here are a some recipes to try:
A. Make a Painting 🖼️
- Enter
new 128to start a new 128x128 pixel painting. - Enter
rect redand drag to paint red (or any CSS color) rectangles.
(Or try other primitive brushes likeline,shape, andfill.) - Press the command name in the top left corner to return to
prompt.
(Or use[Esc],[Backspace], or[`]on the keyboard.) - Enter
smearand drag to use a pixel scattering brush, then return toprompt. - Enter
dlto download a timestamped PNG,doneto publish the painting on AC servers, orprintto mail order a real sticker.
B. Play a Melody 🎹
- Enter
+to open a second prompt window. - Enter
metronome 120in the second prompt window to keep rhythm at 120 BPM. - Enter
notepatin the first prompt window to play tones in regular time.
(Or trybleep:sine 4x4for a randomized playable tone matrix.)Bonus
- Record a
notepatperformance as a 7s looping, downloadable video by enteringtape notepat. - Play
notepatin person with others by generating a QR code viashare notepat.
C. Say "hi" in chat 🗨️
- Enter
imnewor press [I'm New] on a deactivated prompt to register. - Verify your email.
- Set a @handle by entering
handle ur-handle-here. - First-time handle setters are automatically routed to
chat. - Say "hi" and request technical help from myself (@jeffrey) and others.
To dive in more you can read the technical history [2] or try coding your own AC piece[3].
Development in GitHub Codespaces
When running Aesthetic Computer in a GitHub Codespace, you can access the local server using the Codespace's public URL.
To get the proper Codespace URL:
- Get your Codespace name:
echo $CODESPACE_NAME - Construct the URL:
https://{CODESPACE_NAME}-8888.app.github.dev
For example, if your Codespace name is potential-parakeet-7p54gjqw7qcx46g, the URL would be:
https://potential-parakeet-7p54gjqw7qcx46g-8888.app.github.dev
To access specific routes like kidlisp.com:
https://potential-parakeet-7p54gjqw7qcx46g-8888.app.github.dev/kidlisp.com
KidLisp
Aesthetic Computer includes KidLisp, a minimal Lisp dialect for creating generative art and interactive experiences. See the KidLisp documentation for language reference, examples, and technical details.
[0] No Paint HN discussion from 2020: https://news.ycombinator.com/item?id=23546706
[1] Recent HN discussion on notepat here: https://news.ycombinator.com/item?id=41526754
[2] The AC Story: https://github.com/whistlegraph/aesthetic-computer/blob/main/STORY.md
[3] Write a Piece: https://github.com/whistlegraph/aesthetic-computer/blob/main/WRITE-A-PIECE.md

