Urgent.News

What's breaking now, across thousands of outlets.

Tech

I Built Interactive CLI Drills — Learners Quit at Prompt #3

I Built Interactive CLI Drills — Learners Quit at Prompt #3 I built what I wanted as a learner: interactive CLI drills in the browser. Type commands. Get feedback. No “install fifteen tools first.” Then the analytics (and the hallway conversations) said something rude: a chunk of learners quit at prompt #3. This is a show-and-tell about that product bruise—and what I changed. What I shipped first…

A reporter wanted to showcase interactive command line drills designed for learners. However, the analytics revealed that a significant percentage of learners abandoned the drills at the third prompt. The reporter aimed to examine the issue and explain the changes made to address it.

The reporter initially created short missions for CMD, PowerShell, and Bash-oriented tasks on Windows-friendly paths. Immediate feedback was provided upon completion, and a clean terminal UI was designed to mimic the practice experience rather than a MOOC video. The reporter believed that skill development occurs at the command line prompt.

The reporter noted that prompt #1 was successful, as learners could list files and print a string, resulting in dopamine release. Prompt #2 introduced one new concept and was still acceptable. However, prompt #3 combined concepts or required error recovery without a scaffold, causing confidence to plummet. The reporter realized that the difficulty curve was too aggressive, and learners were quitting.

To address the issue, the reporter implemented smaller concept steps, ensuring one idea per prompt until the streak felt earned. Later, these concepts were combined in a "mission boss" rather than at step three. Additionally, the reporter added intentional recovery prompts, introducing a safe failure that taught about ERRORLEVEL and $LASTEXITCODE after a success, rather than before.

The reporter also highlighted the importance of intentional recovery prompts and softer first-session definitions of done. A complete first session could consist of six tiny wins, with heroic achievements in the second session. The reporter emphasized that the product's purpose is to train operators, not to win a landing-page award.

The reporter acknowledged that the quit data did not destroy the thesis; instead, it revealed the need for pacing adjustments. By watching metrics like median time-to-first-success, drop-off by prompt index, repeat visits within 48 hours, and qualitative comments about feeling dumb, the reporter discovered that prompt #3 was the cliff in their curriculum graph. After re-pacing, the cliff moved later and became shorter.

Ultimately, the reporter concluded that prompt #3 was not a fatal flaw but an opportunity to re-evaluate pacing. They suggested that if a product requires complex combining of ideas and perfect quoting, it may not be a drill but a challenging experience. The reporter advised splitting the curriculum to make the third prompt a fair win and earning the harder combines.

They cautioned against adding gamification, such as badges and streaks, as a Band-Aid solution. Instead, the reporter recommended making the third prompt a fair win, then gradually increasing complexity.

Finally, the reporter shared a free, browser-based tool called CMD Master for interactive terminal learning in CMD, PowerShell, and Bash. They encouraged readers to watch where they want to quit, as that spot might be a future design ticket. The reporter posed a question to other trainers: do you gate progress strictly or allow learners to skip and return? They sought insights on balancing structured practice with adult learners' needs.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Playing video on Flutter Linux desktop with media_kit

Video is the one media type in tonGues that cannot fail quietly. A photo that won't load falls back to an icon tile and most people never notice; a video that won't play looks like the whole app is…

  • Video playback issue on Flutter Linux desktop due to lack of player component
  • VideoPlayerController.initialize() threw UnimplementedError on Linux
  • VideoPlaybackController introduced as abstraction layer for seamless playback

Staying signed in on Linux when the keyring doesn't survive a reboot

We keep people signed in on desktop the same way we do on mobile: the session is an access/refresh token pair, and we would much rather store it in the operating system's secure store than in a…

  • Sessions on Linux stored as access/refresh token pairs in keyring.
  • Proof-gated fallback used instead of plaintext fallback for security.
  • Bug fixed by adding cross-boot proof with kernel boot identifier.

More from Tuesday 13 October →