this post was submitted on 25 Sep 2023
38 points (72.6% liked)

Asklemmy

43907 readers
1487 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
 

I just finished a proof of concept web app that emulates the same concept introduced by reddit place app: a shared pixel board.

Front-End: Flutter

Back-End: FastAPI, Uvicorn, SQLite, Pillow

Here you can try the beta

App Usage: Zoom In and Out the view, touch a pixel to bring up a color palette, select a color and voila, pixel's color has been changed!

Color palette menu only works if zoomed in more than 50% of the image

Front End design is a two layer view, background layer is loaded with a PNG of the pixel board, new changes are drawn over in the forebackground using canvas

This decision was to optimize bandwidth consumption,the grid is 1000x1000, that gives us 1 million pixels, sending the current grid as a PNG file weight 1.9mbs, which is better than sending a gzip json that weights 4.4mbs for coordinates and colors.

Also, flutter app design has to be imperative, that means, the view is going to be refreshed many times per second, if device screen can run 60fps, the view is going to be refresed 60 times.

Rendering the whole view painting 1 million pixels on canvas takes about 2 to 4 seconds, rekt, but loading a png is really fast.

I also implemented websockets so users can see live changes

webserver refreshes PNG file every 2 minutes.

Im open to suggestions, i will upload the code once a do some cleaning and do proper documentation.

top 19 comments
sorted by: hot top controversial new old
[โ€“] mvirts@lemmy.world 54 points 1 year ago (4 children)
[โ€“] Tibert@compuverse.uk 19 points 1 year ago (2 children)

It's way too big for this little amount of people, and somehow I stumbled on a porn drawing...

[โ€“] lvxferre@lemmy.ml 6 points 1 year ago

I was almost complaining about nationalists as usual spamming flags, but then I stumbled upon chibi Eris, Sylphy and Roxy and now this is the best thing ever.

[โ€“] Stovetop@lemmy.world 3 points 1 year ago

What the fuck why is it so big? I scrolled for 10 minutes and gave up on trying to reach the end.

The beauty of the original /r/place was precisely because it was a limited canvas, and communities would cooperate or compete for space, with the output being essentially a visual representation of Reddit as a whole.

[โ€“] DonDino@mujico.org 13 points 1 year ago (1 children)

Oh nice, i didnt know about this, it was a fine experiment then

[โ€“] mvirts@lemmy.world 14 points 1 year ago

Hey don't let it discourage you, I'm down for c/place foreverrrrr

[โ€“] PeachMan@lemmy.one 3 points 1 year ago

Lol. So many ponies

[โ€“] mvirts@lemmy.world 2 points 1 year ago (1 children)

You mean lemmy.ml specifically?

[โ€“] DonDino@mujico.org 7 points 1 year ago

More like whole open to any instances

[โ€“] dingus@lemmy.ml 31 points 1 year ago* (last edited 1 year ago) (1 children)

There's already lots of digital canvases all over the internet. Many of them aren't connected to anything like reddit and exist independently.

I'm going to say the same thing I said the last time this was brought up and failed miserably as an event.

We should be creating our own culture, not trying to recreate the absolute dogshit culture of reddit by ripping off their half-assed ideas that were only used to generate engagement.

We don't need engagement other than for talking with each other. Reddit needed engagement because they've been chasing an IPO for a decade and use things like /r/place to try to keep the site seeming like its active and that they can sell data to make money.

Reddit never created Place for the users of Reddit. They created it to game metrics and make the site seem more active.

So, why are we copying things that were created to increase engagement but not increase the quality of the site?

My vote is just don't copy them. Make our own culture. Make your own, interesting, creative idea and share it with the community. Don't rip off shitty attempts at generating "user engagement" and pushing up that mDAU (monetizable daily active users). Lemmy doesn't need increase mDAU because they're not trying to monetize anyone.

[โ€“] DonDino@mujico.org 16 points 1 year ago (1 children)

Thanks for you reply, for me it was a nice exercise but it seems is not worth the try then

[โ€“] dingus@lemmy.ml 18 points 1 year ago* (last edited 1 year ago)

It's absolutely a nice exercise for yourself, and I'm sure you learned a lot of good skills along the way. Just because a project doesn't become a big thing doesn't mean it wasn't a useful stepping stone for your skillset.

The thing is, I suspect with such skills, you're capable of creating something unique, interesting, and more vibrant than a copy of what reddit did. I do hope you do.

[โ€“] ada@lemmy.blahaj.zone 22 points 1 year ago

!canvas@toast.ooo

There's already been a big event and everything!

https://toast.ooo/post/288913

[โ€“] PotatoLord@lemmy.blahaj.zone 3 points 1 year ago (1 children)

There are pictures so well drawn, how did someone made it, is there a script ou something like that for it?

[โ€“] DonDino@mujico.org 1 points 1 year ago

There is always a backdoor

[โ€“] auf@lemmy.ml 2 points 1 year ago (1 children)

I like the idea but I think it's slightly off-topic here.

[โ€“] DonDino@mujico.org 2 points 1 year ago (1 children)
[โ€“] auf@lemmy.ml 1 points 1 year ago (1 children)
[โ€“] DonDino@mujico.org 2 points 1 year ago

Thanks you!