this post was submitted on 16 Jul 2024
107 points (96.5% liked)

Canvas

2097 readers
1 users here now

Canvas — The Fediverse’s r/place


2024 Concluded!


Get a print!


Links

Timelapses

founded 1 year ago
MODERATORS
 

Hey everyone! Thanks for participating in Canvas. I wanted to make a thread to collect together suggestions people have that can be worked on before the next Canvas.

Feel free to also throw in suggestions for future Events we can build and run for the fediverse.

Ill be collecting suggestions together and making issues for them in the repository for myself or some other contributors to work on (the projects open source so anyones free to contribute! https://git.sc07.company/sc07/canvas Feel free to reach out to me and I can help get you set up with the codebase)

top 50 comments
sorted by: hot top controversial new old
[–] mindbleach@sh.itjust.works 28 points 5 months ago (7 children)

Escalating timers are an antipattern. It punishes anyone who looks away for more than thirty seconds - and thirty seconds per click is not exactly a brisk pace for maintaining attention.

Other than that, good shit, well done. Undo was a welcome surprise. Ditto the repetition prevention.

No wait, one other thing. (Complaint sandwich!) Scaling should be in integer powers. Everything but fully-zoomed-out and extremely-blown-up looked lumpy and distracting. Especially with all the pixel art going on.

[–] user224@lemmy.sdf.org 8 points 5 months ago (1 children)

I think it was 30s between every pixel at the start.

[–] Dave@lemmy.nz 4 points 5 months ago

It was sort of, but it was a bug. If you just left them, you'd get one every 33ish seconds until you had 6. But if you had 2 then used one, you'd have to wait 66 seconds until you got another, unless you used your last one then it was back to 33.

It was fixed partway through to be as originally intended.

[–] tuna@discuss.tchncs.de 5 points 5 months ago (1 children)

I think I agree on the cooldowns. Often times I wanted to step away and let the pixels accumulate, but it's hard to resist when you realize you'd be missing out on double or triple the amount of pixels you could be placing. If the goal was to reward the player for actively placing pixels, all I can say is it didn't feel very rewarding.

I kinda disagree about the integer scaling. 1x to 2x zoom is a very big shift without any in-between. It would also feel strange on pinch-to-zoom on mobile without in-between. I think instead it could snap to an integer scaling, or have a zoom slider that works to integer scaling. Overall though I agree, having a way to snap into integer scaling makes the pixel art look better

load more comments (1 replies)
[–] lvxferre@mander.xyz 4 points 5 months ago (1 children)

I like the escalating time, but the pacing issue is a fair point.

So perhaps the escalation could be delayed? Give it a tiny larger timer (let's say, 40s?), and make the second pixel take as much time as the first. Like this:

  • current times - 30s, 60s, 90s, 120s, 150s, 180s; total 630s
  • my proposal - 40s, 40s, 80s, 120s, 160s, 200s; total 640s

This way you'd be only getting less pixels per minute after 80s of inactivity, not 30s.

[–] mindbleach@sh.itjust.works 7 points 5 months ago* (last edited 5 months ago) (1 children)

Longer waits would be worse.

It should be one every thirty seconds until you hit some limit. Do not incentivize continuously staring at a timer. Do not incentivize obsessively checking a timer. Just rate-limit people in the simplest way that could possibly work.

[–] lvxferre@mander.xyz 4 points 5 months ago* (last edited 5 months ago) (1 children)

I get why you're saying this, and I agree with base reason. However, I feel like fixing the problem by removing the feature is not the way to go, as I think that active playing should be rewarded.

Regarding the base time (30s vs. 40s): I proposed 40s because the total waiting time would be roughly the same. It could be also 20s, if necessary/desired, up to the devs.

Additionally it would be great if there was an audible "ping" once you get a new pixel. Then regardless of the timer or how it progresses people would feel freer to do other stuff while checking the canvas.

[–] mindbleach@sh.itjust.works 5 points 5 months ago

One literal pixel every thirty seconds is not "active."

You went people to drool when a bell rings.

Encouraging users to obsess or react is plainly an addiction mechanic. In a collaborative MS Paint session. Tweaking the details of it misses what's wrong with it. It's an antifeature. It's a mistake.

Just give people one pixel every thirty seconds. "Active" means they check at least every couple minutes, at their convenience, where they will have up to six. If they step away for an hour they don't get hundreds.

[–] Deebster@programming.dev 3 points 5 months ago (6 children)

One effect of this is that someone steadily editing got more pixels than someone editing in batches, which felt like a feature when defending against trolls.

[–] BlueKey@kbin.run 6 points 5 months ago

Except when the trolls have more free-time than oneself and so can place every 30s while oneself want to get other things done and so would prefer placing in batches.

load more comments (5 replies)
load more comments (3 replies)
[–] tuna@discuss.tchncs.de 20 points 5 months ago (3 children)

On mobile I kept opening the whois pixel by accident when dragging. I often tap and hold to initiate a drag because I'm still looking at the art, but when i drag away and let go, it opens the whois thing. I think if you drag a certain screen-space distance away it should cancel the whois pixel lookup.

The heatmap I found too hard to tell where recent pixels were placed. I think at 100% opacity the "cold" pixels should be dark blue instead of their actual color.

A couple times I placed a dot, realized I actually didn't want it there and ran out of time to undo, which felt bad having to wait 30s. I wish it was a bit longer.

When you try to place a pixel a few milliseconds too early I feel like it should queue it and wait the few milliseconds for you.

I'm not super sure on the canvas having transparency. Most people treated the canvas as white, not transparent. If you wanted a white-on-white drawing, people will just make an outline.

Maybe a concept worth testing: if you place a pixel next to your own pixels, you get a (slightly) reduced cooldown, that way you get an extra boost when completing your art. (At the same time, I think there is beauty in the canvas being as simple as possible:)

[–] eco_game@discuss.tchncs.de 3 points 5 months ago

+1 on the mobile draggging issue

load more comments (2 replies)
[–] GammaGames@beehaw.org 13 points 5 months ago* (last edited 5 months ago)

Thanks for making it open source! I’m curious how complex the authentication stuff was. I didn’t place many pixels but it was fun to peek in and see what changed every once in a while! Would definitely be a fan of more in the future, though I don’t have any ideas

[–] AbouBenAdhem@lemmy.world 11 points 5 months ago (2 children)

Have the cooldown time vary incrementally across the canvas—so there’s a “hot” end where people can make things quickly (and get overwritten quickly), and a “cool” end where designs take longer to draw but are more permanent.

load more comments (2 replies)
[–] PixeIOrange@lemmy.world 11 points 5 months ago (1 children)

First: Ta k you so much to grant and everyone else who made this project possible. I had a lot of fun, i think the problems made it even more sympathic.

One suggestion: maybe after expansion, the final canvas could be a 16:9 Format. This way its easier to find a frame for those who want to print it out. But maybe 2:1 like the actual canvas is fine too.

Im looking forward for next year :)

load more comments (1 replies)
[–] db0@lemmy.dbzer0.com 10 points 5 months ago (3 children)

If alts are really discouraged, please take steps to actually prevent them.

load more comments (3 replies)
[–] fubarx@lemmy.ml 8 points 5 months ago (1 children)

It would be amazing if parts of it could be animated. Maybe multiple layers of canvases (say, 5 frames, shown over a second). Each with their own images, which could be viewed as a flipbook.

Instead of going for a larger canvas, go for more layers.

Just a thought.

load more comments (1 replies)
[–] lvxferre@mander.xyz 7 points 5 months ago (1 children)

[Sorry for the double reply]
The "numbers" template style would be considerably more useful if the palette was itself numbered. At least, while using that style.

I've seen a lot of people struggling to find the template. I think that it deserves its own button.

The dark mode is amazing. Seriously, I want it for the next years. I don't think that it needs such a huge button though, when a simple half-black half-white sun icon would do the trick.

On desktop the palette has an awkward shape, as a narrow 32x1 strip that you need to roll back and forth if the window isn't maximised (fairly often, since people were doing other stuff while placing pixels). It would be great if it was a 4x8 somewhere at the right.

A lot of people (incl. myself) were struggling to tell a few colours apart. Mostly dark grey vs. black vs. navy blue and dark chocolate vs. maroon. So it might be sensible to tweak the palette itself for the next years. But overall their hue distribution was really good, in no moment I thought "damn, I need more colours".

load more comments (1 replies)
[–] reef@lemmy.ca 7 points 5 months ago (1 children)

I started this, and never got started: https://lemmy.ca/c/musicleague

Part of the problem was that musicleague only works with a spotify login, but it could work with a fediverse login!

MusicLeague: https://musicleague.com/user-guide/

  1. Each league is made up of a certain number of rounds.
  2. Each round has a musical theme, like ‘covers’ or ‘I want your sax.'
  3. When the round opens, league players are notified to submit a song that fits the theme.
  4. When everyone has submitted (or the submission deadline arrives), everyone receives a link to the playlist to listen, consider, and then return to Music League to assign points and add comments to reminisce, toast and maybe a gentle roast.
  5. Once the votes are in, everyone will be able to see the results, including who submitted what, how everyone voted, and all the comments.
  6. Points are earned from round to round and accumulate through the entire league until a winner is crowned.

What we can do better:

  • fediverse login instead of spotify
  • submit from any music service, not just spotify
  • multiple playlist options, with a note for when a certain song isn't on a service

This shouldn't be an annual event, but rather a perpetual one

load more comments (1 replies)
[–] mindbleach@sh.itjust.works 7 points 5 months ago (1 children)

Alpha-blending the color you're about to place means it's only a correct preview when the pixel it's over is already that color. A smaller or even circular cursor of the actual color would remain distinct from the canvas while indicating its effect more clearly.

load more comments (1 replies)
[–] bstix@feddit.dk 7 points 5 months ago (1 children)

Okay wild idea for a smaller canvas :

Have the canvas fade out to white a little every hour.

Eventually old pixels would die and people would either have to maintain or draw new stuff. It would make the timelapse more interesting and more animated by default.

load more comments (1 replies)
[–] FireWire400@lemmy.world 6 points 5 months ago (1 children)

The chat function was quite cumbersome in my experience (as someone without a matrix account); it was pretty slow to load as well.

Maybe such thing could be integrated into Lemmy itself somewhere in the future?

load more comments (1 replies)
[–] aeharding@vger.social 6 points 5 months ago (1 children)

Hi, Voyager dev here, I’d like to see a very small, terse API for clients devs to make a more seamless experience!

The MVP IMO would be a way to automatically log the user in when opening the Canvas, perhaps by

  • well known Canvas user handle for client to automatically DM for OTP
  • client waits for OTP in DMs
  • client adds a query parameter with the user handle and OTP to the URL to open browser, so user is automatically logged in with 0 clicks!

And I could see stuff beyond this. Like an API to know event metadata, docs on how to embed Canvas in app (would be great for engagement)

Anywho simple is best but would be awesome for tighter integration of apps/clients with a documented API!

load more comments (1 replies)
[–] BlueKey@kbin.run 6 points 5 months ago (2 children)

Maybe replace Googles Captcha with an alternative like hCaptcha.

load more comments (2 replies)
[–] squirrel@discuss.tchncs.de 5 points 5 months ago (1 children)

The event was fun for the first 48 hours - before the expansion. After that it was mostly policing and defending existing art. I would prefer a 48 hour canvas without expansion.

That said, it was fun anyways. Thanks for all your work and thanks to grant for setting everything up and fixing issues on the fly.

load more comments (1 replies)
[–] BlueEther@no.lastname.nz 5 points 5 months ago (4 children)

I'd be keen to run/test a local version, what do I need in the .env.local as a minimum to get up and running?

[–] Ategon@programming.dev 6 points 5 months ago* (last edited 5 months ago)

To get it actually running you need to do more than set up just the env but ive got what I needed to do here

https://share.ategon.dev/u/IzcMWM.md

If you want to allow logging in so you can test the features that get unlocked from that heres some code changes to get it working so you can bypass setting up openid

http://share.ategon.dev/u/W7IODE.md

Client will be up at localhost:5173

load more comments (3 replies)
[–] Smash@lemmy.self-hosted.site 5 points 5 months ago (2 children)

I often got the "you've already placed a pixel of that color there" error, even though I never touched this area. I also couldn't fix my own pixelart easily because of this.

[–] user224@lemmy.sdf.org 5 points 5 months ago (1 children)

You could get around that bug by choosing a different color and then pressing undo. After that it reverted to the correct color.

load more comments (1 replies)
load more comments (1 replies)
[–] Deebster@programming.dev 5 points 5 months ago (2 children)

Extra editing features:

  • Colour picker (from canvas)
  • Show symbols/numbers on palette when using that template display style (e.g. label colour 23 so you don't have to count)
[–] Ategon@programming.dev 8 points 5 months ago (8 children)

You could middle click to color pick in the event

load more comments (8 replies)
load more comments (1 replies)
[–] sxan@midwest.social 5 points 5 months ago (2 children)

Is there a history of the changes stored? I'd love to watch an accelerated animation of the creation process.

I did not find a way to simply "view the entire canvas & download a snapshot," which would be nice.

[–] eatham@aussie.zone 6 points 5 months ago

There are time lapses, and all the data has been released.

load more comments (1 replies)
[–] Syrc@lemmy.world 5 points 5 months ago (1 children)

I personally think the whois pixel function should also show the exact coordinates of the pixel, to make it easier to find the exact spot for templates.

Unless I missed something, the only way of doing it now was using the coordinates in the bottom left and then working from there.

That’s just a minor gripe anyway, the whole thing was great, thanks for organizing it!

load more comments (1 replies)
[–] andrew_bidlaw@sh.itjust.works 4 points 5 months ago* (last edited 5 months ago) (1 children)

One another game suggestion: The Turing Test, reversed.

Using LLM API, make people:

  1. Ask one thing and spot a human answering them;
  2. Answer one question and make another human believe they are an LLM.

Only these two rounds (or a text box + checkbox) per a session with a set delay, from a random user or a robot. The goal is counter to the current discourse of noticing LLMs being not humans, but the opposite – people being rewarded for acting like machines and spotting real people in the web poisoned by generative models. I don't know if scores are needed, just complimenting DMs maybe, because mastering tactics to break LLMs destroys the fun.

Besides only English input for the simplicity and a stop-list of words, it needs a balancing system that mixes fake and real inputs to cause no LLM-only hours across all timezones. To make it more interesting, there should be some additional prompts to LLM, like 'answer like an old lady' or 'answer like a nerd' to make LLM seem more humane.

Theming it after spies, zombies, whatever may help.

load more comments (1 replies)
[–] RandomVideos@programming.dev 4 points 5 months ago (2 children)

A really small canvas with a short time sounds cool

[–] possiblylinux127@lemmy.zip 4 points 5 months ago (2 children)

Or a canvas that grows with random parts becoming read only

[–] db0@lemmy.dbzer0.com 5 points 5 months ago* (last edited 5 months ago) (1 children)

Ye this idea I would like to expand on. Start with a normal size canvas and let it run normally for 24h. After 24h, have a new 1px empty line appear on the bottom every 3 minutes or so while the highest 1px line becomes read only. Keep doing this until the event ends.

This will in turn cause a canvas that keeps expanding downwards but previous creation are "locked in" slowly.

load more comments (1 replies)
load more comments (1 replies)
load more comments (1 replies)
[–] possiblylinux127@lemmy.zip 4 points 5 months ago (3 children)

Could you make each pixel be made up of lots of smaller pixels? Maybe some sort if repeating pattern.

[–] AbouBenAdhem@lemmy.world 7 points 5 months ago

Or scale up the canvas periodically instead of adding blank space, so each old pixel becomes four new pixels.

load more comments (2 replies)
[–] myusernameis@lemmy.ca 4 points 5 months ago (1 children)

A toggle to show grid lines would be awesome.

load more comments (1 replies)
[–] mindbleach@sh.itjust.works 4 points 5 months ago (3 children)

Overloading middle-click as both scroll and color-select, when right-click goes unused, is a weird choice. Especially when empty pixels don't count as white. Early on, I had no idea why my chosen color changed seemingly at random. Later, I had to mindfully select white from the bottom palette, when every other color was picked from nearby.

load more comments (3 replies)
[–] Snoopy@jlai.lu 3 points 5 months ago (6 children)

I would like a shorter timer for small instance. So bigger communities have a longer timer and small a shorter one. But i affraid it wont help at all.

Protected area as in minetest. It would help against grief.

Also for new account with 0 coms, just created during this canva event : restriction, second layer for drawing before approval...something like that ?

load more comments (6 replies)
load more comments
view more: next ›