The last time I tried teaching some kids how to program arduinos, the room we were in had no wifi to speak of. Getting working copies of the desktop IDE onto half a dozen ancient underpowered windows laptops was a nightmare. As was trying to keep track of which kid was using which laptop, because of course all files were local.

So this time, with a bunch of desktop machines, the access point 20 feet away and even a bunch of ethernet drops, you’d think using the Arduino Web Editor would be pretty straightforward. Nope.

First, the widely-known (except to me) refusal of some Windows 10 machines to connect to some wifi networks. Our batch of 10 ostensibly identical machines (corporate donations of standardized hardware kindly re-imaged just a few weeks ago) had about a 50% success rate, measured by swapping out finicky boxes until we had a set that worked.

Then the wifi. Thanks to the bloat of modern web pages, even with a multi-megabit pipe and a perfectly adequate router, pages were taking the better part of a minute to load.

But what finally had me apologizing to the kids and promising to install (gah!) individual copies of the Arduino IDE on every machine was a more basic problem that I should have anticipated. Since I didn’t make separate accounts for all of the kids taking the class, the servers at Arduino central kindly merged all the traffic coming from 8 or so machines into one stream of commands to the editor. Type it here, watch it come out there. Try to upload here, fail because you don’t have permissions for the USB port there. And so forth. And no, changing to different files for each kid won’t work either, because the name of the file you’re editing propagates too. (Ages ago, a researcher at Xerox PARC told me a story about the Pluribus, one of the first fault-tolerant multiprocessor machines, and the comedy that arose the first time administrators tried to update the operating system. What! One of the CPUs is seeing code different from the others? Quick, repair that code image by copying from backup and rebooting the offending unit!)

So I haven’t decided yet: Install the desktop IDE everywhere and then make kids sit at assigned computers for the rest of the court so they can find their programs, or run a bunch of ethernet cable around the classroom and establish Arduino Web IDE accounts for all the kids (none of whom might possibly do anything foolish with them). Or maybe some horrific combination of the two.