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)
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)
You could middle click to color pick in the event
Oh, really? I thought middle-click was for scrolling.
i’ve created an issue for changing the color picking button to something else
i originally picked middle click because that’s what minecraft did lol
scrolling the scroll wheel scrolls the map and clicking down on the wheel over a pixel color picks
You mean holding the scroll-wheel and dragging moves around, yes? (And the scroll-wheel was for zooming.) I think I’d accidentally triggered the colour picker accidentally, since I did find that I often had black when I was expecting something else - now I know why!
Oh huh I didnt even realize you could pan like that, guess one of those has to be removed and moved to something else unless its detected between hold and tap
How would you do that on mobile
I remember there was some equivalent action but dont know for sure what it was since I didnt use mobile
the alternative template styles were a bit last minute, so i originally missed adding the numbers to the palette 😅
there’s an issue for the palette colors so i can keep track of it :)
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?
It looks like the compose file has
REDIS_HOST
andDATABASE_URL
and point to included services. There’s also a few in the dockerfile for settingPORT
(3000) and some node stuff I don’t understandTo 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
there’s an issue to write instructions on how to setup the environment
the server requires the authentication server to be fediverse-auth with the current implementation, but there’s an issue to add support for other providers
(once the documentation is written i’ll be putting it in #canvas-meta:aftermath.gg to keep people in the loop)
Yeah, I figured as much. I put it on the backburner as I was wetting up a selfhosted scratch instance for the girls
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.
i’ve created an issue to track this :)
this error was being sent by the server, so somewhere along the chain your computer got desynced from the pixels the server was aware about
You could get around that bug by choosing a different color and then pressing undo. After that it reverted to the correct color.
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:)
+1 on the mobile draggging issue
I’ve created issues in the issue tracker to keep track of these for next year :)
- Mobile Pixel Whois triggers too easily
- Heatmap colors
- Increase undo cooldown
- Grace period for pixel cooldowns
- No white background
- Idea: adjacent self pixels should receive a slight reduced cooldown
thank you for the suggestions!
Happy to participate!
The one thing I wasn’t super sure on was the undo timer… was it really 30 seconds 😅? I thought it was 5-15s, but i didnt really time it. And I’ll be honest, I missed it maybe 3 times, so not much.
Besides just increasing the delay, there’s 2 other thoughts:
- A bigger target takes less time to hit (tho making it bigger might bother some, as it obstructs the canvas)
- Two times I missed were bc I failed to notice my mistake. Maybe some extra visual feedback when you place a pixel could help. For example: when the void made it to my art, I accidentally made a dark gray become black, so it was harder to notice the color change. i was too busy focusing where to place the next pixel
Overall if you feel that the undo time was fine as it was I could easily respect that decision :)
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.
i’ll keep a note of that, a couple people have also suggested alternatives to canvas expansion
i’m glad you enjoyed the event, it was really fun to run (and fix bugs for) :)
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
Suggestions:
- When getting rid of bots, undo their changes.
- Assign the pixel timer based also on IP, not just account. That should discourage people who used multiple accounts just to have more pixels.
- Don’t let freshly created accounts to place pixels. They compound with both issues above.
there’s an issue to add support for undoing pixels with bans, but that would mainly get used in very bad circumstances and wouldn’t be the default
as others have mentioned, there’s not going to be anything that automatically does actions against IPs, instead opting for a flag that moderations can look into further
i’ve also mentioned somewhere else in the thread, but i wouldn’t want to punish new accounts as, especially this year, it brings new people to the Fediverse and i don’t want to hamper the growth of that :) (it also isn’t very possible to get a reliable creation date of new accounts because of how the fediverse is designed)
OK! At least the other batch of suggestions was more useful :) Those are fair points.
If you undo the changes dome by a bot it could cause chaos. It is better to let users know it needs to be fixed.
Also you could do some sort of proof of work to make it unfeasible to have a bunch of alts.
If you undo the changes dome by a bot it could cause chaos. It is better to let users know it needs to be fixed.
It could cause chaos if done poorly, indeed. But I think that there are ways to minimise this chaos.
One of them would be that reverted pixels are marked as “reverted by the admins”, and that appears in an overlay similar to the heatmap.
Also you could do some sort of proof of work to make it unfeasible to have a bunch of alts.
Like in cryptography? I like this idea. Perhaps it could be used when there’s a reasonable possibility that two accounts are from the same user; for example same IP, or same username but different instance, etc.
The only problem with proof of work (pow) is that it won’t perform the same across devices and will kill battery life. The difficulty of the proof would need to be calculated on page load which could open it up to spoofing a different device.
IPs should never be used to moderate, they are shared across too many people. Often multiple neighborhoods will share an IP.
Same with people who use VPN per default.
That’s the closest thing we have though. The alternative is just people using alts, and at that point might as well not have limits. There can be ways to add exceptions if needed.
I do not like the idea of using IPs for that either, but since it’s only for the timing instead of locking people out of the service, it’s less of a concern.
And as db0 said IPs are far from optimal but they’re the best thing that “we” [actually the devs] have available. If you have some alternative way to discourage simultaneous multi-accounting, by all means, suggest it here.
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.
(for completeness as i’m going through all the comments)
there’s a suggestion for canvas snapshots and it should be implemented for next year 👍
There are time lapses, and all the data has been released.
A really small canvas with a short time sounds cool
Or a canvas that grows with random parts becoming read only
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.
as well as this one, i’ve added it as an issue to keep track of it :)
this one also seems neat, added it as an issue to keep track of :)
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.
that’s a cool take on canvas, i like it
i’ve created an issue for it to keep track of it :)
If alts are really discouraged, please take steps to actually prevent them.
I think a proof of work could work but it would be really bad for battery life. If someone had multiple tabs open there computer would start to crawl which would make the experience awful
Hard to do, as then one with a slow PC or average phone would have the same experience as one with a very good PC and 10 alts.\ PoW only is effective for large spam / bot campaigns.
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.
ooo that sounds fun
i’ve created an issue for this so i can keep track of it :)
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 :)
i’m glad you enjoyed the event, it was really fun to run (even with the issues 😅)
i’ve added your suggestion to the issue tracker so i can keep track of it
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 ?
i’ve created an issue for the lower cooldowns for smaller instances
sounds like a neat idea imo :)
and for the second suggestion, i’d like to avoid imposing restrictions on new accounts as Canvas has brought a lot of people to the fediverse and i wouldn’t want to hamper their contributions because they just found out about it
I wonder if we could do some sort of competition between instances? At the end we could all vote.
Great idea we can organize that between our instance instead of waiting for the next year. :D
I quickly drafted some rules :
- the competitive instance chose together a subject
- the pixel art must be original and not copy-pasted from web. we don’t use a template : hosted and template desactivated.each instance will have their private layer. Once the event is over, our draw will be revealed.
- 2-3 day to draw and send the result
- 1 week for voting
I love drawing, i’m quite good at it, except perspective :)
Sounds like a cool concept, i’ve added it to the issue tracker to not lose it :)
Thank :)
Not suggesting any big things here… All I propose is to have the options for toggling the canvas overlays (empty canvas, heat, template) directly within the canvas editing screen instead of putting it in the sidebar, kinda like Google Maps. I think the sidebar version would be preferred in mobiles, so you could make this desktop only.
Alternatively, you could allow the user to place pixels on the canvas even while the sidebar is opened, like the way it was for the first 48 hours of the event. Also ensure the right side of the color palette is not hidden by the sidebar.