Frustration, Frustration Frustration,
and Frustration Frustration Frustration

Let's Turn Those Brows Upside-Down

As of this writing, it's been about one year since I first published PollyGot. That means it's been about three years since I conceived and designed it. I did it all on my own, meaning I did it in total isolation. I locked myself in a windowless room in southern Mexico. Since then, it's been just me, coding screens, and programming tutorials. This post, however, is not about those frustrations. It's about how my completed app creates good and bad frustrations. It's about my frustration regarding the good frustrations. Finally, it's about others' frustrations regarding my frustration over those good frustrations. For those of you wanting to save time, that's the abstract. To the rest of you who have the time, buckle up! This is going to get pretty meta.

What do you mean by "good" frustrations and "bad" frustrations?

Bad frustrations: My bad.
There are some frustrations that are accidental. In PollyGot, they're caused by my deficits as its sole programmer and designer. They're frustrations over un-intuitive interfaces. They're frustrations over download demands. They're frustrations over compatibility issues. I call these functionality and usability problems "bad" frustrations. Many users have recognized them as bad, and so have I. Users only need to be consistent and specific for me to fix them. Fewer bad frustrations are less bad for everyone involved.

Good frustrations: You good?
Then, there are those frustrations that are intentional. They're ones for which I deliberately wrote hundreds of lines of code. They're neither malevolent nor blindly well-intended. They're grounded in research on what gets people fully literate. They're there so that learners actually progress in learning a new language. It boils down to this: Clear, firm objectives demand real, surmountable challenges. Such challenges inevitably frustrate people. However, once users surmount them, they're better than they were before. That payoff makes these frustrations "good".

It takes good frustration to get from point A0 to point C2. Any language-learning app that offers a long-term payoff needs to frustrate users. That's why PollyGot feels like autodidactic asphyxiation. At certain points, learners should feel like they're choking. They should feel the need to claw for the air of competence. PollyGot's designed so that each climax makes each suffocation sensation worth it. That's what most profit-centered app devs miss (well, that, and that they suck at applied linguistics).

Lots of people, however, don't discriminate between good and bad frustrations. For them, every frustration is a bad one. Already, that's a shitty mentality because it can excuse never working hard at anything. It also fails to recognize that certain frustrations push people past their previous states of ignorance. The distinction's not that hard to make, either:
  • Good frustrations are more internal. They arise when you confront a challenge with the content. But, more than that, they gradually subside as your competence grows.
  • Bad frustrations are more external. They come from challenges that you can't reasonably expect to overcome. And, worse than that, they distract you from receiving the necessary good frustrations that actually push you to be better.
With good frustration, there's a clear path to clarity.
As a developer, it's now pretty easy to discriminate users' bad frustrations from their good ones. With most bad frustrations, I'm explaining to users how to use my app. Their frustration levels remain fixed until I adjust the user interface. With good frustrations, I just explain to users why the app is how it is. Their frustration levels then fluctuate with their own progressions and regressions. Instead of being about how competent or intuitive my app is, it's about how fast and accurate they are.

That all makes sense, so what's the problem?

The problem is that I can't give this pep talk to every potential user. I'm not hovering over everyone's shoulder. That's my frustration frustration. My challenge lies in, first, discriminating their good frustrations from their bad frustrations. The bad ones I just go about fixing. The good ones I have to get users to accept (not just tolerate). That's easier said than done, though. I can't clutter my user interface to wise people up, since that would create bad frustrations. I also can't tone down the challenges, or else users' frustrations would cease being good.

Most language app developers just take the easy out: They lie. They talk their apps up to boost sales. Then, after they fail, they talk you down to boost sales. Such lies produce an industry-wide bad frustrations. My only way to combat this has been to tell people truths that they don't want to hear. The world is not the set of The Matrix or Battlefield Earth. Instant learning devices don't exist. "Artificial intelligence" is just a tech industry buzzphrase and will not beget SLA's salvation. Literacy and listening comprehension are the only foreign-language skills that apps can directly provide in our current epoch. Complacency with institutionally acceptable language leaves you unprepared for real-world language use. Metalinguistic instruction is meaningless until you're already competent in the object language (or unless you're already a linguist). Standard business models in pedagogy incentivize inefficacy. Ignorant users are partly to blame for the shit sandwiches that hit the app market. Said truths impose certain constraints on what I'd willingly build. They also guide me to build the few honest solutions that can be built.
Deep down, language learners demand a fantasy. Deeper down, they know that reality can't provide one.
Honesty in this racket means putting hard truths in people's faces. It also means giving the public what it doesn't really want (that is, a code-written miracle). That leaves a thin tightrope to walk in easing my frustration frustration.

Honesty in this racket also means eschewing common business strategies. Thus arises others' frustration frustration frustration.

Wait, where does this frustration frustration frustration come from?

In the year since I've published my app, I've also met with a few marketing firms and entrepreneurial interests. Almost every first meeting involves them giving me four bits of advice:
  1. Dumb it down.
  2. Make it fun.
  3. Pitch a lot.
  4. Sell a lot.
"This is about the extent
of my business plan."
Now, my "business model" is based entirely on patronage. I only seek money from people who got a benefit. Since only a small percentage of users of any free app actually become patrons, that business model puts extra stress on me to popularize PollyGot. That increases my personal temptation to shit-sandwichize my app. Business interests like learning modules, for instance, because they can be promoted and sold as "packages". The problem is that language-learning modules result from situational and grammatical syllabi, both of which are bullshit, and which my app doesn't contain. Explaining this to promoters and such is only mildly frustrating. I'm used to dealing with people with little relevant knowledge. They almost always offer naive suggestions based on false preconceptions. My point, however, is not just to bat their crappy ideas down. I need to peel their ignorant layers back to get insightful ideas from them. They know what sells. I know what works. My message to them: "Help me find the intersect!"

As you can imagine, this is much more frustrating on their end. They're focused on customers and returns. I'm focused on learners and outcomes. Basically, any suggestion to "dumb it down" is their attempt to enter territory where they aren't competent to speak. The fact is, PollyGot is as dumb as it can remain useful. Chances are that I've already considered and rejected further dumbings-down. That's a part of working through my frustration frustration. They have to adapt their strategies around that frustration frustration. Their challenge is to forward ideas that neither remove the good frustrations and their associated benefits nor advance standard for-profit tactics. Doing the former would eliminate my whole reason for building my app. Doing the latter introduces incentives that might make the app shitty. 
"How did the meeting with the PollyGot client go?"
Past that, marketers do know how to increase engagement. Their suggestions on how to make the app more fun have helped some. But, again, they've had to tread lightly. Gamification is fine if it doesn't generate bad frustrations and doesn't degenerate PollyGot into Flappy Bird. There's no reason to bloat my app with graphics if it's only a distraction that slows the app down. Also, it could backfire, since it's one thing to be frustrated because you're advancement stalls. It's another to be frustrated because you're losing a game. Backsliding happens often in PollyGot. Graphical elaboration on that may breed more bad frustration with an unnecessary extra stressor. That said, they've helped me consider how to "reward" progress meaningfully. I've been thinking for a long time about how to increase engagement without being too intrusive. The marketing team did help me steer some of those thoughts towards a good path. I've wanted to add some features to PollyGot, and integrating gamified concepts into those features will help my next steps a lot.

The last matter, to "sell a lot," is pretty much solved for me. A patronage business model lets me focus on my app as a tool. The potential profit from it is just a consequence of mass benefit, whenever that occurs. So, my incentives are correctly aligned. Nevertheless, I still keep running into iOS users who want an Apple version of my app. The reality is that, if enough people subsidized the cost of hosting PollyGot on the App Store today, it would be there tomorrow. There's virtually zero programming difficulty involved on my end. But, I already spent thousands of hours and hundreds of dollars on developing my app. I'm not spending upwards of $200 a year for 20% of all mobile users to have it for free. Other than that, I have no serious financial woes. Living in Mexico keeps my overhead low. My US earnings are more than enough to cover it. PollyGot's growth is only a question of time and exposure.

Even the Babbel ad model smells the company's bullshit:
"Yeah? Speaking how much
of a new language in three weeks?"
What frustrates these people more is the "pitch-a-lot" part. I've heard every deceptive language-service marketing ploy under the Sun. They rely on ignorance and half-truths to sound appealing. They contain heavy omissions, sly misrepresentations, and worthless "guarantees". When I talk to marketing firms about crafting a promo, it feels almost like tutoring ethics to a delinquent. I have to explain to them, "PollyGot will not make a user completely fluent. It assists with speaking and (as of version 5.0) writing skills only indirectly. It will, however, directly help users become fully literate and aurally skilled." Since removing the writing aspect (which caused more bad frustrations than it was worth), it's actually rather simple:
  1. Start by decoding simple messages at a fluent pace, with slow audio input.
  2. Gradually increase the complexity of those messages and the speed of the audio input.
The finer details aren't really suitable for a pitch. That much I explain to them. I also explain that pitches need to be careful not to promise things that aren't there. For example, will PollyGot get users to a B1 level of literacy? At this point, yes. Will it get users through a C1 level of fluency? Not yet. The database is just not big enough. When it is, I'll say that it is. 

It's not in marketers' instincts to be that humble and even-keeled. They've got to make everything seem so fucking sensational! "A proportion of effort will yield a slightly greater proportion of competence," is all anyone can honestly promise in this domain. Even then, marketers can't help themselves. They want to distill that basic message, add a great white lie, and proclaim, "Greater competence with the push of a button!" Oh, Christ! That may get a lot of short-term users. What matters more to me, though, is long-term trust. Learners have heard that over-the-top song and dance before. Besides, patrons are dedicated users. How does over-promising and under-delivering attract that crowd? Surely, a totally honest, effective campaign is possible, right? Their heads hang; their eyes roll. The frustration frustration frustration sets in.
Reality: At least you can fucking eat it.
Now, the hard question: Is my frustration frustration itself a good or bad frustration? What about their frustration frustration frustration? At this point, I can't say for sure. My guess is that, like the first-mentioned frustrations, some are good and some are bad. I'll be rarely optimistic and say that they're mostly good. I hope they are, at least. I'm probably not ready for the existential crisis if it turns out otherwise.