Speedrun progress — entry one

Donation popup spam — is not delightful.

P1xt
P1xt’s Blog
4 min readJun 8, 2018

--

“Close-up of a MacBook on a dark surface” by seth schwiet on Unsplash

Thusfar, I’ve finished “Basic HTML and HTML5” and am halfway through “Basic CSS” and I’ve discovered what I think might be the real reason this shitfest of a release finally saw the light of day.

Holy donation popup spam

export const shouldShowDonationSelector = state => {
const completedChallenges = completedChallengesSelector(state);
const completionCount = completionCountSelector(state);
const currentCompletedLength = completedChallenges.length;
// the user has not completed 9 challenges in total yet
if (currentCompletedLength < 9) {
return false;
}
// this will mean we are on the 10th submission in total for the user
if (completedChallenges.length === 9) {
return true;
}
// this will mean we are on the 3rd submission for this browser session
if (completionCount === 2) {
return true;
}
return false;
};

Two hours ago — that lovely bit of code got deployed. Did they prioritize making the UI work on mobile? — no. Did they prioritize making the UI look like less of a shitfest? — hell no. Did they fix bugs or add in anything that would improve the release for users? …. you guessed it, again, no.

The priority — spying on how many lessons you’ve worked on and ensuring that you get a popup asking you for a monthly donation within 3 lessons every single time you login.

It’s the same donation scheme as in the old system. No way to donate once, they only let you sign up for monthly donations. But now, the new system, which I’ve not seen provide any benefit whatsoever to learners, does let them beancount your engagement at extremely fine grained detail and popup their donations modal over — and over — and over.

Personally, I’m not going to worry about their donations. Their business model isn’t donations — it’s building social media presence, leveraging their following for affiliate links, and eventually selling off the hard work of countless contributors to the highest bidder, along with all the analytics and private data they’ve engineered the “new release” to collect. Don’t believe me? Double check the Terms/Privacy statement they make you sign — when they sell out, the buyer gets all their (your) data.

Ok, hopping off my soapbox. If you don’t want to get bugged over and over to sign up to send them money every month, just add the following css to the page using Stylus/Stylish:

.donation-modal {
display: none !important;
}

I did make a Stylus theme, but I’m not going to add that bit into it because it’s sort of a personal choice whether you decide you want to see the popup over and over and it’d be sort of a jerk move for me to publish a CSS override to Stylish for people to download and use completely unaware that donation modals are shutoff.

Note to self: Once you complete this speedrun, weed through their new code base and see just how much “analytics” they’re doing. The new platform sure the hell isn’t about a better experience for the user — how much of the new platform is in place to collect data to make FCC more attractive for acquisition?

Passwordless Authentication

I call bullshit — I don’t need to maintain a password for FCC if I can just “login with github”. Interestingly, the one thing the new passwordless authentication scheme insures is that freeCodeCamp is always assured that they have a legitimate email address for every user. With github, you can configure it to use an obfuscated email so no one gets your real email — not with this passwordless authentication bullshit. I don’t care how many long assed blog posts you cite about security, giving someone who flat out states that when they are bought out they’re giving all their(your) data to whoever buys them a consistently verified “good email” address is doing nothing but giving them the best ****ing marketing list targeting junior developers in the world — to sell when they get bought out.

You can’t select text in the last line of the code editor

If you run into this issue, just add a blank like as the last line of your code. Then, you’ll be able to select text in the line above that blank line.

Quality of the content

Thusfar, though I still don’t believe FCC is sufficient to truly prepare someone to productively enter the workforce as a developer, the content changes are — pretty much across the board — vast improvements over the previous content. It is both sad, and a bit infuriating, that all of the hard work contributors put into the content improvements just sat on the shelf for a year and a half until FCC could rebuild the framework to bean-count its users’ every click. The delay can’t be about wanting a framework to better serve user needs, the UI and UX are truly awful — and every lesson I’ve seen thusfar would have worked just fine in the old (crappy but better than this) UI.

Until tomorrow — I’m off to do more lessons.

--

--