Firmament

Earlier this summer I played Firmament, the new puzzle game from Cyan, the creators of Myst.

I love these sorts of games, and I wrote about what I like about them a few years ago in the context of Zed. I enjoy a mix of puzzles, setting, and story, which Cyan has historically been good at providing. I backed Firmament on Kickstarter as soon as they announced they’d be doing a Mac version, having also backed their previous game, Obduction, which I enjoyed a lot, though I thought it had a few flaws.

Firmament modifies the traditional point-and-click interface with a device the player uses called an Adjunct, which they use to connect to sockets throughout the game which provides some additional flexibility in how the player interacts with the world. It also both makes it clearer what you can interact with, but it feels somewhat limiting since everything has some small variation of the same interface. I’ve seen it theorized that the Adjunct mechanic was created to make the VR experience of the game better or more consistent or something. I guess it’s possible, I dunno. Maybe that was a concern 4 years ago when they started making the game?

A spoiler-free review first, and then some further thoughts:

The setting for Firmament is that you wake up from long-term sleep and are greeted by the Mentor, who appears to be a ghost of your predecessor. They’ve woken you up and advise you from time to time. The world consists of three settings, an ice zone, a botanical garden, and a sulphur-based power plant, along with a central structure1 called The Swan. You travel between them via conveyance pods, and have two waves of tasks to accomplish on each world to get to the conclusion.

There are basically three sorts of things in these games that I dislike: Puzzles that are too hard (this is obviously subjective), having to walk back and forth a lot to solve a puzzle, and things that are hard to see. Firmament has a few spots where there were things I just couldn’t see and I had to use a walkthrough – a video one in one case – to figure out what I was missing. This is frustrating because it feels like I just was never going to figure it out on my own. The game does pretty well on the other two points, although there was one puzzle I didn’t so much figure out as stumble into the answer for. Better lucky than good, I guess?

The game’s weakness, I think, was its story. Since Cyan’s games are solo endeavors with little capability for you to interact with anyone in the game, they all take place in environments where the people who used to be there are gone, and finding out what happened to them is part of the adventure. Firmament feels pretty thin, here, as the Mentor and one other character are the only ones you learn much about. There were clearly more people around, but we learn very little about them. I think they could have threaded more characters and more events into the game and provided a richer story to explore. As it was, it definitely felt less sophisticated than Obduction.

(I’m inclined to think that the use of AI to assist in generating parts of the game are not really at fault as this article thinks they might be. I think they just didn’t spend enough time coming up with enough story to make it satisfying.)

I think the game took me about 15 hours to complete. I did run into one bug, but it turned out not to affect me in that puzzle. Other people have run into more serious bugs, but they’ve been fixing them. If you enjoy games like these, give this one a try, but temper your expectations, especially if story is your main interest.

A few more spoilery comments after the cut:

Continue reading “Firmament”

What Next With COVID?

As I said last time, it seems like just about everyone has put COVID behind them in their behavior: Hardly anyone is masking or physically distancing anymore, and I don’t see many mentions of it other than on social media from the few people who are still taking those precautions.

I see close to zero reports these days of how many cases, hospitalizations or deaths there are from COVID. Since it’s been over 9 months since the last boosters were authorized, and previous evidence was that boosters lost most of their effectiveness after about 6 months, I was wondering what the numbers are.

Today the San Jose Mercury News published this article: New record lows for California COVID hospitalizations. Will it stick?

The number of patients with the virus at California hospitals reached a new low this month since the start of the pandemic, with just 611 reported on July 2.

Statewide, before this summer the previous low was 1,170 people hospitalized with COVID in June 2021. Now, totals have been less than that since early June.

In November 2021 I wrote a piece here titled “This is as Good as it’s Going to Get”. When I first drafted this post I thought it held up pretty well, and was maybe a bit optimistic. But based on the Mercury News article it’s looking a bit pessimistic, at least for the general population; the spectacular failures to support people such as the immunocompromised have been well documented.

I do find this a little surprising: The Omicron variant and its many sub-variants are the dominant strain of the virus, are massively transmissible, and haven’t gone away. But maybe they’ve been evolving to be less severe, and maybe the spotty vaccinations we’ve had have been good enough to gradually suppress the virus. I dunno.

Another thing I saw recently is this thread on Mastodon:

Mastodon post by Pavel A. Samsonov (1/2):

Techies perennially yearn for an org culture where their pure, intellectual work is cleanly separated from meetings and politics, where ideas win on their merit and "the work" is entirely solving technical problems.

Such an environment cannot exist, for 2 important reasons.
Mastodon post by Pavel A. Samsonov (2/2):

1 There can be no universal benchmark that defines "the best idea." When people get together to decide on the best thing to do - that's called politics. This goes for both solutions and problems. A brilliant solution to an irrelevant problem is bad.

2 The merit of a solution is 1% cleverness and 99% execution. Something that is out there and working suboptimally is "better" than an elegant idea that never got off the ground. Measuring on intellectual purity alone asks us to ignore actual impact

The first post is context, but the second post applies as much to our COVID response (as a society) as it does to the original topic:

People aren’t masking, they’re not physically distancing, and many people are not getting boosters and wouldn’t even if they were available. (And that’s just in the United States. I imagine it’s similar but more so in countries where those things are actively hard to do.) None of that is likely to change unless the current environment significantly changes. While encouraging people to do those things – especially getting vaccinated, which is a very low-intrusiveness part of the solution – is fine, any real solution is going to have to be implemented in the context of how people are behaving and are likely to behave. Because a solution which can’t be implemented is not a solution.

Personally, I’d like to see the FDA authorize twice-a-year boosters for everyone and encourage people to get them. And I’d like to see tests be made more widely available and covered by insurance so people don’t need to worry about access to them. (More info about how reliable they are would be nice, too. Last I heard tests were only about 60% accurate against Omicron.) I think those would be the most effective first steps, followed by covering wages for people who have to skip work because they get sick.

Alas even that seems like a stretch in the current political climate.

Tumultuous Trip

We’re back from a week and a half vacation to the east coast. It was… quite a ride, enough that I kinda feel like I need a vacation to recover from my vacation.

I don’t often talk about it here because it feels like not-so-humble bragging, but we have a vacation house in Massachusetts. It’s in a pretty great location, and we bought it to keep it in the (extended) family. We got a pretty good deal on it, but we learned a couple of years ago that part of the reason for that is that it needed some deferred maintenance. We hired a really excellent contractor, but the project kept getting bigger for various reasons, and ultimately it turned into a major remodel, which is just now finishing up.

Our trip back in May was partly to try to finish preparing the house for this trip. We found that there was more to buy than we’d expected, and so we’d planned to spend the first couple of days on this trip buying and assembling furniture, and unpacking the house.

The plan was to fly out on a 6 am flight on Tuesday, June 27. We were going with friends of ours and their kids, to spend about 2 weeks at the house.

Everything went sideways when Debbi and her friend found out around 11:30 pm that our flight had been cancelled due to extreme weather on the east coast. Worse, we weren’t able to rebook until Thursday. So we spent a couple of days kicking around home before we were able to leave. And even then our flight was over 2 hours delayed. We landed in Boston a bit before 11 pm. On the bright side, the rental car kicks are pretty quiet at that hour, so we were able to get our cars smoothly and get down to the house by 12:30 am. We spent an hour and a half looking around (and figuring out how to turn the lights off) before going to bed.

Unfortunately this meant we’d lost over 2 days of prep time, so we had to shuffle around and compress the work we’d planned to do. We went to IKEA and Target on Sunday, assembled furniture over the next few days as time permitted. Especially on July 3, which is when the area where our house is holds its Independence Day celebrations, presumably because people want to drink and then sleep in on the Fourth. (Because when people are shooting off fireworks, you definitely want those people to have been drinking.)

Among this I also mixed in a number of trips to visit my Dad. His story isn’t mine to tell – I don’t think he’s ever been very comfortable with me writing about him online – but he’s needed assistance from me and my sister Katy recently. So I made several trips up to visit. But I also got to see my sister and nephew, who came down one day to see our house. Seeing them all was nice, but it was a hectic time.

We also spent a lot of time with Debbi’s family, who all came over at various times to visit. I missed seeing a couple of them because I was off taking care of business. Maybe next time.

The weather was a little iffy, always warm but not too warm, but with humidity that came and went, and showers from time to time. We did get a few nice days to spend at the beach, though.

Our friends left us on the second Friday to spend the weekend in Boston, which they wanted to play tourist in. So Debbi and I had a quieter weekend. But it turned out my friend Karen and her beau were also visiting Boston this weekend, so they came down on Saturday to hang out. We hadn’t seen each other since before the pandemic, and it was great to see them.

Speaking of the pandemic, it’s clear that almost everyone has put it behind them at this point. Few people were masking anywhere we went, including in airports, and no one was physically distancing that I could tell. We wore masks a bit for the first few days and then ditched them. I’ll likely write something else about this in the near future. I am looking forward to getting another booster, though, and wish they’d make them available to everyone twice a year.

The trip ended, unfortunately, with another flight delay. We didn’t get back to San Francisco until nearly 11 pm on Monday night, and were totally exhausted by the time we got home and went to bed. The cats were really, really happy to see us, of course, and our friends who care for Domino when we’re away were happy to keep him a couple of extra days so the cats could have some dedicated time with us. But of course he was really happy to see us, too.

Anyway, it was a good, productive trip, but not very restful. Hopefully we can do something lower-key later this year. Once we recover from all this air travel.

It’s COVID!

We recently spent a week in Massachusetts visiting our families, taking care of some tasks around our vacation home back there, and helping my dad out with some stuff. It was my third trip back in the past year, and Debbi’s second. The flights were routine, we had some good meals, and got to experience a nice day of rainfall amidst the cool-but-not-cold temperatures. It was a pretty hectic time, so not exactly a relaxing vacation, and not quite as productive as we’d originally hoped, but I think we got enough done.

Our trip’s gift to us when we returned was COVID. Debbi had been feeling pretty blah for several days, and I started feeling it myself. We both tested – twice – and I tested pretty strongly positive, while Debbi tested negative.

Both of us are as fully vaccinated as we can be, given that the FDA hasn’t yet approved another booster for people our age; we had our latest booster – the bivalent variety – last September before our previous trip.

We’d both describe our symptoms as that of a cold. I’d call mine a moderate cold: It peaked Thursday evening with sneezing and congestion and a mild headache, but otherwise has mostly been some tiredness and coughing. I’d have stayed home from work for a couple of days if I’d had these symptoms before COVID. Debbi’s symptoms have been more severe and longer-lasting, but basically the same kinds.

By the time I tested positive, Debbi’s symptoms had been going on too long for her to qualify to take Paxlovid, but I contacted my doctor and got a prescription for myself. I’ve heard different things about its effects, the most common being that it gives you a bad taste in your mouth while you’re taking it. I’ve had this occasional sensation of something in the back of my mouth, like a bad-tasting chalky antacid coming back up, but it’s been pretty ignorable. Otherwise it seems to be doing its job, although it’s hard to be sure since my symptoms were not severe in the first place. If this had been a normal cold, this is basically the arc I’d have expected.

So we hunkered down for the long weekend. We did a pick-up order from Safeway, which went smoothly. I made Indian food for dinner, coffee chocolate chip ice cream for dessert, and scones for breakfast. I also mowed, and this morning went running for the first time since we got back. Debbi took Domino for morning walks. And we got plenty of sleep.

I spent a lot of the weekend playing Firmament, the new game from Cyan Worlds, the makers of MYST. It’s their first release since the excellent Obduction, and is very much in the same vein. I’m enjoying it, and will probably write it up once I finish it. It took me about 20 hours to finish Obduction so if Firmament is similar then I’m about 40% of the way through it.

I spent most of today sitting on our couch on the back porch, with Domino lying next to me, playing the game. It was pretty much perfect weather for it. Not bad for Memorial Day, all things considered.

We tested again this evening. Debbi tested very, very slightly positive, so faint we had to look closely. My line was still pretty clear, but not nearly as strong as last week. So it’s going to be at least a week of working from home. Hopefully by next weekend we’ll be clear.

As I’ve said before, I expect almost everyone on Earth is going to contract COVID multiple times in their life going forward (barring an unforeseen development), unless they are truly isolating from the rest of humanity. We’ve avoided it longer than most, but this starts our counter. Fingers crossed that neither of us have any long-term symptoms. No one I know who’s contracted it since the advent of the vaccines has any long-term effects that I know of. But check back in 5 or 10 years to see how everyone’s doing.

Dr. Marvin Morillo

This is Teacher Appreciation Week, with National Teacher Day being tomorrow, so I figured it’s time to finish this entry about a teacher of mine who’s been on my mind recently.

I wasn’t a very good fit for Tulane University. But no other college I applied to thought I was a good enough fit to accept me. So in the fall of 1987 off I went from Boston to New Orleans, the land of heat, humidity, booze, a high murder rate, conservative politics, and seafood, none of which agreed with me. (Okay, I came around on the booze, to some extent.)

Very much on-brand for me as a teenager, I had little idea how to get started in college. I took computer programming (they wouldn’t let me skip the intro class, even though I already knew everything in it and did well on the AP test), German (a year off from it in high school did nothing for my already shaky grasp of the language, and it was my last hurrah at trying to learn something other than English), studio art, and English.

Dr. Marvin Morillo was the teacher of that freshman English class. My recollection is that he was an older man of average height (which is to say, several inches shorter than I was), with white hair and a goatee. I now know that he turned 61 at the start of the semester.

My memories of college are at the point where they’re fading and merging together, and so are no longer very trustworthy. I recall the classrooms in the English department building were often small – holding maybe 16 people – arranged around a large table, with soft lighting and a lot of wood decor.I don’t really remember any of the other students in the class, and I don’t clearly remember the books we read anymore either, but I know there were four, of which two were Hiroshima by John Hersey, and Gulliver’s Travels by Jonathan Swift. I thought one was called The Infinite Journey, but I can’t find a book with that title which matches my memory of it. I think the fourth had something to do with space. Only 4 books across 12ish weeks of classes, but that meant we could get into them in depth. I had been generally uninspired by my high school English classes, and I didn’t have the learning skills to know how to get value out of them. This started changing in this class.

In particular Hiroshima is an extremely powerful chronicle of the aftermath of the dropping of the atomic bomb on that city, and Dr. Morillo did a fine job of taking us through the events of the book, and reinforcing the book’s point that this must never be allowed to happen again. Honestly he started the class with the best stuff, and the later books felt weak by comparison.

I’d like to say that I have keen memories of lively debates about the books in the class, but I don’t. That’s what I’ve got left, 36 years later. But I felt like I connected strongly with Dr. Morillo, and I started swinging by his office from time to time over the next few years. He had a small office which I remember being lined by books in bookcases, with a desk at one end by the window, and a lounge chair for visitors. I don’t remember what we talked about any longer, but I know I always enjoyed visiting, and he was always open to my visits if he wasn’t busy.

In hindsight, in my late teens and twenties I befriended several older men who I learned from. Three of them were friends I met through Amateur Press Associations, and all of them were generalists, with a variety of interests, often with connections among those interests. The impression in my memory of Dr. Morillo is that he also had a breadth of interests, and that we’d end up talking about nothing in particular whenever I’d visit.

But he was also a Shakespeare professor as his main focus. By senior year I was deep in my major in computer science, and was looking at a year of nothing but programming and related topics. Figuring I should have a little bit of variety, I signed up for Dr. Morillo’s senior Shakespeare class in the fall, and enjoyed it so much that I signed up again in the spring.

In contrast to the freshman class, this was a lot of reading – more than a play a week (and it focused on the plays, with only a little time spent on the poems). This was more than I could get through, especially when we got to the long plays (Hamlet, King Lear and Richard III), so I concentrated on the ones I knew we’d be discussing in class or had to write a short paper on. Nonetheless, I had a great time. I had by this point been heavily involved in criticizing Star Trek: The Next Generation on the USENET newsgroups, which might have helped me hone my critical literary skills that I could deploy in these classes.

I have two enduring memories of these classes. The first was of being cornered by a group of women who asked me who I was having showed up in these senior English classes when they hadn’t seen me before as they’d been going through their major. I told them that I was a CS major and that I was taking these classes for fun, which I think annoyed them somewhat (I guess the classes had a reputation for being hard).

The second was of sitting outside the English department in mid-December (New Orleans, remember? I may have even been in shorts), when Dr. Morillo walked up and asked what I was doing. I said, “I’m trying to get through the plays I wasn’t able to read during the semester, before the final.” He replied, “Well, I’m not sure if I should applaud you for trying to finish all the reading, or upbraid you for not finishing it when it was assigned.” Chuckles all around at that one.

And yes, I got A’s both semesters. I’m pretty sure I didn’t get an A in the freshman class, but I’d learned a lot in three years. Mostly about how to study.

My favorite Shakespeare play is Richard II. “Don’t you mean Richard the Third?” people ask when I say this, but no, I actually think III is pretty tedious to read. I appreciate in Richard II the inevitable downfall of, well, everyone involved: Richard is a bad king, and he’s overthrown because he’s a bad king, but the Divine Right of Kings dictates that England will be in a bad way because of his overthrow, culminating in the detestable Richard III. So it’s a bad situation with no good solution (within the parameters of Shakespeare’s setting), and its events lead to 7 more plays of troubles until things are finally resolved. It appeals to both the structure wonk in me.

I’ve never seen the play performed, and maybe it’s just no good on stage, but it really captured me in class.

I think I went by to say goodbye to Dr. Morillo when I graduated. I have a dim memory of doing so, but at this point maybe it’s more of a memory of intending to do so. I hope that I did.

Recently I was curious to find out what happened to him. He retired just a couple of years after I graduated, in his mid-60s, and moved to Washington state, where he lived until he passed away in 2015. It sounds like he had a good life after Tulane (as, to be honest, have I). I regret not thinking of trying to reconnect when I had the chance, and that my memories of him aren’t clearer but I’m glad to have known him.

Rough Season For Local Coffee

One of my many habitual behaviors is that I drink coffee most weekday afternoons. When at the office we usually walk over to Philz Coffee, though occasionally we go to Starbucks or another independent store. I had a little victory there last fall when I complained through the Philz app that the store’s outside seating was in poor repair (mostly plastic chairs and tables which were falling apart), and within a couple of weeks they had replaced most of them with sturdy metal chairs and tables. I’m taking full credit for that one.

When working at home I’d drive to Philz Coffee on Middlefield Rd. in Palo Alto, which I discovered during the pandemic. One attraction for that location even in the pre-vaccination pandemic days was that they have two nice patios with ample seating, and even over the winter it can be a nice spot to hang for 10 minutes or so as long as it isn’t actively raining.

Sadly, in early February the building which housed that Philz had a major fire, which also destroyed the Bill’s Cafe location two doors over, which Debbi and I had started patronizing for lunch last fall. Reportedly the fire started in the dry cleaners, and also damaged the liquor store which was the fourth tenant. Sadly, I expect the building will be razed and replaced with something else, likely pushing all the tenants elsewhere. There aren’t really any other retail buildings in that area, so if any of them move and re-open, it will probably be at least half a mile in either direction on Middlefield, and probably in not-as-nice a spot.

So I’ve been really missing that Philz the last couple of months. I’ve been driving down to the Philz in Sunnyvale, which also has ample seating, but in a large and usually empty public plaza, which is neither as comfortable nor as interesting for people-watching. Plus it gets cold when the wind blows! I also go to the nearby Starbucks when I don’t feel like driving that distance. (It’s only a few minutes further than the Palo Alto Philz was, but somehow that makes a difference.)

On top of that, in mid-March Philz’ main roasting warehouse had part of a roof collapse in one of the intense wind storms the area experienced in late winter. (We had three sections of fence come down at home, and several extended power outages.) Worse, one person was killed by the falling ceiling. Consequently, all Philz locations have been gradually running out of beanz, until finally last week they only had one or two varieties left. Which made me even less motivated to drive there.

It sounds like the warehouse is ready to re-open, so things should improve. But it’s been a rough winter for my usual caffeination spots.

Now if Bill’s can just find a convenient spot near us to open a new restaurant.

What a Week

It’s been a rough time around here at Château Whatever-We-Call-Our-House lately.

For me, the rough part actually started exactly two weeks ago, when I woke up to what turned out to be a pinched nerve in my right clavicle, with accompanying soreness there and down my left arm. Coincidentally this was just over 14 years since I had a pinched nerve in my neck on the right side with very similar symptoms. The difference is that last time I found a way to hold my head which could relieve the pressure temporarily, while this time I found one somewhat awkward position (holding my left arm up and bending it to touch the back of my neck) which provided a little relief, but not a lot. And it wasn’t conducive to, well, being able to do anything else. It was also worse when I was seated while driving. It was bad enough that it was disrupting my sleep.

Coincidentally I had a doctor’s appointment scheduled for Friday, where my doctor – who I’ve had for 20 years – prescribed the same thing he’d given me last time – methylprednisolone, a cortical steroid. I started the treatment on Saturday and slowly felt better over the next few days.

I also learned that I am probably developing tinnitis, which stands to be somewhat annoying, although my brain already seems to be rewiring itself to ignore it pretty effectively. It’s also been coming and going, so who knows. It beats the alternative, which apparently is that hearing sounds can be associated with cardiovascular problems. No, thanks.

Should I be feeling old now? Honestly I feel rather lucky: I could be dealing with much worse. I am so over this nerve pinch, though.

The next thing arrived on Tuesday, when a rain storm followed by an incredible wind storm knocked out power at home, and at work, and in large swaths of the South Bay. It also knocked over two sections of our fence. This has happened before, about 8 years ago, and we’ve had a number of posts replaced since then since the original builder did a poor job of putting them in cement. But it seems there’s yet more to do.

The power was projected to be out until Friday night. We picked up dinner both nights, and went to bed early. The animals were very confused. Debbi’s office had power, so she went to work on Wednesday while I walked to have breakfast at Hobee’s, and then cut back the jasmine on the fallen sections of fence so the repair guy could examine it.

A downed fence is not very compatible with a dog who spends a lot of time outdoors. Domino was actually really good about not going into the neighbor’s yard, though he was curious. (His yard is also fenced in, but not necessarily dog-proof.) So I took his 30-foot leash and attached it to our outdoor couch, which did a pretty good job to keeping him from wandering.

We charged our phones and watches from our laptops – since we weren’t really using them anyway. My comic shop guy even let me charge the laptops at his store when I went over on Wednesday.

Happily, the power came back on Thursday morning, a day and a half ahead of schedule, and I was able to go back to work, too. But we did throw away a lot of refrigerated and a little frozen food. (Our chest freezer in the garage did a good job of keeping everything solid, though.) I made a grocery store run to replace most of the food we’d tossed.

Friday the fence guy came by to give us an estimate, but also the bad news that they were scheduling out in May already. Boo! He said they were so busy they might start working Saturdays and might be able to fit us in that way. So this weekend we went to Home Despot and bought some temporary fencing. I mowed the lawn for the first time this year and then put it up. Domino was a little baffled but didn’t really test it. Debbi also bought a cable with a corkscrew anchor to attach him more firmly.

Finally, today while I was out for a post-lunch walk, the fence guy called Debbi and said they had an opening today. By the time I got back they were already setting up. So I grabbed some shears and cut away the rest of the jasmine blocking one of the posts they had to replace, and by the end of the afternoon our fence was back!

Amidst all this I’ve also been working on pulling together taxes, paying bills, and trying to have a little fun here and there as well.

My nerve is not entirely better, but it’s not significantly affecting my sleep (just annoying it a little). Hopefully it will clear up over the next month or so, and that it will be more than 14 years before I get another one.

Anyway, I think I’m ready to sleep for a week or two.

What Mastodon Needs

I’ve been on Mastodon for about two and a half months now, which I think is long enough to have formed some opinions about where it could use some improvement. (“Where Mastodon Could Use Some Improvement” is a less-catchy title than “What Mastodon Needs”, though.)

Things are starting to move a bit faster in Mastodonia, since Twitter has started blocking its third-party client APIs, which killed off my preferred Twitter client, Tweetbot, a couple of weeks ago. Consequently, I have barely logged into Twitter since then, since as I’ve written before, the official Twitter client just isn’t good enough. And not supporting Elon Musk: Space Nazi is a side benefit.

So like many others I have just moved my microblogging over to Mastodon.

Some people who fondly remember the early days of Twitter (n.b.: I am not such a person) are excited about this period on Mastodon because we’re starting to see more client apps appearing in app stores. For example:

Aaron Ross Powell (@arossp@mastodon.social) toots: I love that I have half a dozen #Mastodon client apps installed on my phone, they're all under active development, and they all have as many (or more) features as the official app. It feels like the early days of Twitter apps, but without even the possibility of the rug getting pulled out from under it.
Federico Viticci (@viticci@macstories.net) toots: What a time to love indie apps. Third-party Mastodon clients are bringing back a sense of curiosity and excitement I hadn't felt since the heyday of Twitter clients in 2009-2011.

What am I missing? Are you working on one not on shown here? I'd love to know.

Time to work on a story

While this is exciting, for people like me it’s also a little concerning: I’m not going to use or even try every client that comes out (probably ????). I’m going to settle on one, and probably fairly soon, and it’s going to be the client that provides the best user experience for me, and which has the features that aren’t part of Mastodon itself which I really want.

When I wrote my initial post about Mastodon two months ago, I was using Metatext as my iOS client. That app’s developer has stopped developing it “for a while”, so I switched over to Toot!, which I like a lot and which is under very active development. Meanwhile the situation on macOS is still quite dire. I’m still using Mastonaut, though I really tried to use Whalebird for a while, but it has a lot of polish issues which pushed me back to Mastonaut even though its dev has stopped supporting it (because he now works for Apple).

One of the problems here is that interoperability between these apps is only what the Mastodon server software supports, so switching back and forth between them is awkward at best. So I think it’s really important for the Mastodon server software to start ramping up significantly to add features which will be widely-used. I don’t have any real visibility into how often it gets updated, or how many people are actively working on it, but hopefully we’ll see a lot of movement this year.

With that as a preamble, here are things that I’m really missing in my Mastodon experience:

1. Remembering my reading position: John Siracusa summed this up well:

John Siracusa (@siracusa@mastodon.social) toots: I think all Mastodon client apps should at least have the option to resume reading your timeline from the last place you left off. A surprising number of them seem not to.
Some don't even preserve your position when tapping "load more" or similar when some posts are missing above your current position.

I know not everyone reads their entire timeline, but one of the advantages of a chronological, non-"algorithmic" timeline is that people (like me) who do want to read everything can do so in a straightforward way...provided apps track and respect my last-read position.

Also, I'm told that the Mastodon API supports a last-read position, so, in theory, this state could be preserved across Mastodon client apps. Instead, it's often ignored even within a single app, let alone across apps.

Toot! remembers your position in any given instance of its client, but it isn’t synced to your other devices using Toot!, much less to other clients. Toot! sort of helps with this by not showing you every single toot in your timeline as you scroll up from your last position, but letting you click “load more” as you scroll up. It’s the bare minimum, but it’s not enough. Mastodon should remember this on the server side and let all clients access it. And it should remember it for other timelines (Local, Federated, Trending, and Lists) as well.

(I have no idea how Twitter or its third-party clients handled this. I suspect Tweetbot remembered this position and synced it to other instances of its client via iCloud, but I don’t know. And it doesn’t really matter how it works, just that it should work.)

Toot! did add an unread count to the timeline recently, which is really nice, but still not quite enough.

2. Lists need a more prominent UI: Toot! has a pretty nice UI on the iPad for accessing lists:

Toot! app list UI for Mastodon

The lists are shown right in the sidebar, as are saved hashtag searches. Very convenient (or it would be if I actively used them – more on this in a moment). This might not scale if you have a lot of these things, but some sort of disclosure UI would probably do the job, and there might be even better ways.

By contrast, here’s the UI to access lists in the Ice Cubes app on iPad:

Ice Cubes app list UI for Mastodon

You have to click on the Home dropdown, click on Lists, and then select a list. This is so hidden that I’ll probably never use it. It needs to get rid of at least one click.

The UI in the Mastodon web interface is so bad I’m not even going to screenshot it. It’s not worse click-wise than Ice Cubes, but it’s much more obscure.

If Lists are going to be useful then they need to have a prominent UI. Each client should keep this in mind. I also like the model of pinned lists in both Tweetbot and the official Twitter client.

3. More powerful muting of users: This is a key feature to make Lists useful. Right now when you add someone to a list they also stay in your main timeline. If you mute them, then they get muted everywhere. This makes Lists basically useless to me: The whole point of lists for me is to disperse the people I follow.

In Tweetbot I did this with selective muting: I could mute a user from my main timeline, from lists, or from searches. Usually I’d mute them from my main timeline and show them everywhere else. It seems that Tapbots’ upcoming Mastodon client Ivory is going to have a “Filter User From Home” option:

Screenshot of Ivory's Filter User From Home option.

This will probably meet my needs, but it’s something else that the server software should handle. (I did a search a while back and found a commit to the Mastodon source from a couple of years ago which seemed to be exactly this, but it doesn’t work so it might have been backed out.)

And this is the sort of thing which is going to lead to client lock-in where people like me who rely on this functionality will not only not try clients which don’t support it, but will be reluctant to switch clients at all because we won’t want to spend time reconstructing our mute lists.

(As a small aside, Tweetbot had an annoying behavior when you turned off retweets for a user in that it would only apply to the main timeline and not to lists. This made for a pretty crappy experience for how I used lists and led me to unfollow some users who retweeted a lot. More control here would be nice, but “turn off boosts everywhere” should be the default behavior if we can only have one.)

4. Bookmarks should have a more prominent UI: Mastodon has separate “like” (called “favourite”) and “bookmark” functionality, which is great since it was never entirely clear on Twitter when you Liked something if you were expressing approval or just saving it for later. (I used Likes as bookmarks and rarely liked something I didn’t want to save to find later.)

Unfortunately Bookmarks in Mastodon have a pretty hidden UI. Most clients seem to only let you access them from your user page, and don’t have a button to bookmark a toot – it’s hidden under a “more functions” popup. I think Bookmarks are likely to be a desirable feature that lots of people will want to use and they should get a more prominent UI.

dougal (@dougal@mastodon.social) toots: I wish #Mastodon clients would make #bookmarks a first-class toolbar feature, alongside commenting, favoriting, reblogging, and sharing. One use case that happens for me a lot is to see a reference to an article I want to read. But I'm busy right now and I don't want to decide whether to star the toot until I've read the article. I want to bookmark it so that I can find it again later, so having that feature immediately available
saves me trouble and time.

(All of this might indicate that Mastodon clients will want to provide some sort of configurable interface so users can set things up so they can easily get to the features they want and put the ones they don’t behind a menu. For example I almost never look at the Federated timeline. We’ll see.)

5. Saved searches: As seen in the screenshot above, Toot! has a nice feature to save searches which as far as I can tell is exclusive to Toot!, and isn’t synced at all. This isn’t essential to me, but I used it sometimes on Twitter, and Mastodon’s hashtag-based searching is really handy in directing you to toots that are highly likely to be of interest, so I would love to see this get server support.

6. Filter by toot type or content: This was a nifty little feature of Tweetbot where you could filter whatever you’re looking at to see only tweets with media, or without replies, or various other options. I used it some and while it wasn’t essential, it was really useful when I did.

It’s definitely true that Mastodon – despite being almost 7 years old – both has a lot of room to grow, and is well-positioned to see many exciting and useful innovations in the near future. But I hope the server software authors and the app authors will keep these features in mind, as I think for many mid-range users like myself (and maybe some power users as well) there’s going to be a limit to how fully we’re willing or able to engage with Mastodon without features which significantly improve our ability to control what we read and when, and how much effort we need to put in just to get to the new material.

I expect we’ll see a lot of innovation and competition in the client space this year, but if we get to the end of 2023 and we haven’t seen at least one or two of the early items on this list knocked out on the server side, then I’m going to be pretty disappointed. And I bet there are other features I don’t even think about which are important to others to have on the system.

(P.S.: I despair that we’ll get a good Mac client any time soon. But I’d settle for an iPad client I can run on Apple Silicon Macs.)

Fifty-Four

I think it’s been a while since I’ve posted a photo of myself here, so that’s me up there, a few days after my actual birthday since I’m back-dating this entry. My hair has been doing some funky things in the front lately, it’s continuing to gray in little bits around the edges, and my face is developing those telltale signs that I’m not a young guy anymore. (The furrow between my brows is especially annoying.) I thought about being artsy and doing this in black-and-white, but that made me look terrible, so instead you get to see the color of my current favorite shirt. And my apparently larger-than-I-realized forehead.

Anyway, John Scalzi posts a portrait of himself each year on his birthday, so maybe I should do the same.

My birthday fell on Martin Luther King Day this year, which meant 3-day birthday weekend! Saturday we watched the 49ers obliterate the Seahawks in the playoffs (sad Pete Carroll is best Pete Carroll), and in the evening we went to dinner at Sundance the Steakhouse, which was as good as I’d remembered. We’d only gone once since the pandemic started – when they still had an outdoor seating area the winter of 2020-21 – and I’ve missed it.

Sunday we went over to visit our friends the Hoffmans, where Domino got to play with their pups, including their current foster pup who I think needed to get some orientation to other dogs. It has been raining like crazy in California for the last month, and there was more rain on Sunday, so everyone mostly stayed inside. I played Magic with their son D which was fun – introduced him to a different 2-player draft format – and then they made pot roast for dinner and a chocolate cake for dessert.

We had a quiet Monday, and Debbi made a cinnamon Chocolate Chip cake for dessert, which ended up especially moist and yummy. We ate some while watching Moon Knight as we’re still catching up on television series from last year.

I used to throw parties for my birthday, but even without the pandemic I think I’d enjoy having low-key ones, as I do in reality. I miss holding our summer open house parties, but otherwise I’m happy to see friends in smaller groups these days.