Your browser may have trouble rendering this page. See supported browsers for more information.

|<<>>|23 of 73 Show listMobile Mode

DuoLingo’s Gems Screen

Published by marco on

Normally, in a UI, when you click or tap on a thing (e.g. a button), but complete the click or gesture away from that thing, the “tap” or “click” is not signaled. The gesture is ignored because the user did not complete the gesture, aborting the operation. That’s how we’ve been trained; if you press down on something by accident, just move off of it and release and you it won’t count as having been clicked or tapped.

 DuoLingo Gems Purchase ScreenHowever, in the DuoLingo Settings screen—where they’re trying to get you to buy gems—that’s not the behavior. Pressing down on any of the gem packages will end up showing the “approve purchase” screen for the item you’d pressed down upon—it doesn’t matter where you complete the gesture. I require an approval for purchases, so it stops there and I can cancel. But, what if you don’t require approval? Or what if you have the setting on that says that approval is only required if it’s been fifteen minutes since your last purchase? Well, then, I imagine that you’ve purchased yourself a bunch of gems.

The reason I found this at all, was that this devious behavior is combined with another one: pressing down in the area with the gems packages, even to swipe up in what you’d intended as a scrolling gesture is, instead, captured as a tap gesture. The screen doesn’t move up or down with your gesture. It just kills the scrolling behavior there in order to turn every gesture there into a purchase. You can scroll by flicking the empty area with “Gems” in it or “Plus Items” in it, but not anywhere in between, where purchases are made.

So I hadn’t even tapped on one of the gem packages and then changed my mind as I was doing so! No, I’d simply been trying to scroll the screen and it tried to rope me into buying gems—it would, in fact, have auto-purchased gems if my settings hadn’t been so strict.

This is very, very sleazy behavior in an otherwise delightfully useful app.