WWDC 2020 Liveblogging

As posted on appdot.net:

Apparently I'm watching all of WWDC on my phone, because it's the only current OS version device in my house, and of course a course table and video player only works with the absolute latest updates! F'shaw, like last year's OS could handle a scrolling table?! Or video streams?!

Brings up George Floyd… but not . Some kind of fund for black developers is a good idea, but no details yet.

COVID, but nothing about the contact tracer or anything productive.

So now Craig.

"App Library" is like my page of folders auto-filled. With Apple Quality AI®, I'm sure. Probably not.

Widgets, OTOH, is a "finally!", move usable widgets from the dashboard to pages.

PiP, great. Had that on my TV 40 years ago. Everyone except me hated me using it to channel-surf while waiting for ads to end.

Siri: 25 billion requests per month. 3B of those are me "set a timer for 3 minutes".

Universal translator! That's actually pretty cool. I was gonna snark, but if it's even 75% accurate it'll make phrasebooks obsolete.

Oh god Memoji. The hideous ingrown noses are super goddamned offensive to those of us with a real beak.

Ha ha maps and travel. As if. Just cancel this section until next year, guys. And by then, the Eugenics Wars or Terminator Uprising will have started. Won't be no Paris to visit.

Car stuff, I don't care. I replace a car every decade if that, I'm still using a tape adapter to play from my phone. And if I was getting a new car, I'm not a big enough asshole to get a Beemer.

OK, App Clips is like the Watch app-lets, but virally distributed by NFC or QR code. Not web tech or anything convenient.

Apple Pencil, remaking the Palm Pilot or Newton UI from the '90s… today!

AirPods are not "magic". They are bluetooth devices which can make me nauseous and vomit when the audio delay gets high or out of sync. I loathe this whole idea of wireless audio.

I've worn an Watch since launch, and it's a great watch… All the stuff past time, calendar, timer, talking to Siri, kind of irrelevant to me.

Sleep tracking's maybe a little judgy for me, I know I have erratic sleep and a machine's not going to make it better.

"self-report" privacy report. So it'll all be complete lies. You can't trust marketing scum.

Home. Yeah, no, never letting a machine control my house. I barely trust light switches or the garage door remote.

What is this "Foundation" show? There's a woman in it. There's no women in Asimov's Foundation! (OK, there's 2 or 3 in the later books)

Why is it all dark and grim, cyan/orange tinted? It's a book of conference room meetings.

Oh, fuck. "Entirely new design". Big Sur? Seriously? I still think Weed was the best California name they should've used. Maybe Barstow if they wanted to go more Fear & Loathing.

"Buttons appear when you need them" = invisible mystery meat icons. Just what I never wanted.

They did the translucent menu bar back in Leopard? It was unusable.

And yeah, great, more shit moving into my menu bar, or a fake-Dashboard in Notifications. I liked the old Dashboard, one F-key or hot corner. 10+ years ago!

If I thought it'd be as reliable as Leopard, I'd be less wary.

Advanced new controls in Catalyst like checkboxes: Just like 2005!

Safari: Hey, the one mostly good product Apple ships. Let's not fuck it up too much, guys! Kick Chrome for being a slow fat-ass while it's down, that's smart. I like that.

I just want my adblockers to block all the ads, guys. I don't need fucking Yahoo! home page in Safari, I need the NY Times paywall to go fuck itself.

Recipe filter? What. Be serious.

Do I love tabs?
% safariCountTabs.applescript
Window #95 = 31 tabs - Window #99 = 5 tabs - Window #98 = 23 tabs - Window #97 = 26 tabs - Window #102 = 15 tabs - Window #103 = 14 tabs -

How's your update gonna work with this madness? And I cleaned up last week! It was twice as much!

All right. The thing that matters.

"Transitioning to our own custom silicon".

I guess "Fat Binary" is politically incorrect for fat-shaming, all-dancing, exercising Apple. So it's "Universal Binary 2".

And yes, of course they used the new hardware for the demos, that's a good old Apple stunt.

Seems like it's working full-speed. Which if it's compiled for the device, it should be.

I'm more concerned with what happens to non-native apps? OK, "Rosetta 2".

All right, what devices, how much, and how soon, Craigy?

Yes, yes, I played this shitty Tomb Raider reboot on the PS3. I care about code, not Lara's pixelated ass. Nor about running iOS apps, I have a phone.

Hm. Dev kit? I'm still very negative on Swift, but maybe I'll live (or find practical ways around that). If they're gonna make good new hardware, and I do like many of the things in Big Sur. They just went from "no plan, last year's tech, no future" to having a future.

Might be time to revise my plan, move my current iMac to Windows for games, use an ARM Mac for work and get back to shipping Mac/iOS stuff?

SteamVR Drops Mac Support

Now, that's just their VR headset, which is an extremely low-volume, 1% of the market gadget; VR's kind of awful in practice, but it keeps being "useful next year" for the last 40 years, and someday it'll be right. Steam as it is, >50% of the games I look at have a Mac version; it's not dead yet, but it definitely smells bad.

I blame Apple and their terrible support for gaming, in fact overtly hostile attitude. They like the PR opps at WWDC, and they like taking 30% gross profit of gachapon/IAP ripoff games made by Chinese clone factories, but never do anything after that, never provide game dev support on the platform, or put gamer GPUs in common hardware. They do not hire gamers or game developers, and they fired all the engineers in upper management, so it's just sales weasels left. And then killing 32-bit app support in Catalina just put a knife in any classic gaming.

The Mac used to be fun, a great desktop UNIX workstation which could also run a fair amount of games. Now, nothing works.

Elder Scrolls Online on the Mac is a pain in the ass these days, about half the updates make your camera spin out of control because ZOS doesn't have a Mac developer or any testing, either, they just rely on a cross-compiled build and push it out.

The suggestion to use Windows Boot Camp is just a giant middle finger, but what else are you gonna do?

Well. Given my plan to switch my workstation to FreeBSD when Mojave is EOL, I may accelerate that to this year, and have a partition for Windows just to play games. Which is stupid, but there you go, this is the dumbest, worst decade already just 4 months in, so why wouldn't computing be as bad as everything else?

Certainly anyone who uses Windows to try to do anything productive is… well, more masochistic than I am. It's just unbelievably awful and un-designed. I have a VirtualBox of it that I use for some testing, and it's like a 10-year-old read about CP/M, windowing systems, and bad middle management systems like stack ranking, coded it in BASIC and C, and then billions of dollars of business software and games were run on it. No part of that is a good idea.

Linux is so unbelievably awful; it's a half-assed server or embedded system, but not engineered for safety and reliability like a real UNIX workstation, the desktop is even more amateurish, and "business software" for it is comically bad. I'm not going to do that for a few half-working games.

But here we are. If I want to play games other than Animal Crossing, I suck it up and run a garbage OS as a partition.

Programming on Your Phone

Pythonista lets you use your pocket UNIX workstation as a workstation. I use Pythonista, if not every day, very heavily on the days I use it. As always it's crippling of Apple that there's no upgrade pricing, so I can't give him more money every year that I keep using it. The new keyboard module is an interesting script launcher, but I already wrap a bunch of utilities in a main menu program.

There should really be more of these mobile programming environments. In the early days, Apple severely restricted you from shipping one; you could kind of cheat with JavaScript, and a few games snuck in some bytecode interpreters, but scripting was right out. They loosened up eventually, but are still dicks about you saving code anywhere it could be shared, so for example I have to keep my Pythonista stuff in iCloud, not DropBox where it'd make more sense.

  • Panic's Coda and Coda for iOS (née "Code Editor" WTF) is the only other one that's really functional; I've built real web sites out of it, but I mostly use it for ssh. Sweet baby Cthulhu, I hate Panic's crooked-text "designer" sites, I hit Reader view on those instantly. Designers shouldn't be allowed access to CSS or JS.
  • Hotpaw BASIC still works (as does his Chipmunk BASIC on the Mac), but hasn't been updated in 2 years. Not that I want to program in BASIC, but it's better than no programming at all.
  • The iPad used to have a very nice "BASIC!" (with a structured BASIC and a bunch of system functionality), and a very limited "iSkeme" (scheme interpreter, R5RS-ish? with nothing but text I/O), but they were killed in the 64-bit-pocalypse.
  • Workflow (née Apple Shortcuts) is great for putting a few tasks in a row but you'd go insane trying to write anything complex from drag-and-drop clicky boxes.
  • Apple's Swift Playgrounds on iPad is a tutorial, not really usable for applications AIUI.
  • There's a bunch of "kids learn to code!" apps that are mostly ripoffs charging $60/year to play robot tanks. Do not buy anything like this.

I dunno if the 'droids have anything comparable, I'm sure they can root their phone and try to use vi in a busybox shell, but that's not a reasonable work environment for a thumb-sized on-screen keyboard.

Apple's Bug Bounty

Yo I'm'a be a bounty hunter like Boba Fett when he was still cool, yo!

"It sounds like you don’t get paid until (and unless) Apple fixes the bug."

HA HA HA HA HA HA HA HA!

Radar.

HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA!

Oh, you're never getting paid.

Apple Music Replay

I don't at all like that it's buried in the beta webapp. But it works, once you get thru Apple's aggressively defensive login system (which, sure, it protects all my stuff; be defensive).

So clearly it only tracks Apple Music playtime; I mostly use my local music library. Anything here is stuff I don't own, or on an Apple playlist. And the two extremes: '80s pop music, and '90s industrial/metal. I don't understand some of these, why are there 5 plays of Rammstein's DEUTSCHLAND but nothing else off that album? I much prefer Engel.

replay2019-songs

replay2019-artists

What I'm Playing: Mostly iOS Edition

Apple Arcade

  • Various Daylife: Previously described, an RPG life simulator. Slow, tedious, but mildly interesting. Worst title of any game I've heard of. Mediocre.
  • Chu-Chu Universe: Yes, this is another Chu-Chu Rocket, in 3D with shitty controls. I like the slow logic puzzles, but I've played the better version of this game hundreds of hours on the DS (yes, I hear you, two lonely Dreamcast users out there), don't really need a new one. Also, it makes my iPhone 8+ extremely hot along the top-right corner; GPU-heavy with no way to turn that off? Mediocre.
  • What The Golf: Sort of a ripoff of Desert Golfing with a mini-golf course and QWOP or RSSS style physics antics. I'm easily amused by bad physics games, they remind me of Waterful Ring Toss from my childhood. Nice.
  • Sayonara Wild Hearts: Very pretty neon style. Unplayably sluggish movement even at "high" sensitivity setting, forces you to sit through minutes of slow dialogue about hippie tarot bullshit before you can play anything. Deleted after one track. And I like endless runners, so if that's not your thing it'll be even less pleasant. Fail.
  • Inmost: Monochrome pixely, but pretentious starting text "is a moving story of loss and hope, with themes". Incredibly slow, "platformer" but with very little platforming. No dialogue, tap or X does everything so you just have to pixel-hump targets and wait for the action to appear. Fail.

So far this is not a service I'll be renewing. There's nothing here I couldn't get better for that money.

Not Apple Arcade

  • World of Warcraft Classic: I was happy at the start, but rapidly got less so: The sharding is really interfering with gameplay, so I took a break, and then Blizzard decided they'd rather support the totalitarian citizen-murdering dictatorship of the Chinese Communist Party than one streamer calling for the independence of democratic Hong Kong. Just to make my position clear: Free Hong Kong! Break up China! Do not punish people for expressing support for democracy, you evil corporate douchebags. Yeah, they gave him back his prize money, but still banned him. Screw that. Cancelled my sub.
  • Elder Scrolls Online: ZOS has a new combat team this year, and they've ruined my Sorcerer build, even worse nerfs are coming in the next patch, and I don't want to pursue total changes to his skills, gear, and gameplay in hopes of maybe ever clearing content again. I was thinking about ending my ESO+ sub for a while, but then WoW blew up so I'm playing my Khajiit Vampire Mag Necromancer "Mortissa Kamidjanni" as main, and having a fun time again; ZOS haven't nerfed the new class yet, ha ha! (I also have a Stam Warden, who was born nerfed, and a Mag Nightblade which is usually the unnerfed class but I don't like the gameplay for that combo). ESO has four kinds of content: Overworld content, which has quests but combat is trivial and boring; Bosses (world or dungeon), which have no interesting quests, combat can be fun but often needs a group and I hate PUGs; Trading, which is slightly interesting but I'm obscenely rich in-game already; and Housing decoration, which is sort of the endgame when you have millions of gold. So my Necro kitty does some overworld quests to get skill points, mats, and recipes, then switch to my Sorc Elf to do housing. It's something to do. Good but so disappointing compared to what it could be.
  • Mario Kart Tour: It's Mario Kart with gacha-like unlocks. Just as stupidly unfair as ever. Mildly fun if you have no attachment to skill determining who "wins" a race. Recommended age range: 1-7.
  • Mirage Memorial: Big-titty waifu versions of historical and mythical figures (many are men converted to women… King Arthur, Edward "Blackbeard" Teach, etc wtf, but also Lucifer, Athena, etc). Unskippable tutorial with no choices for the entire first chapter, and every time a new feature unlocks. Combat is an auto-idler thing; you CAN turn auto off and hit portraits to activate a random skill, but that's it. Somewhat interesting character level-up system, no character is "useless" but may need a lot of grinding to build up. I did a level grind up to 17 in a couple hours while watching Netflix, got bored out of my skull, turned it off. I'm not saying avoid or delete this, but be aware of what it is, which is nothing.
  • Another Eden: Has had a couple new chapter updates, I intend to get back into this.
  • Last Cloudia: Just launching today, looks very pretty. Here's a beginner's guide

OS Compatibility and the Web

OK, not EOL yet, but soon. Long before any rational person would switch to an untested, incompatible new OS version. Among other things, anyone using Adobe software can't go to Catalina.

The policy I like is to support the last two or three major OS releases. There are good techniques in Objective-C to support testing for new features and falling back if you don't have them; I don't think most of those work in Swift, because Swift's an amateur hour language.

Happily, I use Feedbin to sync my RSS feeds rather than keep them all local, so when NNW stops updating I can just go back to a working web interface. Sad that Brent keeps resurrecting and killing his app, but that's what he gets for chasing Apple's tail.

This is why the web beats native applications. You can indeed make a better interface in native code; you can't maintain it, and you can't port it. The native dev is constantly chasing a new API that breaks everything past, and fighting with garbage tools like Xcode. The web dev just needs ed or another text editor, and only has to target the browser, which is a moving target but has backfills and a compatibility policy, and native browsers generally work on the last two major OS releases. Firefox is a UI shitshow, but still supports OS X 10.9 Mavericks (2013); Safari obviously is part of the OS, and the last few changes are making me strongly consider moving off it, but this Mojave version will keep browsing the web just fine long after Catalina is released.

The ideal of cross-platform languages ever since UCSD Pascal is to get the best of both worlds, write code once and have it compile and run everywhere, and ignore underlying OS changes.

Wait to Visit Catalina

I'm sure there's a hundred other pitfalls waiting. Anyone "upgrading" to Catalina on their main work Mac before at least a year is a lunatic. Half the software you use hasn't been tested on that, lazy devs will only now even be putting it on a second machine. You're a long way from safe.

Safari 13

So I hit upgrade, and I regret everything.

Obviously, this is the release where they break Safari Extensions, they now have to be apps. uBlock Origin is dead. I've installed Ghostery Lite for the moment but I have no real solution for the future; "uBlock" is an ancient unrelated fork that allows advertising, fuck those criminal scum.

The other thing is tab management is broken: Cmd-T now makes a tab after the current, instead of at the end of the tab list, so now my tabs are all but unmanageable. I'm going to file a Radar, but throwing bits down the black hole isn't going to fix it I think.

Right now it's churning with CPU time being wasted on background tabs, and I'm hoping that's just because I rebooted and reloaded all my tabs, and not something it'll continue doing.

% cat safariCountTabs.applescript
#!/usr/bin/osascript
set output to ""
tell application "Safari"
    repeat with i from first window's index to last window's index
        set w to window i
        set output to output & "Window #" & w's id & " = " & (count w's tabs) & " tabs - "
    end repeat
end tell
do shell script "echo " & quoted form of output
% safariCountTabs.applescript
Window #178 = 125 tabs - Window #170 = 2 tabs - Window #172 = 6 tabs - Window #173 = 18 tabs - Window #174 = 24 tabs - Window #175 = 16 tabs - Window #176 = 35 tabs -

(AppleScript problem: If I use & return or "\n" instead of " - ", they get converted to ^M on output. Is there a setting to make AppleScript not think it's on a '90s-era Mac OS?)

Yeah, obviously I could change to another browser. But I hate every other browser. Chrome's created and operated by a criminal, advertising-supported organization. Firefox is just awful to use, because everyone at Mozilla uses Linux and hates users. Opera's not terrible, but it's not good, and just a wrapper over Chromium so probably just as corrupted as Chrome itself.

NetNewsWire is Back!

I've been running it for the last day, and it's stable and fast.

Syncing to my Feedbin account works great; the Feedbin web UI is usable, but especially the last redesign leaves me somewhat annoyed, and it has very limited keybindings. NNW also has local OPML subscriptions, if you don't need to sync and don't mind waiting forever for it to fetch from every blog and deal with everyone's crazy broken RSS. I like Feedbin centralizing that nonsense, just replacing the UI has been a problem.

NNW has everything keyboard-driven, but I'm not enamored of some of its choices (Help, Keyboard Shortcuts). I'd prefer vi keys, and those are a dangerous habit with Brent's keybindings (l is mark all as read, next; k is mark all as read; I almost never want to do that, and want to hide those behind a warning). I'll either get used to them or see if I can rebind them from system settings. The code's on github, so worst case I can just fork it and hack my own keys in.

The reader's pretty nice. Stays in dark mode when I have that selected; I've seen a couple feeds insert their own background image/color which is obnoxious, but if that's what the feed contains, it should probably show it.

I miss in-app browser tabs. For webcomics (which rarely put full-size images in the feed) I often launch a bunch of them into their own tabs and then read them, which in Feedbin's web UI is (while more-comics? (middle-click title) (press 'space "next comic")) and in NNW is (while more-comics? (press 'b "open the current comic in browser") (press 'alt-tab "back") (press 'space "next comic")). Maybe it's possible to open a browser tab in the background?

A million times better than the years-late, rarely-updated Black Pixel release which had their own broken sync server.

Update: One feature I'm loving is drag-and-drop blogroll reorganization. Got a feed somewhere wrong? Drag. Drop. Synced. Fucking done. In Feedbin, you have to have the feed visible (unread or switched to "all" mode), the old way you'd hit Tags (folders) and just change the text in the dialog box, but they changed it to an Edit button which pops up a giant list of all your tags (folders) and you switch them on/off. Utterly awful if you use a lot of tags (folders) like I do. And yes, I'm annoyed perpetually by the "tags" concept, which doesn't exist in OPML, only folders.