GDPR obliges them to delete your data upon request. But I'm not sure how well Facebook/Meta complies with this. This post from 4 years ago doesn't sound encouraging: https://ruben.verborgh.org/facebook/ Does anyone know if they've improved since then?
I'd deleted my Facebook account years before, but after that begrudgingly signed up to Facebook Messenger because my friends insisted on using it (which are separate accounts apparently).
At some point, a couple of years ago, I decided enough was enough (probably when they forced me to accept some new anti-privacy EULA which otherwise blocked me from using Messenger Lite).
There was no delete account option in the app that I can remember. I searched and searched for at least an hour. Facebook's support site was a labyrinth of circular links that edged around actually deleting my account. I had no Facebook account, so I couldn't log in to delete it on the website's account settings.
I just wanted an email I could send the request to.
I finally found one for a data protection officer or some sort. Sent them an email, got another one back redirecting me to the website.
Obviously that wasn't helpful, so I sent them one of those GDPR deletion templates.
Didn't hear back, and checking a few months later, my account was still accessible.
The EU has now made clear that this isn't compliant. A data removal request does not have to be via a form - it can be to any employee via any communication method, and does not have to use any special legal wording. [1]
You can show up at one of their offices and tell their janitor, and they should still comply.
That's why most companies now train every employee how to handle users requesting deletion (usually by forwarding the request to someone whose job it is to action them).
If you have documentation about your process (which the email sent to their DPO should be enough) get in contact with the Data Protection Agency of your country for them to start procedures on your behalf.
I've got some help from Sweden's IMY for a similar case, asked for the removal of my data by emailing a GDPR template, got no answer and no resolution by the company in a few months and contacted IMY who solved it (and fined them).
Data which is not personally identifiable does not fall under the GDPR. Meta will use this excuse for most data which isn't tied to an active facebook account.
Basically it's because I don't think Duolingo wanted the product so much as they wanted me. No-one used the term acquihire at the time but I was under no illusions that that's what it was.
I did think that I might push to develop Readlang at Duolingo, but it never seemed like an attractive proposition for a bunch of reasons. I think it would have needed to grow at least 100X to start getting interesting within Duolingo. Not to say this was totally impossible but it seemed like a tough job. Also, some of the things that Readlang does, like browser extension and public sharing of texts, feel a bit "wild west" compared to the rest of Duolingo which is more curated and controlled, so it's not clear exactly how Readlang would have needed to change to fit in. I figured that if I tried this and integrated it tightly within Duolingo, and then failed to grow sufficiently, then the risk of it ultimately shutting down would have increased.
Also, I had other exciting projects to work on there which seemed more valuable for Duolingo, and therefore better for my reputation within the company, so I was happy to work on those!
Yeah, this is a problem. Anyone is free to share texts to the public library and there's no quality control, just an upvoting feature to try to surface the best content at the top. I accept that the public libraries are a mess at the moment and it's not easy to identify the high quality content there. Lots of room for improvement!
The ideal fix was to upgrade the version of Stripe checkout. At the time though I was looking for a quick solution and was scared to update the Stripe libraries for fear of accidentally breaking something else. So here's what I did:
- First I tried adding an IP address based rate limiter to the signup and payment routes, and required that all users had translated at least one word before being allowed to upgrade. It stopped the attempts for a few hours, but then they started back up again.
- Next, I used a more drastic approach, which would prevent all payment attempts from all IP address if we received more than 10 failed payment attempts within a 1 minute window. Still didn't work.
- Next, I changed the thresholds to 4 failed payment attempts within 5 minutes, and this finally worked!
Since buying Readlang back, I've updated the Stripe checkout to the latest version, turned off the circuit breaker, and haven't had any further problems.
Yep, I like the fact that it's a simple business model with well aligned incentives. It's a direct relationship between me and my customers. I keep getting paid as long as the site continues to be useful.
I also send an automated "Readlang account renewed" email every time I receive a renewal payment. Most SaaS products don't do this for obvious reasons, but it sucks when I realize I've been paying a subscription for something I'm not using, and I don't want to do that to my customers.
And recently I've added a feature to get context-aware definitions from the ChatGPT API, but this is just for premium users in English, Spanish and French for now.
Thanks for the suggestion! I think in that case I'd probably want it to automatically combine certain adjacent words into phrases, which is definitely doable with AI but could be expensive to do for an entire text vs just paying for the words and phrases you click to translate like it does at the moment. Also, newsinslowspanish only turns some of the content into links - it makes an assumption as to which words you'll know and which ones you won't, which may not be valid. If you turned the entire text into their style of hoverable links it could look cluttered. You'd want more subtle ones. In fact, it would be very much like Duolingo Stories, which does work well! I'll think about this.
Yes, I'm sure it'll take some subtlety to do this well. My struggle with Readlang was always that it just doesn't provide the whole meaning -- for instance, a correctly translated phrase doesn't necessarily tell me what the individual words mean. IIRC I got to where I'd use both monitors: one with original language+Readlang, and one with Google Translate applied to see individual words, and yet another tab on that window to look up words as needed.
My dream Readlang would have been one where I could quickly context-switch or change to see all of that, but it would probably require some significant client-side data and programming to achieve.