In the winter, I hatched a vague plan to learn some of the modern unmanned aerial vehicle tech. Everybody needs an autonomous vehicle, and we’ve got some good flying fields within walking distance, so it seemed like it could work. Being me, that meant buying the cheapest gear that could possibly work, building up the plane by myself, and generally figuring out as much as possible along the way. I learn more by making my own mistakes anyway. Sounds like a good summer project.
Fast-forward to August, and the plane is built, controller installed, and I’ve spent most of the last month trying to make them work well together. (The firmware expects a plane with ailerons, and mine doesn’t have them, but apparently I’d rather tweak PID values than simply add a couple wing servos.) But it’s working well enough that it’s launching, flying autonomous waypoint missions, and coming home without any intervention. So, mission accomplished, right?
Nope. When I’m enjoying a project, I have a way of moving the goalposts on myself. I mean, I don’t really want to be done anyway. When a friend asked me a couple weeks ago what I was planning to do with the plane, I said “take nice aerial videos of that farm over there.” Now I see flight opportunities everywhere, and need to work on my skills. The plane needed an OLED display. It probably still needs Bluetooth for local configuration as well. Maybe a better long-range data link…
This is creeping featurism and moving-the-goalposts in the best of ways. And if this were a project with a deadline, or one that I weren’t simply enjoying, it would be a problem. Instead, having relatively low-key goals, meeting them, and letting them inspire me to set the next ones has been a blast. It makes me think of Donald Papp’s great article on creating hacking “win” projects. There he suggests creating simple goals to keep yourself inspired. I don’t think I could have planned out an “optimal” set of goals to begin with — I’ve learned too much along the way that the next goal isn’t obvious until I know what new capabilities I have. Creeping is the only way.
What about you? Do you plan your hobby projects completely in advance? Not at all? Or do you have some kind of hybrid, moving-the-goalposts sort of strategy?
Extrinsic motivations are goals, things you get in exchange for being done such as money or likes.
Intrinsic motivations are what you get while doing something, and fall into 4 categories: learning something new, practicing something you’re rusty at, creative control, and value to yourself, family, or community.
Creative tasks respond to intrinsic motivations but if you concentrate on the extrinsic goals, the intrinsic motivations will fade. This is called the “overjustification effect” and it’s well established in the literature.
https://en.wikipedia.org/wiki/Overjustification_effect
Setting a completion target is fine so long as it’s not an extrinsic goal. Don’t do projects to get subscribers on your YouTube channel, do projects because you like to do projects. Set goals so that the project is inherently valuable to you (or your family, or the community) instead of valuable for the money it brings in.
Moving the intrinsic goalposts is fine because your enjoyment comes from the journey, not the destination. The enjoyment from extrinsic goals quickly fades, and you’re always looking for the next one. Happiness from extrinsic goals is always over the cognitive horizon.
Shameless plug: It’s not known whether the overjustification effect can be reversed, but I have an experimental technique that might work. Available in about a month.
https://hackaday.io/project/180726-motivation
Interesting effect, and definitely empirically true! As work gets closer to any given on-the-go project (and some have been unfinished or nothing more than scrawled ideas for decades) the attraction of it diminishes. Sometimes the attraction resurfaces years later.
WFH in the pandemic is doubly bad, as what was my ‘den’ is now my ‘office’ so anything at all in there feels like work…
I currently have a number of projects on the go, ranging from renovating a log cabin in the forest to learning how to write X11 Xlib programs to making cold-process soap. Such is the life of a retiree during the times of COVID-19.
With each project I tackle, I start with simple goals, and move the goalposts as I go. The log cabin reno started off as a simple cleanup, each success allowed me to move the goalposts such that my latest completed project includes an off-grid electrical system powered by a battery charged from solar panels. Similar goalpost shifting has lead me to learn quite a lot about X11 (I’m close to my initial goal there, with some diversions along the way), and have become proficient enough in making soap as to be able to make batches for presents (again, with diversions along the way).
I find that I learn best when I start with a small, slightly complex task that I can expand in scope as I learn.
In my mind no project is ever done, just abandoned, hopefully in a ‘finished’ state. As there is always more that can be done to make it more efficient, prettier, faster, easier to use… And sometimes a project should be abandoned even if it doesn’t work at all – there is no need to finish a project if you learnt what you were after, and as such are ready to take on the other project it was a practice run for.
Most of my projects are relatively freeform developments, just a loose idea of what I want to achieve – as I am rather a cheap skate so almost always using whatever is to hand, or affordable.
Planning is great, when you can afford the parts, or for those projects that really mean something to you, that you really want to get really polished finish on, so afford the parts or not you find a way to get them in the end…
My projects are sometimes short term in the sense that I build them, I accomplish the initial goal, and then I strip it for parts and move on. Such was the case with my Direct Conversion Receiver project. I built it from scratch, I learned, and I moved on. In my current BITX40 rebuild project, I have definite goal posts: Get it working in any capacity again with a ton of mods (the point of the rebuild) and then build out some more hardware and keep it working, and then new software to make it all play together. This particular project has a goal of reaching a point where its in a mobile case I can take anywhere, and once I reach that goal, it’s literally finished. No more mods will happen except possibly software iterations.
Of course that’s the exact opposite of every other project. I think I heard it best said like so: “A project is never done, you just stop working on it.”
> What about you? Do you plan your hobby projects completely in advance? Not at all?
Nah, never. I might have about 30 projects going at the moment. But if I’m working on it I’m enjoying it. Planning in advance is for when I’m getting paid.
Bah, that was supposed to be a top level comment.
> But it’s working well enough that it’s launching, flying autonomous waypoint missions, and coming home without any intervention.
That my friend is a dual-use technology, dunno about other EU states but in Poland mere posession of such things would be classified as illegal ownership (or manufacture – depending on prosecutor’s mood) of firearms. Enough to land you a few years of jailtime… been there, done that, 3.5 years to be precise. In my case there was no chance for a suspended sentence since police also found unregistered (aka illegal) CNC lathe, manual mill and books about modern cryptography. I’m considering move from Poland to Serbia or Ukraine but language is a royal PITA.
Wait, you spent 3 and a half years in jail because you owned a homemade drone, a lathe and some books ?!
I don’t believe this story. It doesn’t check out, at least as it is told.
One of the principal developers of the firmware I use (iNav) is in Poland, and he’s got more autonomous vehicles than NASA. (Hi Pawel!)
Some really brilliant CNC / machining / drone hacking is coming out of Poland — why aren’t all these people in jail?
Hell, my (Chinese) eBay CNC mill was sent from Poland. Trafficking in forbidden goods? You’d think they’d crack down on that.
> “Do you plan your hobby projects completely in advance? Not at all? Or do you have some kind of hybrid, moving-the-goalposts sort of strategy?”
My home projects are typically planned – to include schematics, calculations, simulations, component margins, mechanical interfaces, etc. Each project begins with a specification and a statement that describes the issue or need or problem to be solved. My experience is that ‘Moving the goal posts’ leads to abandoned projects, and may indicate that you have no idea what you want to do. Not knowing exactly what you want to do can be good for some types of writers and artists. Otherwise, a moving target will cause lost time and money and general resource wastage for engineering endeavors.
Conversely, UIs for some stuff is not always by design. The wife unit and/or other user human units have been know to veto my human-interface design decisions. The cat and the dogs have no complaint about the stuff I have built for them, so perhaps the solution to avoid ‘moving goal posts’ is to exclude humans and deal only with machines and dogs and cats.
Finally, the good writer may be saying something that is a bit of non-sequitur. You have done some pretty good stuff here – successful autonomous navigation and control systems are seldom accomplished by random serendipity. Methinks you actually did do some serious planning and design. Extrapolating on an existing design (aka continuous improvement) can be ad hoc, but the core design seems to have been well planned.
Sounds like an Agile design process to me…
Start off with a Minimal design – release
Add features – release.
I used to work in engineering for a device manufacturer, and I think the best lesson from there came from how they set hard release dates by having ‘acceptable bugs’ – bugs they knew about and would fix next release, but were unlikely to cause many problems. If you are a perfectionist, you will never be satisfied.
I’ve been working on an efficient method of storing and retrieving variable-length data elements for almost 50(!) years. Over this vast span of time, I’ve moved the goalposts more times than I can count.
During most of this time, this was an unpaid side project that went dormant for lengthy stretches, although at one point I sold a version of a library implementing this idea to a then-current employer and was allowed to work on it on company time.
Then in 2018 I heard about Intel’s persistent memory and got obsessed with using that amazing technology in connection with efficient access to variable-length data.
Three years later, I have a startup company based on the latest iteration of this basic idea.
So if you are lucky, a project can last a whole working lifetime!