What Would Get Me Back to Using Twitter Again

Congratulations, Elon Musk, on your purchase of Twitter. I’m sure you’ve got a bunch of ideas of how you want to move the company forward. I was once a user of Twitter myself β€” albeit not a massive one β€” and I’m sure you would just love to know what it would take for me to be a user once more. Well, here’s some advice on how you can improve the platform in ways that would make me consider going back.

First, you gotta work out the business model. This is number one as it touches on all the product decisions made to date. I think it’s clear that when it comes to Twitter, the advertising model is suboptimal. It just don’t have the scale, and the insatiable need for engagement is arguable one of the key reasons behind the product decisions that fuel the anxiety and outrage on the platform. I think the best thing you could do is drop ads completely and move to a different model. I don’t care what that model is. Subscription tiers; maybe a credit base system where you have a prepaid account and it costs you money to send Tweets based on their virality. Heck, you can fund it from your personal wealth for the rest of your life if you want. Just get rid of the ads.

Next, make it easy to know which actions result in a broadcast of intent. The big one I have in mind is unfollowing someone. I use to follow people that I work with simply because I worked with them. But after a while I found that what they were tweeting was anxiety inducing. So I don’t want to follow them any more, but I don’t know what happens if I choose to unfollow them. Do they get a notification? They got one when I started following them β€” I know that because I got one when they started follow me. So in lieu of any documentation (there might be documentation about this, I haven’t checked), I’d like to be able to stop following them without them being made aware of that fact. Note that this is not the same as muting them or blocking them: they’re not being nasty or breaking any policies of what they post. I just want to stop seeing what they post.

Third, about open sourcing that algorithm. By all means, do so if you think that would help, but I think that’s only half the moderation story. The other half is removing all the attempts to drive up engagement, or at least having a way to turn them off. Examples include making it easier to turn off the algorithmic timeline, getting rid of or hiding the “Trending Topics”, and no longer sticking news items in the notification section (seriously, adding this crap to the notification section has completely removed its utility to me). If I want the results to simply be a reverse chronological timeline of tweets from people I’m following, and notifications only being events of people engaging with what I post, then please make it easy for me to have this. This might means my usage may move from being less about quantity and more about quality, but remember that you no longer need all that engagement. You changed the business model, remember?

Finally, let’s talk about all the features that drum up engagement. If it was up to me, I’d probably remove them completely, but I know that some people might find them useful, and it’s arguably a way for Twitter (now under your control) to, let’s say, “steer the direction of the conversation.” So if you must, keep these discovery features, but isolate them to a specific area of the app, maybe called “Discovery”. Put whatever you want in there β€” trending topics, promoted tweets, tweets made within a specific location, whatever you want β€” but keep them in that section, and only that section. My timeline must be completely void of this if I choose it to be.

I’m sure there are others that I can think of, but I think all this is a good first step. I look forward to taking this onboard, and I thank you for your consideration. Honestly, it might not be enough for me to go back. I wasn’t a big user before, and I’ve since moved to greener pastures. But who knows, maybe it will. In any case, I believe, with these changes, that Twitter as a platform would be more valuable, both with you at the helm, and with back there with my 10 or so followers and my posting rate of 25 tweets or so in the last eight years. πŸ˜‰ 1


  1. This wink is doing a lot of work. ↩︎

Thinking about that last post a little more, maybe it’s just a matter of framing. After all, if others didn’t post about what they’re watching, reading or listening to, there would be a bunch of great stuff I never would have heard of or experienced.

I sometimes wonder, during days where I have very little to say, if it would be better to talk about something “trivial” like a new TV show I’m watching, or if it would be better to say nothing at all.

For want of a new tool, Xcode command line tools needs to be upgraded.

For want of upgraded Xcode command line tools, Xcode needs to be upgraded.

For want of an upgraded Xcode, MacOS needs to be upgraded.

And you can probably guess where I’m going with all this. πŸ˜’

Oh, I hope not.

An exceeding long download estimation

A few people I know are isolating due to Covid-19, so I stayed in last night. I rewatched Helvetica by Gary Hustwit. Last time I watched it was at the start of the pandemic, when Hustwit offered viewing it for free. Watching it again actually brought be back to that time.

Started reading: The Kaiju Preservation Society by John Scalzi. It was page 2, when I read the name of the mobile app the protaginst was working on, when I got good feelings about this one. πŸ“š

During the last four days, I drove home from Canberra (not a bad thing), my job went live with the project I’m working on, I intended the funeral of my grandfather who passed away last week, and I came in contact with someone who has Covid-19. One more day to go.

Just got my new passport today. Shortest six weeks of my life. πŸ˜‰

πŸ”— Facebook on 30 Percent Platform Fees: β€˜Hold Our Beer’

Meta talking about platform fees for the metaverse feels to me like a school rock-band talking about how they’d divvy up revenue from ticket sales before they get their first gig.

Went to the National Gallery of Australia today. Must say that I enjoyed it much more than I thought I would. I didn’t think of myself as someone who liked going to galleries. Maybe it’s just because it’s been a while since I’ve gone to one (last time was in 2017).

Trying to use GitHub Codespaces on an iPad. It sorta works. When it does, it works quite well. But there are times when the Enter and cursor keys just stop responding, and a reload of the page is required to get it working again.

I’m also a little surprised there’s no iOS app for Codespaces.

Good morning from Canberra. Photo’s taken just a little after 7:30 this morning.

Dad and I will be driving to Canberra today to spend some time with the family over the Easter long weekend. Estimate travel time is 6.5 hours, so the trip will pretty much take all day. Not that I mind. I do enjoy the occasional long drive.

Really enjoying the newsletter Speaking Tech by Michael DeHann. It reminds me a lot of Steve Yeggi’s Drunken Blog Rants.

The thing about Severance is, while it may be the case that those on the severed floor at Lumon are living through a mega-corp workplace dystopia, at least they get to keep regular working hours.

Started watching Severance yesterday and I got to say, it’s pretty good. Certainly something that grabbed me early, which is probably the reason why I couldn’t get into Ozark.

A Case For Mocking in Unit Tests

Here’s a short account of a realisation I had this morning on the occasional usefulness of mocks in unit tests. I’ve never been a huge fan of mocking in unit tests. The code to set them up is tedious to write, and tends to be very fragile. Any change or refactor you make to the module being tested β€” even if the behaviour doesn’t change β€” and all your tests break because the mocks are no longer called the way they were. This goes against one of the key principals of unit testing in my opinion, in that it is the behaviour of the module is being verified, not the actual implementation.

However, today I came across a case where a mock would have come in handy.

I was working on changes to a unit test for a module that interacts with DynamoDB. Because of my natural dislike for mocking, this tests was written to make use of a real client making reads against a “real” DynamoDB database, running in a Docker container.

Today, I had to make a change to the public contract: the addition of a field controlling whether the reads should be made with strong consistency or not. Given the nature of DynamoDB, this is something that only makes sense in a production setting, with DynamoDB replicas running within the vast AWS data-centres spanning the world. But for my lowly unit test, setting this field on my test DynamoDB instance would make no difference at all.

So how can I verify that the module I’m working on would actually make strong consistent reads?

This is my realisation in that you can choose to do thing’s a certain way, but there will always be trade-off. Using a “live” database would mean that much of the mock setup doesn’t need to be written, and that you are actually exercising the code which is making real calls to the database. But when it comes to asserting whether the actual calls made to the AWS client are correct; well, that will require intercepting them, and verifying that the passed in arguments are what you expected. Difficult to do if you are using a real client instead of a mock.

Love this remark from Gruber about the comment from Twitter about Musk’s board seat:

The first thing I’ll note is that Agrawal had to share the β€œbrief note” itself as a screenshot, because, well, Twitter only supports up to 280 characters in a post. Duh, right?

Could have been worse than a screenshot. They could have shared their brief note as a Twitter thread. πŸ˜„

Passport renewal forms filled in and sent away, along with new passport photos. Apparently there’s a bit of a backlog, and it will take six weeks for my new passport to arrive. I guess after the last two years, people are eager to get back to travelling overseas again.