2 Wanda on Nostr: so I have just made a long rant at my roommate prompted by some random discussion and ...
so I have just made a long rant at my roommate prompted by some random discussion and I'm actually annoyed enough about that shit that I'm going to re-rant on fedi.
so. lego. lego technic, even. you know, the fancy toys that involve a bunch of pieces you can build stuff out of. you can just take the instructions that came with the set if you don't particularly feel like thinking today, or you can pour out all the bricks you have on the floor and get creative.
I've always particularly liked lego technic. you know, you get to build something that moves and learn a thing or two about actual, honest-to-gods mechanics while doing so (differential gears! ackermann steering! what cool ideas!).
and lego technic always came with motors. you know, stuff an electric motor into your crane or whatever, connect a 9V battery box, and it literally goes brrr. excellent stuff.
at some point (2007) they invented something even better: the power functions with IR-based remote control. if you're feeling like it, you can connect a remote IR receiver brick between your battery box and your motor, and you can control the going brrrr thing from a distance using the IR transmitter. you get to control two motors per IR brick, and it lets you select one out of 4 channels so you can stack them for up to 8 motors, which is an insane amount of control to have over a model and you can do ridiculously cool shit with it (you can check out this fan-made example I really like: https://rebrickable.com/mocs/MOC-72302/JurgenKrooshoop/ultimate-42009-rc-motorized-mobile-crane/#details)
oh, by the way, the IR transmitter is *also* a lego brick and you can actually apply *mechanics* to the remote controller itself, and I've seen some cool shit based on that idea too.
and then 2019 came and they fucked it up so completely, it hurts to look at.
see, the newest generation of lego technic + motors (called "Powered Up") is based on bluetooth (or maybe BLE? I don't give a fuck tbh). and on Android.
like before, you get a battery box that you stuff 6×AA batteries into. like before, you get motors you connect to the battery box (several kinds of). and like before, you get to control it remotely.
except, the battery box is now also a bluetooth device and will refuse to do anything until you connect to it. and the remote control is now your Android phone. there is still an old-style battery box with a manual control, but it only comes in 1 (one) lego technic set released since this shit started (as opposed to the dozen or two with the bluetooth thing).
now, this is already kinda bad. see, touchscreens kinda suck for manipulating physical devices with any precision. particularly when, by nature, you really want to be looking at your model, not at the fucking touchscreen. so your paw just keeps slipping off the virtual throttle on the screen because hey turns out tactile feedback is a useful thing that you no longer have at all.
but this wouldn't be *completely* horrible if they just literally ported the old idea to Android. they did worse.
see, when you start up the "CONTROL+" app that lego ships for controlling your creation, you're presented with a list of supported lego sets, and you're asked to select which one you want to pilot right now. once you choose, the controller will talk to the battery box, enumerate the connected motors (you can have 4 motors per battery box; some really large sets have two separate battery boxes for extra motors), and verify you have connected the correct amount and types of motors for the given model. there's a mismatch? fuck off until you fix it.
then it will start the calibration process. for every motor that controls a function which has some sort of min/max position, it will move it to both ends until it meets resistance (turns out all motors are also servos and have some sensors) and keep track of its position. if the calibration process doesn't work out the way it should for the model (for example, because it has been modified in any significant way), it will tell you your model is wrong and you should fuck off.
and then you will finally get to control your model, built exactly to lego's exact specifi- okay I lied there's also a fucking per-model bullshit tutorial you have to go through before it'll let you do that.
now. can you guess what happens if you actually want to like... explore all this cool motorized mechanics stuff on your own and design something? that's correct, fuck you.
I mean. not quite. the protocol it uses is documented. I'm sure any child that wants to mess around with some motors and gears can just sit down with the protocol specs, some BLE library, some toolchain, and just create a custom control UI, right?
fuck all of that.
I mean. don't get me wrong. some of the models involving this stuff are really *cool*, and some of them use the capabilities of this system in ways that completely wouldn't be possible without complex logic running on the controller side. I enjoyed building this shit and looking at how it works.
just. for fuck's sake. let a child control a fucking motor without all that bullshit.
it's really sad how garbage it got.
so. lego. lego technic, even. you know, the fancy toys that involve a bunch of pieces you can build stuff out of. you can just take the instructions that came with the set if you don't particularly feel like thinking today, or you can pour out all the bricks you have on the floor and get creative.
I've always particularly liked lego technic. you know, you get to build something that moves and learn a thing or two about actual, honest-to-gods mechanics while doing so (differential gears! ackermann steering! what cool ideas!).
and lego technic always came with motors. you know, stuff an electric motor into your crane or whatever, connect a 9V battery box, and it literally goes brrr. excellent stuff.
at some point (2007) they invented something even better: the power functions with IR-based remote control. if you're feeling like it, you can connect a remote IR receiver brick between your battery box and your motor, and you can control the going brrrr thing from a distance using the IR transmitter. you get to control two motors per IR brick, and it lets you select one out of 4 channels so you can stack them for up to 8 motors, which is an insane amount of control to have over a model and you can do ridiculously cool shit with it (you can check out this fan-made example I really like: https://rebrickable.com/mocs/MOC-72302/JurgenKrooshoop/ultimate-42009-rc-motorized-mobile-crane/#details)
oh, by the way, the IR transmitter is *also* a lego brick and you can actually apply *mechanics* to the remote controller itself, and I've seen some cool shit based on that idea too.
and then 2019 came and they fucked it up so completely, it hurts to look at.
see, the newest generation of lego technic + motors (called "Powered Up") is based on bluetooth (or maybe BLE? I don't give a fuck tbh). and on Android.
like before, you get a battery box that you stuff 6×AA batteries into. like before, you get motors you connect to the battery box (several kinds of). and like before, you get to control it remotely.
except, the battery box is now also a bluetooth device and will refuse to do anything until you connect to it. and the remote control is now your Android phone. there is still an old-style battery box with a manual control, but it only comes in 1 (one) lego technic set released since this shit started (as opposed to the dozen or two with the bluetooth thing).
now, this is already kinda bad. see, touchscreens kinda suck for manipulating physical devices with any precision. particularly when, by nature, you really want to be looking at your model, not at the fucking touchscreen. so your paw just keeps slipping off the virtual throttle on the screen because hey turns out tactile feedback is a useful thing that you no longer have at all.
but this wouldn't be *completely* horrible if they just literally ported the old idea to Android. they did worse.
see, when you start up the "CONTROL+" app that lego ships for controlling your creation, you're presented with a list of supported lego sets, and you're asked to select which one you want to pilot right now. once you choose, the controller will talk to the battery box, enumerate the connected motors (you can have 4 motors per battery box; some really large sets have two separate battery boxes for extra motors), and verify you have connected the correct amount and types of motors for the given model. there's a mismatch? fuck off until you fix it.
then it will start the calibration process. for every motor that controls a function which has some sort of min/max position, it will move it to both ends until it meets resistance (turns out all motors are also servos and have some sensors) and keep track of its position. if the calibration process doesn't work out the way it should for the model (for example, because it has been modified in any significant way), it will tell you your model is wrong and you should fuck off.
and then you will finally get to control your model, built exactly to lego's exact specifi- okay I lied there's also a fucking per-model bullshit tutorial you have to go through before it'll let you do that.
now. can you guess what happens if you actually want to like... explore all this cool motorized mechanics stuff on your own and design something? that's correct, fuck you.
I mean. not quite. the protocol it uses is documented. I'm sure any child that wants to mess around with some motors and gears can just sit down with the protocol specs, some BLE library, some toolchain, and just create a custom control UI, right?
fuck all of that.
I mean. don't get me wrong. some of the models involving this stuff are really *cool*, and some of them use the capabilities of this system in ways that completely wouldn't be possible without complex logic running on the controller side. I enjoyed building this shit and looking at how it works.
just. for fuck's sake. let a child control a fucking motor without all that bullshit.
it's really sad how garbage it got.