party time
i was inspired to integrate cursor party on my homepage after reading matt webb's blog post, "every webpage deserves to be a place." i had been interested in partykit for a while, after seeing things like spencer chang's playhtml. all of it just makes sense for the kind of place i want my homepage to be β a fun place for visitors and a place for me to experiment.
cursor party basically makes a webpage "multiplayer." you see other people's cursors floating around the page as they navigate it. it even allows you to chat with these other guests. it's a really lovely idea for individual webpages which can feel isolated from the social web. in a lot of ways, the chat is how i wish "social" websites were β just about talking to people, not about signaling for engagement numbers or amassing followers for clout.
of course, just cloning a repo and calling it a day is no fun. my head immediately filled with ideas to add to it. here are some features i added to make it my own:
- color picker to let guests customize their look (initial load is a random color)
- instead of cursors, guests appear as little pixel sprites that face the direction of the cursor movement so there's some visual feedback to show someone is paying attention to you
- made a rudimentary username system using ethereum extension connect (frame, rainbow, metamask, etc.) so, if you don't want to chat anon, you can display as a verified id via onchain ens or offchain dns name (my favorite part!!) as i've mentioned previously with the indieweb stuff, i love the idea of websites being your online id and i think dnssec ens names are a nice way to do that. it's only two steps: 1. add a txt to your dns records 2. set the dns name as your primary name in the ens dapp. that's all! now when you connect, it will show that name. i will be using my elle.email dns name so you can verify it's really me in chat ^-^
so that's where my week went. it was a lot of trial and error learning about working with partykit and the cursor party code and also ens stuff. getting the dns names to resolve with the different signer extensions was a bit tricky (β_β;) i was having a stressful week irl with my parent getting sick and preventing me from sleeping much anyways soooo (β₯_β₯) but i think i got things working and now you can chat with strangers on the internet here! (make sure you are in day mode. chat is disabled in night mode of course.)
to chat, just press forward slash (/) and start typing. your sprite will come into focus for the other guests.
fit check
on the 3d version of the homepage this week, i added a little closet with an alternate outfit for my sprite ^-^ it pops up if you click on the pile of clothes on the floor. i also made little aesthetic adjustments to the sprite in general. i spent some time last week in blender building a 3d version of my sprite1 so i could have a more consistent walk cycle. this ended up being more work and kind of unecessary but still enjoyable.
on the 2d side of the page, i cleaned up all the markup and switched in semantic html tags for the fun of it. this changes nothing really that anyone can see in the browser rendering but it makes the html clearer and nicer visually imo. i think of it as kind of a meta aesthetic for the page.
as things get messier in my irl world, writing this homepage has been very therapeutic. something to look forward to doing or thinking about every day. i think it's actually starting to feel like a garden for me now. 10/10 would recommend having projects to get lost in. maybe it's more like a little bonsai tree:
They represent the idea of a perfect balance between nature and art, representing how people can attain peace within themselves. As bonsai trees are kept small through very careful pruning, they also represent a life-long commitment of patience and dedication to a task.2
self-portrait
listening to kening zhu's podcast essay, "your website is not a brochure," last week found me nodding in agreement about personal websites being worlds. i briefly said as much in my first post here about this homepage being my home. but i also started thinking about this homepage as being a self-portrait. and maybe that is what a home is anyways Β―\_(γ)_/Β―
having cared for multiple people in my life who have suffered from dementia, one thing i noticed in all the cases is that their physical surroundings would start to fall into disarray before their cognitive abilities noticeably deteriorated. i think because of this, i've always looked at the organization and details of spaces as a reflection of the person inhabiting it. a mirror of what's going on inside. a self-portrait.
the art history of self-portraiture is interesting too. it is often a form of practice. painters use themselves as the most readily available model when developing and honing their skills. and sometimes self-portraiture is done out of necessity. during the renaissance, women were forbidden to take art lessons and so they would use their own reflection to defy oppressive systems and leave their a mark (literally) on the world.
on social media, you can get a vague sense of a person through their posts. but there is always a limitation there because everyone is forced to fit into the same composer modal, the same platform layout. here, i hope to paint a fuller self-portrait not only through the imagery and text, but also through the little details, the choice of tech stack and techniques, the quirks and idiosyncracies in the source code.
like lain uploading herself to the wired but maybe without the full-on assimilation and instead just to leave a reminder that i was a human here on the internet once after my mind and body are gone and ai takes over. like how people through history have left self-portraits that show they existed too.
webrings and permalinks
i fell down a little rabbit hole this week learning about indieweb building blocks and integrating some of them here. i joined the indieweb webring and added the webring nav on the homepage. i've always loved webrings and the idea of the internet being disparate websites connected to each other so things like indieauth and the concept of your website being your online identity/key are really appealing to me.
apart from that, i continued to tighten up dial-up mode, fixing little details. now the blog has permalink anchors so specific posts can be shared Β―\_(γ)_/Β― working on this part of the homepage has been really nostalgic for me and brought me back to simpler times on the web, just having fun with limited html.
i think things are almost in a good place where i can actually start using the blog as more than just a place to post changelogs (β_β;) and i can maybe start writing about more general things. the bones are there. idk, i've never been that great at regular blogging but i think i'd like to use this space to write more thoughts about life on the internet.
optimizing
this week, i did a lot of optimizations on the homepage like converting assets and icons to tiny webp and svg formats and converting audio from mp3 to aac. i added some preload tags and lazyloading for the audio. i rewrote my rss aggregator so that it's a simple fetch script instead of relying on an external dependency which was probably overkill for what i wanted to do anyways.
i also started building out the website in the homepage that pops up when u click the laptop ^-^ it now has an rss button and 3 sections and u can even visit it by adding /website to the end of my url: ellesho.me/page/website ie. elle's homepage website. it's pure html/css so it's old-tech and dial-up friendly (β_β;) if you're reading this on the lofi version, u can go to the full version here: ellesho.me/page
sleep mode
in trying to create a more humane web experience, i've added a night/sleep mode the homepage. the page will be asleep between 10pm and 6am. u can listen to a chiptuned version of "fly me to the moon" that i put on the homepod but that's about it Β―\_(γ)_/Β―
there is an emergency light switch if u really need something! but if it's not a emergency, u should get some sleep :) it's good for your brain.
social feeds
i decided to reduce my twitter usage so i guess i'll decentralize and use every other network instead (β_β;)
i added a social feed that pops up when u click the phone on the sleeping bag. it aggregates the rss from my blog here, farcaster, bluesky, mastodon, are.na, daft, and tumblr (bc why not.)
i made this bc this is how i wish the web still was. a place where social tools complement individual personal pages rather than the all-consuming monster that social has become. a place where our online time is not dominated by a single platform.
this homepage is my home
it is a small piece of html that is all my own. a place online to relax. a lived-in space that reflects me as the person who lives here.
here, i can paint the walls purple one day and pink the next. i can display weird things i've found on the ground. whatever i feel like.
it might be messy sometimes but i hope it's cozy for visitors who happen to stop by.
there is nothing for sale here, nothing to be advertised. no follower count or like buttons. no algorithms or trackers or paywalls.
this is just my home. -elle