Huan Truong

Notes from a developer


/ Stroking the engine for n00bs and l33ts

Perhaps the biggest "a-ha" moment I have learned when I am developing Crankshaft and helping the community was that I have to support really smart people. "I don't know" was a very frequently answered answer – Because I honesly don't know as much as people asking me questions. It also caught my by surprise that people are using many types of custom hardware and doing all kinds of cool stuff with their cars. I initially just suggested everyone get the official touchscreens and a Raspberry Pi 3 then put everything together. At that time, I thought many users who use Crankshaft are ones who would not be able to compile OpenAuto by themselves and I am just helping the n00bs. While it's true that some users were probably not savvy enough to compile OpenAuto, the reality was that people who mod their cars are really smart and savvy users. Power users have and always will have crazy hardware and software such as custom touchscreens, crazy buttons, wires, CAN interfaces, DACs, backup cams, custom programs, whatever.

It turned out that the smarties just don't want to deal with shenanigans if they don't have to. Many opt to work on the Crankshaft platform just because they trust Crankshaft to do a relatively good job at providing and tweaking OpenAuto. It's the same reason that very smart people run macOS/Ubuntu: It's not because they are sheep and not smart enough to install Gentoo. It's because they don't want to waste their time installing Gentoo, it's not fun to them. Power users install Crankshaft because it saves them time to work on other stuff that's fun to them instead of having to waste a day figuring out how to clone and compile aasdk and tweak OpenAuto from git. I'm sure many users will go away and compile OpenAuto as soon as we say screw your custom hardware, we only support the recommended ones.

So my Apple approach of "buy this" hardware requirements and plug-n-play didn't work as expected. I tend to try support whatever I can with regard to people running Crankshaft on exotic hardware. It's also where the fun is. With that being said, there are nice things to be had when we're newbie-friendly with recommended hardware being guaranteed to work, too.

Going forward, I fully commit to supporting Crankshaft for both n00bs and l33ts. I'm happy that we're having a friendly community that everyone helps each other and shares their knowledge. I cannot be more thankful to be a catalyst for that process.

If you want to see some crazy setups for Crankshaft, please head to the shared album.