ux is not optional

Apache OpemMeetings has been released, and just…look at the screenshots on the landing page.

File Explorer

That’s just a single example. If all of them looked like this — objectively not good but consistently not good — that might be something. But of course, none of the other screenshots look like this. They’re all awful in completely new ways.

Many years ago a coworker wanted to use some janky open source tool for some internal backoffice stuff we needed. It looked just as bad as this, but their reaction was something like: who cares what it looks like? It does what we need, and it’s free.

We build web applications.. We should have a developed aesthetic sense for the tools we build and live with every day! If I shipped something that looked like Apache OpenMeetings to my users, I’d be ashamed at best, and likely I’d lose some users.

Let me be clear: UX is hard. Complex UX is very hard, and making a complex workflow simple and beautiful is an entire career path, you can spend your life learning how to do it right. Apache OpenMeetings is likely volunteer-created, and very few UX masters are volunteering their expensive time.

But there’s a huge difference between “mastery” and “basically trying” and they didn’t shoot for either.


nope, microsoft is still awful

Not to spoil it or anything, but now that my son’s tooth is finally taken care of, I can focus on the important things.

Like how much Microsoft Teams sucks.

Look, it’s got some good ideas. The integration with the calendar is great. The video calling is as good as I need it to be.

But that’s about it.

Its concept of “channels” is confusing — they’re just named group chats? I was never prompted to choose who to invite.

The “feed” is just confusing. This isn’t social media, I don’t need a chronological list of who reacted to which of my things when.

And it’s just so horribly buggy. Half the time my Linux client decides to use inputs/outputs/cameras that it says its not using, or it just ignores when I try to change those. And lest you think it’s just Linux, my fully-updated Windows 10 machine different issues! The UI frequently juts stops responding, and this morning I couldn’t get it to connect to video chat at all, just five seconds of nothing then a mysterious error dialogue asking me to try again in a few minutes.

Is it the worst software ever? No, I’m just stressed and frustrated and bitching. But still, this seems like low-hanging fruit and if I felt like burning some VC money this is how I’d try it.


extraction needed

My 8yo went in for a tooth extraction — he couldn’t clean around his braces and one of his baby molars rotted.

Turns out he’s too much like me, and the multiple injections of anesthetic he received didn’t completely do the job. Last report I got, he was in tears, refusing to open his mouth anymore.

They’ve referred him to a pediatric joint that can put him to sleep while the tooth is extracted, which wasn’t even on my threat radar for this.

Super hard to focus on minding his 4yo brother, or on how I’m gonna get any real work done this afternoon, when I’m worrying about how my eldest son.

Update: Literally as I was writing this, the report came in that the tooth has been extracted successfully!


gearing up

It occurs to me that the last time I posted an “oh yeah gearing up for this new position” post — a post which is thankfully bitrotted away — that the position in question had a lifetime you could barely measure in days.

But I suppose I’m a creature of habit, and so be advised: I’m gearing up for this new position. New notebooks and a fresh bottle of Noodler’s Bernanke Blue. Writing notes by hand with a good pen has always been the best way to internalize stuff for me, and the ritual of buying new notebooks helps me settle into the right mindset.

On Monday, I’ll start as the Director of Engineering with Prescribe Fit. I’m nervous, I’m excited, and we’ll see if I can beat my previous record.


how is it almost august

Updates from the compound!

This morning I’ve learned how to on-line rescan a virtual disk so that the Linux server picks up size changes, re-size the underlying partitions, and also tell the LVM setup to resize so that I can actually use the new capacity I added to the VM three days ago that was never utilized. I swear I never want to admin servers but I always end up building and adminning servers.

I also made coffee, which was kind of weak tbh.

Just finished a reread of KITCHEN CONFIDENTIAL which is one of those “once every year or so” books for me, and I’m starting in on THE BALLAD OF SONGBIRDS AND SNAKES, because I was such a dork for the original HUNGER GAMES series and I was shocked to learn this prequel came out! I’m not 100% sold on the protagonist being the cruel dictatorial leader from the original books, but I’m giving it a shot.

Gonna go clean a kitchen and try to figure out how we’re going to manage our two kids’ schooling in the fall since my country is now run by incompetence.


gotta go fast

Or, in my case, painfully slow. I haven’t actually been outside on a run in years, but I went out this morning. I think I jogged/walked maybe a tenth of a mile? My GPS tracking failed miserably, so I don’t actually know, but for my dilapidated body it was a decent workout.

I gotta fix myself now, while I’m in my 30s and it’s easy. Or possible. Otherwise I’ll wake up in my fifties, completely unable to bend at the waist or move quicker than a gentle trot.

Also I gotta clean the kitchen today because I left it an absolute wreck. But I am pleased to report the brisket turned out amazing — less pepper next time in the rub, which was just salt and pepper to begin with, but otherwise my first 16-hour brisket smoke was a success!


kamado diaries

Stayed up until the wee hours of the morning trying to stabilize temp on my big-ol’ Kamado so I can smoke a brisket up all night. I’ve never tried Brisket before, it’s typically pretty expensive and hard to manage, but my brother convinced me to give it a go.

Of course the fire died, and now I’m awake and grumpy. I pumped some air into the bottom of the Kamado to try to get the existing fire hotter, but it needed more. Kamados don’t have separate fireboxes, you build the fire at the bottom of the “egg” then put the diffusers/grates/food on top of that. Which means if you need to maintain the coals? Off come the food, grates, diffusers if you have them, then you can play with it, then all back on.

Also it’s raining.

Stay tuned for Ep 2 in this series, “Why I’m frustrated that my brisket isn’t good.”


wrong neighborhood

These geese are patrolling the neighborhood, just waiting to catch the wrong person in their territory. I’m not super street-smart or anything but I know enough to stay in my doorway and not cause these toughs any trouble.


focus, shifting

So I probably won’t get back to streaming on Twitch anytime soon. I had a good clip going, but it’s hard to keep up sans interest, and when my routine’s been interrupted for so long it’s hard to get back into the swing of it.

Streaming only really works if you’ve got folks who are interested in watching. It’s a surprising amount of work, and if you can’t be consistent it’s hard to build an audience. And it’s looking like for now I’m unable to be consistent, so.

I’d like to continue doing stuff with my setup though. Longer form video stuff might be the ticket there — not “watch me do this thing live” but “after I’ve figured out this thing, watch me do it and explain it in one or more scripted video sequences, with pauses for explanations and stuff.” It’s less conditional on the time of day, too — if I’m streaming at 3:00pm EST, and you’re busy working, you can’t watch live, which kind of matters when the goal is live broadcast.

Not saying I’ll never do any more live work, but for now it’s looking like I’ll be trying some new stuff.


streaming / trickling

I’ve been streaming software development stuff for a while now.

I started just writing a meaningless Ruby app, but that wasn’t fun for anyone — even me. Then I pivoted to writing a Jackbox-style Jeopardy clone in Phoenix LiveView. Not only does this let me get some more experience in a language I haven’t used, it’s also just plain fun.

Hard to keep going though.

The past two weeks have seen significant disruptions to my streaming schedule. Family plans, technical difficulties, and once just plain old “eh, don’t feel like it today.” Whatever minor viewership I’ve managed to build isn’t going to last if I can’t keep to a published schedule.

I’m considering moving back to longer-form, recorded video. It’s more work up front vs. just slamming the “BROADCAST INIT” button on the StreamDeck, but also there’s a longer tail on each. Folks can watch, enjoy, subscribe based on a video I published years ago.

Or maybe the trick is to only stream once a week but to make it a more polished product? Right now I’m winging each and every stream. I have a vague idea of what I want to do with the code, but no idea of how I’m going to accomplish it. Half the time I run into a bug that takes half my time budget to fix anyway.

Maybe I should spend the week putting together an outline for how the show should go, do a little rehearsal so I can do what I intend to do, get the production values up a little — my [streaming setup]( is pretty beefy as it stands but I could use a decent intro/outro and my main layout could also use some lovin’.

All that to say, if you like what I do, hit me up and let me know.