my personality test / icon creator is done !!! find out what you look like

(RTs appreciated!)

@ttto it would be even cooler if it did OpenGraph meta tags to show my Avi in link preview

@datatitian o good point, i did the twitter-specific meta tags but not og. i'll give that a shot

@ttto that is neat and I really like it. one small crit though: sorry, it’s for accessibility!
in the love.js you preventDefault the touchstart event on the document object. can you put that on the canvas tag instead? it’s preventing me from zooming in on mobile.

@zensaiyuki o good catch, i appreciate the detailed report. i'll do that

@zensaiyuki done

i had no idea i could put mouse/touch event listeners on things that weren't the document, i just assumed i'd have to calculate offsets or something. this has made my js canvas life better, thx

@ttto This is really cute and also the perfect length for a test. Nice work.

@ttto it's great and I love it!
Somehow it looks a lot like my oc Zoe)
(she's my alternate self)

@llm thx for the report! what error do u see, if any? in what way does it fail?

@ttto it only displays the first image. Cannot reproduce on Firefox 68 though. I'll check tomorrow if i have any error message on the other computer.

@ttto this doesn't work for me? I can't drag the point on the first screen or click done?

@a_breakin_glass plz let me know the browser and OS you're using!

i expect things to work if you're using something that supports js canvas, i'd like to fix things if it's broken. thanks!

I've tested it on my smartphone, on firefox.
I'll think it was due to some Javascript script being automatically blocked but to be honest, I'm not really that sure on that. I'll try to redo this to give you more details.

@poorpocketsmcnewhold thank you! that's super interesting, i know there are some ways that this could fail but generating a blank face was not one i expected

@ttto @poorpocketsmcnewhold hey, it probably is that user has resistFingerprinting enabled which if not explicitly granted, the website gets a blank result from the functions that return an image from a <canvas> #)

@ttto ^^ hey @poorpocketsmcnewhold you should grant the canvas permission for it to work

I was using it on my phone, so it was sightly more difficult to notice that detail,when i've didn't got any prompts for it. Regardless, Pretty surprised that the website in itself outputed a blank avatar.
@ttto Was it because the unique browser fingerprint or other browser features, was used in order t randomized the avatar look ?

@poorpocketsmcnewhold the thing is, the function to get the data in a canvas could possibly be used to fingerprint, and it is frequently. but not necessarily. I trust that @ttto is not using it for fingerprinting

@poorpocketsmcnewhold @ttto (and when denying permission / not specifying, Firefox just returns a white image)

@v0idifier @ttto
We, you didn't really understood what i meant.
The website propose you two choices to make, and depending to those choices, they display your avatar result.
The thing is, that the avatar was rendered blank on the server results, and not just my computer (Due to the resist fingerprint).

@v0idifier @ttto
So, I've tought the generator worked like this,
The two choices to define the type of character to be generated, and the canvas of your browser fingerprint IN THE ONLY purpose of randomizing the final results.
And since my browser blocked canvas access, It returned a null canvas value to the generator, explaining why they was nothing.

@poorpocketsmcnewhold @ttto well I explained that on the canvas element, there's some functions for getting the image in it (to send to the server, in this case). They have been used for fingerprinting because when drawing a font into it, it renders differently in every system. But in this case, it's not being used for fingerprinting

@v0idifier @poorpocketsmcnewhold

the app works by calling .toDataURL() on a hidden canvas object, and sending that to the server. it's right that firefox's anti-fingerprinting rejects this, because it's possible that .toDataURL() could be used maliciously.

it's very difficult to get precisely the same canvas results on the server, so i opted to use the client as the only source of the image. i do save the data to regenerate the images, though

Sign in to participate in the conversation

Mastodon.ART — Your friendly creative home on the Fediverse! Interact with friends and discover new ones, all on a platform that is community-owned and ad-free. Admin: @Curator. Moderators: @EmergencyBattle, @ScribbleAddict, @TapiocaPearl, @Otherbuttons, @katwylder