This video was supposed to be a "getting started with MUI" tutorial. Instead, it's going to be more of a rant. I'm going to call out what sucks. Call people to higher standards. Set realistic expectations for Amiga programming beginners. And finally, I'll lay out the simple solution to what triggered this rant...

The Backstory

I was working on the code for a basic Hello world type MUI program. As usual, I scour the internet for existing tutorials, examples and code. I'm doing the exhausting stuff so you don't have to.

Then I started writing code, and almost immediately hit the first problem any newbie Amiga MUI programmer will hit: While the AmigaOS 4 SDK *says* that it includes MUI 5, it's not integrated.

The MUI developer files have been dumped in its own drawer, so the compiler won't find its headers. MUI's header files are not in the compiler's search path. To make matters worse, the cross-compiler that I set up in previous videos was missing MUI, and the updated image put those files in a completely different location. So, there's no common path too them, and therefore no reliable way to make sure they can be found regardless of developer setup.

Amiga MUI header files are not found by the compiler.

Want New Developers? Remove All Friction Possible

Guys, if you want more developers on the platform, then make things easy. Adding friction is a good way to send newcomers running for the hills. Sure, this is a small problem easily worked-around. But, it's one of thousands of little problems that add up to a big frustrating mess. 

It's giving me a deja vu feeling. Thousands of little Amiga specific problems delayed ZitaFTP Server's release by at least 6 months. That's a lot of time and energy down the drain. Not everyone has that level of endurance, which is how dreams die. Killed by thousands of little paper cuts.

To be fair, part of our problem is we have a small user-base with an even smaller pool of developer talent. This means that code is going to have more rough edges, and be less tested. It's just the nature of things. This includes some of my own projects. However, that's no excuse for sloppiness. Integrating MUI into the SDK properly so that things "just work" is trivial to do .

Amiga developers, please try harder to make things work right, to make things easy to use for both users and developers. And collaborate with others. Don't just work around problems, make sure that the root cause gets fixed. Submit bug reports when needed to get the root caused fixed.

New developers, please have some patience with the rough edges. Speak up when you encounter difficulties. You can highlight problems that us veterans have gotten so used to that we don't even see them any more.

The Rant Trigger's Solution

Back to MUI. The solution to the problem that triggered this rant is rather simple: I included its header files in a third-party sub-directory, and added that directory to the compiler's search path.

Amiga MUI header files embedded in the project repository.

This is what I do with all dependencies that aren't included in the SDK by default, so that my projects build out-of-the-box. I shouldn't have had to do it in this case, but problem solved. We can move on...

Next video I'll show you how to get your first MUI program up and running.