Lessons from Gutenberg

The codebase of Gutenberg is difficult for all of us, because no one in the wpa11y team is a skilled React developer. So it was hard to implement changes and write PRs ourselves. What we could do is test, tell what’s wrong and what it should be and hope a developer would pick it up. A lot of a11y work has been done by the Gutenberg team but major issues still exist.

The results indicated so many accessibility issues that most testers refused to look at Gutenberg again.
—Rian Rietveld

Note "a11y" means "Accessibility", because of course we don't write it all out.

All of this suggests that Gutenberg was pushed out because it was useful in business competition with SquareSpace, not because it helps any WordPress users. The classic rich text editor was fine for many newbies, and then they'd graduate to HTML or Markdown, neither of which are rocket surgery, when they needed more control.

Despite my heavy use of JavaScript, I've never touched React. It seems to be an attempt to combine a native UI model with web rendering, which is an utterly alien environment. But there are minimal React a11y guidelines; many of these seem tedious to implement, like those dropdowns, but not impossible. This likely would've gone better with static HTML and normal JS controls where necessary to create blocks.

WordPress updated

Went ahead and updated to 5.0. And immediately hit a "No update required" bug, had to shell in and disable the cache. Great testing, Automattttttic.

Took a look at Twenty Nineteen theme, but even after completely customizing the CSS, it was screwing with my layout in unpleasant ways. In 2019, blog columns are 640px wide, instead of 840px in Twenty Sixteen! Nope. So updated 2016, restored my Fake Emoji Fuck Off, more custom CSS, and things are back to normal.

I'm ignoring Gutenberg for now, but Jetpack's got a Markdown block, so that may usable someday.

Am I really better off with this giant pile of junk, instead of going back to blosxom or some other static generator? I could write my own in a week. Well, I would miss media management. Automatic reposting to Mastodon and Twitters; I could script that myself, too, but Twitter's hostility to APIs means I'd be constantly fixing it or cutting off Twitter. So I'll stick with this for now.

WordPress: Gutenberg

In brief: I tried to use Gutenberg for that, and it's fucking garbage. It repeatedly failed to load, just a blank page, and then after a couple tries it came up. It recognizes pasted-in Markdown, but doesn't let me write in Markdown. It makes half the window unusable whitespace instead of more editor. So I've installed the Classic Editor plugin. Why the fuck would they make their editor less usable?

Post-Facebook Microblogging

So, you've deleted your Facebook, Twitter, and Google accounts and all of their apps, right? Where do you social?

First, I'm the most technical boy in town, but you don't have to be for any of what I'm going to tell you. This is all fairly easy, even for a normal Human.

Second, you will have to learn things. You'll need to set aside a day or two to read, make decisions, go look terms up. I know learning is hard and scary, but go look at a motivational poster and do the thing:

I am a tiny cactus and I believe in you. You can do the thing!
original

Third, I'm on Mac and iOS; I have complaints with current Apple, but it's still the slowest-sinking ship. That said, you may be using Windows, BSD, Linux, or Android. Most of this is completely platform-independent, and there are some apps for other platforms.

Fourth, some of this costs money, up front for new software, and every month for hosting. As I have previously noted:

"If you are not paying for it, you're not the customer; you're the product being sold."
—Andrew Lewis

  • Search: So, first, set your browser to search with DuckDuckGo. Google is just as bad as Facebook. In Safari, hit Preferences ⌘, > Search tab > dropdown. In Chrome, Preferences > Search engine > dropdown.
    • Now anything you type in the address bar goes thru a search engine that doesn't track you. And there's neat tricks in DDG: Type "!w blog" to see the Wikipedia page on "blog". Type "!g porn" to search Google if DDG's results aren't good enough, tho mostly they are.
  • Blog. I'm using DreamHost managed WordPress, found a nice domain, paid, and was up and running in a few minutes (new domains take a few hours to appear everywhere on the Internet; but while you wait there's plenty of setup and writing to do).
    • There's other options, but whatever you do, make sure you have your own domain name; the WordPress.com free blogs are not bad, but the site is owned by Automattic, not you. Own your own thing, but it's OK to let someone manage it if you can move it somewhere else.
  • Theme: I went with the Twenty Sixteen theme because it looks most traditional blog-like. Twenty Seventeen seems to be more business-oriented. Try both, and other themes, and see what you like.
    • The side menus are a pain to set up: WP Admin > Appearance > Menus, then Appearance > Widgets to create a widget showing that menu. Ask me or someone else with a blog you like, if you need more help; this is all fussy, not technical just annoying.
  • Social: I'm currently using micro.blog (MB) for a social network. Register, choose the "I already have my own microblog." option, the RSS feed is the "Entries RSS" link on your WP blog.
    • Add some WordPress plugins: Micropub, Webmention, Semantic-Linkbacks. These let replies from MB appear as comments under posts, with avatars and names, just like you can see here.
    • You might want to set up WP to "Publicize" to Twitter, and Mastodon Autopost does the same thing for the Fediverse. Alternately, MB can be paid to crosspost to Twitter.
    • I use the MB iOS and Mac apps for posting quick items, or the web site (WP Admin > Posts > Add New) to post here. I'm editing this in the browser, because WP's "classic" editor is OK; I'm scared of the next-gen editor but I'll see if I like it.
    • MarsEdit has a better Mac editor, and posts to all sorts of blogs. But if I'm on the Mac, the web page is fine.
    • I'm still using Fediverse/Mastodon some, and I want that to become bigger and more widespread. But be aware that the site admins have a lot of power, and there's no privacy. I'm likely to set up my own Pleroma instance just for myself so I control my Fediverse activity, and I don't like Gargron's Mastodon tech junkpile/stack.
  • Photos: The MB app does OK at posting photos. Not great, I take photos with Camera+, edit, save, then open the MB app and click the photo button; the share action didn't work when I tried it, but I think that's an iOS 10 issue? Tap tap tap tap stroke tap turn-crank tap tap tap.
    • Sunlit is the other app from Manton Reece (guy behind MB), formerly for App.net (which we all miss), and now a general-purpose photo-blogging tool. I'm not really into it yet, but if I was photo-blogging a lot I would be.
  • Messaging: Facebook can read every message you ever sent thru FB Messenger. Probably not a person (but they can, it's just in a database any FB dev can read), but a program can know everything about you. DELETE THAT SHIT.
    • You can use Email for initial point of contact with people, but realize that's not secure, either. Use iMessage, Telegram, Signal, maybe LINE, maybe WhatsApp (warning: owned by Facebook, so they can still read the metadata of who you're calling), for safe, secure chat; these use end-to-end encryption so nobody, not the company, not the NSA, not a fucking advertiser, can read your messages.
    • Skype, Slack, and Discord are nice for public chat, but realize these are NOT PRIVATE. They have access to everything you send, and of course everything is hosted on their servers. IRC is a complex service, it can be made secure, but any public instance is not secure.
  • Reading: So if someone's on micro.blog, you can just follow them, and see all their posts, and reply/comment on their posts as if it was Twitter.
    • Anyone who hasn't joined MB, you need to find the RSS feed link on their site, and add it to a feed reader. I use FeedBin and think it's worth paying for.
    • Reeder is OK, and runs on iOS and Mac. I like it less than the FeedBin web interface, but YMMV.
    • There used to be a great Mac app called NetNewsWire. It was then acquired, killed, rewritten badly, beaten, chained up, and abandoned to die in a corner with only the rarest bug fixes. I do not recommend the current version in any way, total catastrofuck.
    • Brent Simmons has a new app in development, Evergreen, but the alpha requires High Sierra, and I'm still on Sierra. Still, I expect this to be a good app sometime.

That gets you independent, publishing, and reading posts again, without a scumbag owning everything you do. I'm sure there's a ton of other things you're going to miss, and if you've got questions, ask.

Fake Emoji & "Smart" Quotes Fuck Off

WordPress does a lot of things, not always well, but better than other blog platforms. But occasionally it runs amok like a toddler on espresso scribbling over your stuff with crayons and shitting in corners before falling down in a huff.

Today, it decided to replace my emoji with terrible little pictures again despite using the Disable Emojis plugin, so I gave up and edited functions.php (Appearance, Editor). And took this opportunity to uneducate my quotes so you can actually use code I paste without having to run it thru BBEdit's "straighten quotes" text menu. I didn't invent any of this, but it's all buried in obsolete version advice.

Add this:

// Fake Emoji & "Smart" Quotes Fuck Off
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
add_filter('emoji_svg_url', '__return_false');
add_filter('run_wptexturize', '__return_false');

Sláinte 🥃