Indecent Proposal: Linux

Craig suggested a snarky Modest Proposal, start targeting Linux instead of Mac, if you recoil at Apple taking 30%.

It's really 15% for most people in Small Business Program. In the Olden Times Before Ye Appe Store, distributors only would take 50% or more cut, publishers would take 70-90% cut; the App Store was a ridiculously good deal when it came out. Assholes like Tim Sweeney at "Epic Games" are of course appalled at paying out a dime, and so after an epic court battle where they lost 9/10 claims, have now reduced it to 27%, and owe Apple $73M for legal fees.

But let's think about switching. I've been spending a few days arguing with Linux zealots on fediverse, and have come to some conclusions, aside from the obvious that Linux people are crazy.

THE GOALS

  1. Write software in tools and languages I don't hate.
  2. Keep the kind of software quality, taste, accessibility, etc. that I like.
  3. Ship it and GET PAID.

Not Goals

  1. End-user use. I don't have to inflict this on myself, just see what the dev environment's like.
  2. Server software, I have FreeBSD for that.
  3. Joining a cult and singing the Free Software Song - do not click, it's Stallman singing.

GUI APIs

This is the most visible, but shallowest problem. Craig suggests Gtk+ or QT.

  • Gtk:
    • Pro: It is easy to code against in C, and from there you can use anything you like with FFI; I could ship my Scheme programs with Gtk.
    • Con: Looks like ass everywhere, native to nothing.
    • Every version is incompatible and utterly different from the last.
    • Theming makes UI design very hard, or impossible.
  • QT:
    • Pro: Actually not terrible looking, sometimes almost passes for native.
    • Con: Have to work in C++, which is a HARD NO from me.
  • Gnome: Mostly this is just Gtk.
    • Con: Do everything in their awful IDE.
    • Sort of has design guidelines, but the child-like or Windows Vista-like icons, bubble aesthetic, is not appealing.
    • Requires Flatpak, which I'll get to in a minute.
  • KDE: Mostly this is just QT.
    • Pro: Can be worked in from Kate, which is an OK editor. Here's Mark, saying something almost positive about a Linux program! Kate is OK. It's no Vim, though.
    • Human Interface Guidelines are pretty consistent, professional-looking.
    • Con: Can also be worked in from KDevelop, which makes Eclipse look fun (Eclipse is not fun).
    • UI is mostly written in QML, which is YAML like Microsoft's XML layout stuff. Just horrible.
    • Mostly the loser in the Linux User Interface Wars.
    • Again, C++, no.
  • Android:
    • Pro: Is a platform with some aesthetics & user experience; not great, but it exists.
    • Has a paid store.
    • Con: Languages are Java or Kotlin, which are very silly.
    • IDEs for it are really spectacularly awful, either Eclipse or a bag-on-the-side mode of IntelliJ.
    • Security is F-tier, I don't like contributing to a platform that's all scams, piracy, and botnets.

I hate basically everything here, and more besides. Gtk has a bare winning edge that it's easier to use from a language I like.

System APIs

The deeper problem of Linux is everything in between 1970s terminal programs and trivial GUI programs that don't interact with anything. There's no real system integrations.

If you want to use the user's calendar, you have to research several calendaring systems, some of which may have an API and some don't. Again when you want to do messaging, oh, wait, that doesn't even exist on every system. Again when you want to do something with curated photo albums, not just shoving a png in some random directory.

Or dig deeper, and audio is the same fiasco that chased me off Linux desktop 20 years ago; you simply can't get multiple audio streams to sync & play, and the latency is often in the seconds for audio processing, I can get far under 10ms on Mac. Video is nonexistent other than calling out to VLC or mplayer; you don't want to try.

What you can get done on Linux is maybe a database and low-level networking. If that's not enough, you're in for a rough ride.

Taste

So I use this word a lot. "The only problem with Microsoft is, they just have no taste." —Steve Jobs - watch that whole clip from Triumph of the Nerds.

Taste is about picking one aesthetic, one set of user experiences, and saying no to all the others. You have to choose. And most people can't choose, or they just end up dumpster-diving a bunch of junk that doesn't go together, and can't understand why they're unhappy (or maybe they're Grouches who like garbage).

If the platform creator has an aesthetic, it has behavior guidelines, you follow it, so users will feel comfortable, they won't feel surprised: Law of Least Astonishment.

This is impossible on Linux. Gnome users hate KDE, KDE users hate Gnome. Some of them like Electron shit, others think it's as bad as Flash (it's actually worse). Until one of them becomes a One True Catholic Linux and puts the rest to conversion or death at swordpoint, there won't be any unified UI.

So now you have to do QA testing on design as well as functionality on multiple distros, many different configurations, and you'll probably need testers familiar with those setups. It's an impossible QA task.

Suppose I want a file open box with custom file previews. On Mac OS X, I can use NSOpenPanel, customize the accessory view, watch notifications and update the preview. Gnome & KDE will deal with even having icons differently, and you can't override anything without bringing in their code and hacking on it.

Ship It

You have several choices here.

Gnome people say Flatpak, which bundles all the libraries and support for a program into a bundle, explicitly copied from NeXTstep/Mac OS X/iOS .app bundles (the word "app" is only valid for these platforms! This is where it comes from!)

Which is theoretically fine, but runs into the problem that Linux doesn't have a consistent OS base, so Flatpaks are a LOT bigger than Mac app bundles. They run "cross-distro" by some kind of linking hackery and translation layers, so your Gnome program includes all of Gnome, and looks like ass on KDE, but runs. As noted under Taste, that's not an acceptable way to ship, you'd have to test on everything.

npm, deb, & nix are distro-specific bundles, but at least they can check dependencies and install only what's needed. They don't help you at all with translation layers. While there's a UI for these, you really only do them from command line.

"Free Software" is an incredible pain in the ass here, you have to carefully check what libraries you use, and if they're LGPL or BSD/MIT, so you can use them with some qualifications, or GPL or AGPL, in which case you can't (unless you like shipping all your source and having 100% piracy).

Get Paid

Releasing free software is useless. As Harlan Ellison said, cross my palm with silver.

Universally, every Linux I've spoken to hates paying for software, they would never do it, think I'm an immoral monster for suggesting it, I should be happy someone might put a penny in a tip jar.

This is a backwards, shit-covered, medieval religious dogma. It's appalling in the 21st Century that Rape Apologist Richard Stallman is still Pope of the FSF, eater of toejam, owner of abortion jokes in fortune. And his devotees are carrying out The Faith, regardless of the sins of their leader.

There's no good software stores. Elementary has one, which is defunct or close to it, from what I can tell. Ubuntu shut theirs down years ago.

Google Play for Android isn't on every device, and it's widely pirated. I also morally object to letting Google have money, but any port in a storm if it wasn't for that?

itch.io works fine for games. I suspect the Linux paid users are the tiniest most shrivelled-up sliver of the demographics. 20-30 years ago, I actually had minor success with shareware on Linux, but that dropped off and never recovered.

Otherwise, I dunno, try to run my own e-commerce site and sell binaries which will instantly get pirated because nobody on Linux has any money?

So instead of paying Apple 15-30%, pay whatever hosting, bandwidth, & e-commerce costs you, and you get nothin' in return. Let's see, 30% of nothin' is…

Conclusion

It appears that eating babies will not actually solve the overpopulation or hunger problems at this time, Mr Swift (no relation).

New Machines Friday Morning Music

What I'm Watching: Rings of Power part 2

(I had this series of toots in my notes, apparently didn't publish. Whoops.)

Previously on Rings of Power

SPOILERS















Galadriel continuing to be a badass, but shitty diplomat, is one of the best blundering D&D PC portrayals. Again has less than fuck-all to do with the book character, and I'm here for it.

Dwarf: "I am a Dwarf an I'm digging a hole." Mostly in his parental relations; I know the feeling. But it's not built up much before this, was much cut from this ep?

"Don't go to middle earth, it is a silly place." I am deeply bored by Numenor's politics, and whiny little Isildur. A swordfight breaks it up but then back to yakking. Elf-king's a bastard; where did I last see him? Oh, right, Abe Lincoln Vampire Hunter. Humans are 50% evil, 40% neutral, 10% good. Elf & Dwarf are pretty cute, tho. The one relationship in this given any love. New armor is all very shit except Galadriel's plate, which looks OK except dangling chain bits.

One thing is clear from this series: Elfs are assholes. Everything is their fault in the first place, and then you have to give them all your stuff and die for them because OH, wouldn't it be TERRIBLE if they went back to HEAVEN? And they ran that scam in the first age, they're running it again now, and they'll run it again in the third age. Isn't that great? Nobody ever learns to say "fuck off, Elfs". The one blacksmith who does is mocked by the evil vizier.

Arondir Elfpants' fighting withdrawal is a little goofy, very Army of Darkness. But then the peasants try a High Plains Drifter defense and it's obvious shit. Where did these incompetent peasants learn to shoot bows & stab with spears as well as trained Orcs (and untrained evil men)? Then deus ex machina, Numenor knows exactly which shitty peasant village to rescue. Yeah, map magic but it's still bullshit, the entire region must be at war.

Adar: "We have a heart. We deserve a home." Galadriel: "Genocide is good, because you are bad! Waah!" Yeah, that tracks. The thing the main LotR books & series couldn't quite articulate, because Tolkien believed in "lesser races". Queen is nice to peasant Bronwyn for all of 30 seconds until she can put a man of royal descent on the throne. Fuck royalty, kill all kings.

Fun fact: The initial survivors of Pompeii who didn't get off the island all died from pyroclastic heat in the next day. There's no Humans or Orcs surviving Mt Doom. DOOOOOooooom! Also I survived Mt St Helens (hundreds of miles away), and I can guarantee you it just shat grey ash on the ground, it didn't apply an orange filter to everything. Fuck Hollywood cyan/orange. I haven't mentioned the fucking 'obbits, because they do nothing, the wizard did nothing.

Elrond lurking around the Dwarfs, "Man king" lurking around the Elf court, 'obbits and wraiths lurking around the wizard, Queen lurking around the sea captain. None of these are good ideas. Clearly everyone would be better with their own, and the Elfs would all sail West, and there'd be no wars without them picking fights. So many preachy "nobody seen the trouble I seen" speeches.

The Three Rings of Power scene should've played the Airwolf theme, in honor of the greatest "engineers worship their creations" scene of all time.

Endless flute playin' music as 'obbit can't go off the track. I 'ate 'obbits. Uh, and showing NZ square pastures delimited by trees, which seems unlikely for empty woods.

Pacing really sucks, there's as usual 4 eps of content in 8 eps of streaming, would get ★★★★½ if it was edited down, barely ★★★★☆ as is.

Compare it to The Witcher. S1 was excellent, Cavill likes being Geralt, the plots were largely from the books, bit disorganized, should've just followed the Surprise. S2 was meh, went off-books, Cavill sorta saved it. S3 was off-books shit by the incompetent producer, and S4 won't have Cavill. It's down >50% from S1, instead of building audience.

Rings of Power succeeds where it goes off-book. Except the 'obbits. Murderhobo Galadriel was fun.