My blog has probably shifted way too much to the political, but that’s how it goes in an election year. Personal blog, personal opinions. But I’ve got some new Micro.blog improvements to talk about this week! Starting tomorrow.
Chris Enns:
I wish we could have a day or two each month where we all collectively agreed to post about things we enjoy, love, appreciate, or celebrate. No rage farming, click baiting, or rants allowed. Just for one day.
That would be nice! I might fail at this test, but it’s a good goal.
Just watched Biden’s statement on the shooting. Very good. He is the President and our Democratic nominee. To me, the debate about replacing him is over. The campaign is chaotic enough already. I still think he can win, but it’s going to be close, and it’s going to be work. 🇺🇸
Saying that Trump is a threat to democracy is not a call for violence. He caused January 6th. He refuses to accept the last election or the next one. He is chaos. Even after being shot, he’s shouting “fight” to the crowd. Everything he touches becomes more dangerous. Vote. 🇺🇸
Just posted a new Core Intuition: A Billion-Dollar Flop. We check in about the Vision Pro, then think about how Apple plays the long game and what we can learn about balancing marketing features vs. app polish.
Rust judge dismisses the case against Alec Baldwin after prosecutors withheld evidence, saying:
If this conduct does not rise to the level of bad faith, it certainly comes so near to bad faith as to show signs of scorching prejudice.
This case always seemed unnecessary to me. There’s gotta be more pressing issues to tackle.
Here’s a sneak peek at a reorganized theme editor, moving a few things around to fix long-standing usability problems. When it’s ready (next week?) should be much easier to do quick edits without a bunch of clicks through managing themes.
Working on a couple different things, bouncing between them. One of those weeks where I can’t make up my mind what’s most important.
Joe Biden has always rambled, and it hurts him as he gets older. But here’s the deal. One candidate sounds confident but everything he says is nonsense. One candidate sounds mumbling but everything he says is correct. C’mon man! 🇺🇸
I’m going to watch Biden’s press conference in a couple hours. But I already know it won’t change anyone’s opinion unless Biden magically looks 10 years younger. Curious if reporters will try to ask any questions that aren’t about how old he is. NATO summit this week was kind of big news.
Insightful post by Jason Fried on “directional” decisions, the kind of decisions that are strategic and bring a lot of other smaller decisions along with them:
Make a directional decision and you’re now pointed this way or that way. Make a directional decision and you either shut something off or open something up. Make a directional decision and you’ll get a hundred no’s for the price of one.
When a product seems rudderless, it’s probably because there weren’t any of these decisions.
Love these upcoming covers for A Song of Ice and Fire. I never finished reading past book 2 years ago and would like to pick up the series again.
I think I’m going to love this USA basketball team. Nice move swapping in Derrick White. 🏀
The latest Washington Post / ABC News poll has the race tied. Voters thought Biden was old before, they still think that. Biden or Harris, the election will be decided by swing voters and misinformation. Millions don’t know he is convicted, don’t know about Jean Carol, don’t know about Roe. 🇺🇸
Morning work at Cherrywood Coffeehouse. You know it’s old-school Austin because just saw what looked like a tiny baby scorpion crawling underneath the windowsill. Crept away, so hopefully I’m wrong or it doesn’t stick around. ☕️
Dave Winer replying to my post yesterday:
The way the twitter-alikes do discourse is not the only possible way, and imho, and, as I’ve said before (in 2007!), most of what passes for discourse on twitter is actually spam, and that goes for Masto, Threads, Bluesky and Facebook (aka FriendFeed).
I’ve long thought that platforms should be free to evolve in their own ways. Just like we don’t need a monoculture of a single dominant platform, we don’t need a single UX either.
Looking at my tweets from 17 years ago, they often had no faves, no replies, and no retweets (which didn’t really exist yet). And it was fine. There was value even with very limited engagement, just as there is with blogging today.
Sad to see the TUAW archive taken over by… whatever that is. AI-slopified. Brings back a lot of memories, though, going back through the Wayback Machine. The interview of me at WWDC 2007 seems lost to time, into the void of wherever Blip.tv content went. Also a tweet from that week.
Ben Thompson on Apple joining and then leaving the OpenAI board:
…joining the board of OpenAI emphasizes the narrative that Apple needs OpenAI, suggests that OpenAI is far more integral to Apple Intelligence than it actually is, and puts Apple in the firing line for any future OpenAI controversies. This was a bad idea, and the company is right to back out.
In the short term, it sounds like the OpenAI integration in iOS 18 will ship months before the full Siri + Apple Intelligence is ready. So you could say Apple does need them. Long term, there will be less and less need for a partner.
Ben Werdmuller, linking today to a story on Ghost federation:
I’m also convinced there’s room for another fediverse-compatible social network that handles both long and short-form content in a similar way to Substack’s articles and Notes. If someone else doesn’t build that, I will.
Yeah, it’s weird how no one has built this and certainly no one has been actively hosting thousands of blogs with long and short-form content, a social timeline, and fediverse integration for years. 🤪
Here’s a screenshot of the new Get Info window in the latest Mac app for Micro.blog, released today. Makes it possible to quickly grab the auto-generated text for uploaded photos on the Mac.
Exhausting day yesterday so I crashed early last night. Unfortunately a couple of our servers crashed too. 🙁 Looking into options to prevent this.
Small fan I keep in my laptop bag. Doesn’t completely solve Texas summer but helps a tiny bit. Need to find a USB-C version. ☀️
Last post about Biden for a while. Dave Winer makes a point I’ve wanted to blog about:
- If Biden gets disabled, or dies, before or after the election – VP Harris steps up.
- Now everyone can relax.
I’m not worried that Biden will die or have to resign halfway through his term. That’s why we have a vice president. Kamala will finish the job, make history, then run for re-election. 🇺🇸
I’m starting to accelerate my challenge to visit all 88 state parks in Texas. Had a few slow months and realized it would take four years to finish at that pace. Way too long. I think two years is about right.
I have mixed feelings about where we go in the Democratic party. I think I’ll be relieved if Biden steps aside because it resets everything about this campaign. The people voted for Kamala Harris too and she will be able to articulate the message against Trump more clearly.
On the other hand, Biden has been a very effective president. He never gets the credit he deserves, and this post-debate rollercoaster is no exception.
I was thinking about one line from his interview last Friday. Asked about Mark Warner assembling senators to convince Biden to drop out:
Mark is a good man. […] He also tried to get the nomination too. Mark and I have a different perspective. I respect him.
Now imagine Trump being asked that question. Trump only cares about himself so he’ll quickly attack any perceived disloyalty. Maybe that difference in respect is partly why Biden has been so effective with bipartisan legislation. He’s been around a while. He’s pragmatic.
After the interview, I watched John Fetterman answer questions about his support for Biden. When Fetterman makes up his mind about something, he sticks with it. He couldn’t care less what you think and I sort of love that about him:
Donald Trump is back, and what do Democrats do? We panic and piss our pants. After a bad debate and after 34 convictions — felonies — the Republicans show up and they dress like him and go all-in on Trump.
Maybe we could learn something here and just say, “Stand by our president through this.” After 50 years, and after almost four years as a great president, I think he’s entitled to make his case after a debate that we can all agree was rough. But I know what that’s like. I am not the sum total of a bad debate, and certainly the President isn’t either.
Last week I grew increasingly frustrated with the opinions section of The New York Times. It felt like half their home page was opinion, overshadowing the actual reporting. I cancelled my subscription. There are many places on the web to read opinions. More than ever, we need major news outlets to focus on reporting, not influencing. (I’m going with The Washington Post for a little while. Let’s see how they do.)
People are worried that Biden might lose. Good, be worried. If more people were worried in 2016, Hillary would be wrapping up her 2nd term right now.
Lunch at LBJ State Park. Picked up a turkey melt sandwich from a food truck in Johnson City, Cast Iron Punk.
Joe Biden in a written statement today:
Not the press, not the pundits, not the big donors, not any selected group of individuals, no matter how well intentioned. The voters - and the voters alone - decide the nominee of the Democratic Party. How can we stand for democracy in our nation if we ignore it in our own party? I cannot do that.
If Biden is having trouble communicating on television, maybe he should write more. Seriously. If we want a reality TV star for president, there’s the other guy. 🇺🇸
Many of the hot takes about fair use for AI training are either “AI is stealing content” or “everything on the web is free”, but the discussions in between those extremes are more interesting. Let’s explore it with a thought experiment. This blog post isn’t a declaration that I’ve figured it all out. It’s just to get us thinking.
First, review how blogging and fair use has worked since the beginning of the web. Every day I read a bunch of news articles and blog posts. If I find something I want to write about, I’ll often link to it on my blog and quote a few sentences from it, adding my own comment. Everyone agrees this is a natural part of the web and a good way for things to work.
An example outside the web is Cliff Notes. Humans can read the novel 1984 and then write a summary book of it, with quotes from the original. This is fine. It also indirectly benefits the original publisher as Cliff Notes brings more attention to the novel, and some people pick up their own copy.
Now, imagine that C-3PO is real. C-3PO is fluent in six million forms of communication, and he has emotions and personality quirks, but otherwise he learns like the rest of us: through experience.
C-3PO could sit down with thousands of books and web sites and read through them. If we asked C-3PO questions about what he had read, and then used some of that in our own writing, that seems like fair use of that content. Humans can read and then use that knowledge to create future creative works, and so can C-3PO. If C-3PO read every day for years, 24 hours a day, gathering knowledge, that would be fine too.
Is that different than training an LLM? Yes, in at least two important ways:
Copyright law says nothing about the speed of consumption. It assumes that humans can only read and create so much, because the technology for AI and even computers was science fiction when the laws were written. Robots and AI cannot only quickly consume information, they can retain all of it, making it more likely to infringe on a substantial part of an original work.
Maybe copyright law only applies to humans anyway? I don’t know. When our C-3PO was reading books in the above example, I doubt anyone was shouting: “That’s illegal! Robots aren’t allowed to read!”
The reality is that something has fundamentally shifted with the breakthroughs in generative AI and possibly in the near future with Artificial General Intelligence. Our current laws are not good enough. There are gray areas because the laws were not designed for non-humans. But restricting basic tasks like reading or vision to only humans is nonsensical, especially if robots inch closer to actual sentience. (To be clear, we are not close to that, but for the first time I can imagine that it will be possible.)
John Siracusa explored some of this in a blog post earlier this year. On needing new laws:
Every new technology has required new laws to ensure that it becomes and remains a net good for society. It’s rare that we can successfully adapt existing laws to fully manage a new technology, especially one that has the power to radically alter the shape of an existing market like generative AI does.
Back to those two differences in LLM training: speed and scale.
If speed of training is the problem — that is, being able to effectively soak up all the world’s information in weeks or months — where do we draw the line? If it’s okay for an AI assistant to slowly read like C-3PO, but not okay to quickly read like with thousands of bots in parallel, how do we even define what slow and quick are?
If scale is the problem — that is, being able to train a model on content and then apply that training to thousands or millions of exact replicas — what if scale is taken away? Is it okay to create a dumb LLM that knows very little, perhaps having only been trained on licensed content, and then create a personal assistant that can go out to the web and continue learning, where that training is not contributed back to any other models?
In other words, can my personal C-3PO (or, let’s say, my personal ChatGPT assistant) crawl the web on my behalf, so that it can get better at helping me solve problems? I think some limited on-demand crawling is fine, in the same way that opening a web page in Safari using reader mode without ads is fine. As Daniel Jalkut mentioned in our discussion of Perplexity on Core Intuition, HTTP uses the term user-agent for a reason. Software can interact with the web on behalf of users.
That is what is so incredible about the open web. While most content is under copyright by default, and some is licensed with Creative Commons or in the public domain, everything not behind a paywall is at least accessible. We can build tools that leverage that openness, like web browsers, search engines, and the Internet Archive. Along the way, we should be good web citizens, which means:
This can’t be stressed enough. AI companies should respect the conventions that have made the open web a special place. Respect and empower creators. And for creators, acknowledge that the world has changed. Resist burning everything down lest open web principles are caught in the fire.
Some web publishers are saying that generative AI is a threat to the open web. That we must lock down content so it can’t be used in LLM training. But locking content is also a risk to the open web, limiting legitimate crawling and useful tools that use open web data. Common Crawl, which some AI companies have used to bootstrap training, is an archive of web data going back to 2008, often used for research. If we make that dataset worse because of fear of LLMs misusing it, we also hurt new applications that have nothing to do with AI.
Finally, consider Google. If LLMs crawling the web is theft, why is Google crawling the web not theft? Google has historically been part of a healthy web because they link back to sites they index, driving new traffic from search. However, as Nilay Patel has been arguing with Google Zero, this traffic has been going away. Even without AI, Google has been attempting to answer more queries directly without linking to sources.
Google search and ChatGPT work differently, but they are based on the same access to web pages, so the solutions with crediting sources are intertwined. Neither should take more from the web than they give back.
This is at the root of why many creators are pushing back against AI. Using too much of an original work and not crediting it is plagiarism. If the largest LLMs are inherently plagiarism machines, it could help to refocus on smaller, personal LLMs that only gain knowledge at the user’s direction.
There are also LLM use cases unrelated to derivative works, such as using AI to transcribe audio or describe what’s in a photo. Training an LLM on sound and language so that it can transcribe audio has effectively no impact to the original creators of that content. How can it be theft if there are no victims?
I don’t have answers to these questions. But I love building software for the web. I love working on Micro.blog and making it easier for humans to blog. Generative AI is a tool I’ll use when it makes sense, and we should continue discussing how it should be trained and deployed, while preserving the openness that makes the web great.
I wrote a weird blog post draft about AI last week that I wasn’t sure what to do with. Inspired by listening to the latest ATP in the car today to publish it. One thing that resonated with me: people have strong feelings about AI, but blog posts are a good way to explore what we think about it.
Enchanted Rock. It’s too hot today so I can’t be bothered to hike to the top, but it’s still nice.
Mark Gurman says that some of the core parts of Apple Intelligence will arrive with iOS 18.4 next year. This is sort of consistent with what Apple said at WWDC, but I think users will be confused that a new Siri is rolling out piecemeal.
Everyone who has implemented ActivityPub from scratch knows that there are implementation-specific quirks that trip up developers, making compatibility between apps more difficult. Some of these issues are being clarified by the Social Web Community Group. Test suites will help too. Micro.blog has had ActivityPub support for years and we’re still finding edge cases.
With Ghost making progress on adding ActivityPub, I tried following their first test account today and immediately ran into a small issue. It’s simple so I think illustrates the kind of problem that developers might hit. You only need to know what JSON looks like to follow along.
When you download an actor’s profile, you get a bunch of fields like the inbox to send requests to, the user’s full name, and the user’s profile photo. The photo is set in a field called icon (or image). If you skim through the ActivityPub specification, you’ll see this example:
"icon": [ "https://kenzoishii.example.com/image/165987aklre4"]
Pretty simple. The field is an array with a single URL to the image. But most implementations don’t follow that example. Mastodon and Micro.blog both use something like this, which is in the more complete ActivityStreams spec:
"icon": { "url": "https://micro.blog/manton/avatar.jpg", "type": "Image", "mediaType": "image/jpeg"}
Which one is correct? Both, of course! Back to the ActivityPub documentation for icon:
A link to an image or an Image object which represents the user’s profile picture
Now let’s check out what Ghost is doing:
"icon": "https://ghost.org/favicon.ico"
This is a third variation of the same field, this time using a simple URL value. Not an array and not an object with multiple fields.
As programmers, we often try to follow Postel’s law: “be conservative in what you do, be liberal in what you accept from others”. In other words, we should gracefully handle all these different JSON responses, but we should only send out the best one, the one that is documented by the standard. And yet the standard is itself not very explicit about this.
I’m not attempting to blame anyone for this. Certainly not Ghost who has just barely got their implementation up and running and will likely have many changes coming in the next few months. But if you imagine this icon variation spread out across the whole suite of specs — not just ActivityPub but ActivityStreams, WebFinger, HTTP Signatures, and others, with potentially dozens of minor differences — you see why interoperability has sometimes been a challenge.
The world has changed since The New York Times was founded in the 1850s. It used to be that opinion sections and letters to the editor were great places to hear a diverse set of perspectives. Now the whole web is that. Journalists are straining their credibility when we most need the facts.
The New York Times, The Washington Post, and other major news outlets should scrap their opinion sections. There are more than enough places on the web to hear what people think. Cable news is already overrun with non-news. Let’s refocus on reporting, not influencing.
We subscribed to the Alamo Drafthouse season pass for the summer. Makes it easier to decide to go to pretty much any movie. 🍿
Back from the early screening of Fly Me to the Moon at Alamo — fun movie! — and watched the Biden interview with Stephanopoulos. Not bad. Wish the convention was sooner so we could officially nominate either Biden or Kamala Harris and be done. 🇺🇸
Even folks who assumed the best intentions with Apple’s DMA compliance can surely see that the iOS “notarization” process is in violation of any reading of the DMA. Apple has created a new tier of app review. It’s wrong. See more with Epic Games on 9to5Mac.
I updated the Micro.blog for Mac app today. Several improvements including an easy way to just see draft blog posts.
A new spin-off project from omg.lol: Spake. This is similar to what we were trying to do in Micro.blog with microcasting. Short-form podcasts or audio narration for posts that are much easier to get started with.
Patriotic delivery robot. Kirk Watson and Lloyd Doggett spoke briefly after Mueller’s parade. Paraphrasing Doggett: we have a choice this year between democracy and a path leading to autocracy. 🇺🇸
What’s bothering me this week is that I’m feeling like I felt when we were in limbo between election day 2020 and when the votes were counted a few days later. It’s probably going to be fine, but maybe it won’t be. 🇺🇸
Nick Heer summarizes the OpenAI sandboxing news, initially covered by The Verge. I think the “security risk” of this is largely overblown. Many apps (including my own!) store files on your Mac with the assumption that no one else has access to your computer.
Finished reading: The Assassin’s Blade by Sarah J. Maas. A set of novellas that take place before the main series. 📚
After I blogged about a new text editor for Micro.blog, I ran into a couple tricky problems and work stalled. If 37signals does open source their Writebook editor, which I believe is the plan, I think I could use it with a couple tweaks. It’s pretty close.
Jason Fried introducing Writebook:
It’s a dead simple platform to publish web-based books. They have covers, they can have title pages, they can have picture pages, and they can have text pages. […] Writebook is our love letter to truly independent, zero-cost web publishing on the open web.
I’m playing around with this. I might’ve used it for my book if I hadn’t already adapted a Micro.blog theme for it.
John Gruber posting to Threads:
I feel great about Kamala Harris as the Democratic nominee. Go back and watch her in Kavanaugh’s confirmation hearing. She’s smart, sharp, aggressive, and emotive.
Hillary Clinton the day after the 2016 election:
I know we have still not shattered that highest and hardest glass ceiling, but someday someone will, and hopefully sooner than we might think right now.
If Joe Biden steps aside, Kamala Harris should be the nominee. She was part of the ticket we voted for in the primary. She’s been tested and is ready. Still, it’s Biden’s call. 🇺🇸
There are a lot of interesting stats in this Cloudflare blog post about AI bots. I still worry that we might over-correct when blocking LLM training. For example, CCBot is mentioned, but Common Crawl goes back 15+ years and has a variety of non-AI uses.
After today’s blog publishing change, I’m seeing posting about twice as fast for my blog. Your milage may vary, depends on whether replies are included on your blog. I’ve also done some tests with more CPUs and plan to upgrade a few servers if I can bear the cost.
Good new ad from the Biden campaign:
The same Trump Supreme Court that overturned Roe v. Wade, ruled that the President can ignore the law, even to commit a crime, because Donald Trump asked them to. He’s already led an insurrection… Donald Trump can never hold this office again.
🇺🇸
We are starting to open up Micro.blog’s notes feature to our standard plan. Private notes with end-to-end encryption and sharing. It used to be limited to Micro.blog Premium. On the web, you’ll see a “Notes” link in the sidebar. Will be fully rolled out with updates to the native apps soon-ish.
I’m a little puzzled about why the new proposed fediverse:creator tag is only for approved web sites. Just a slow rollout? Clearly it’s most useful for news organizations with multiple writers, where there’s not a one-to-one mapping between author and fediverse account.
MacStories has written an open letter asking for AI regulation:
…a wide swath of the tech industry, including behemoths like Apple, Google, Microsoft, and Meta, have joined OpenAI, Anthropic, and Perplexity, to ingest the intellectual property of publishers without their consent, and then used that property to build their own commercial products.
This letter is a great idea. We need regulation and an update to copyright law. I don’t like the repeated use of the word “theft”, though. It risks oversimplifying the gray areas in LLM training (and Google crawling).
Last week’s debate was a wake-up call for our muddled framing of the issues at stake this year. There are only two things we should be talking about: abortion and democracy. Every other question can have a quick answer and then pivot to those two things. 🇺🇸
Finally experimenting with Bluesky’s Starter Packs. I created a test pack with a handful of people in the suggested list. When signed in, love how it can be viewed as a timeline of posts. Nice touches to this implementation that I think we could borrow for blog-based recommendations / blogrolls.
I’ve been inspired by what feels like a renewed push for massive solar infrastructure, so recently bought a small solar panel from Jackery. Excellent for road trips and camping. I have a couple batteries and use the panel with the small Explorer 100 Plus. (This is going to sound like a Jackery ad.)
Excellent article in The Washington Post about an Infinium plant in Corpus Christi producing diesel fuel from water and (mostly) renewable energy. Pairs really well with the Terraform founder interview on Stratechery I blogged about earlier this month.
The Philadelphia Inquirer:
Biden had a horrible night Thursday. But the debate about the debate is misplaced. The only person who should withdraw from the race is Trump.
🇺🇸
Went to see the first chapter of Horizon tonight and love what they’re doing with it. So much time to let characters and plot lines develop. 🍿
I’m not one to impulsively cancel subscriptions when I disagree with the leadership or when there’s a misstep, but I’m really starting to question sticking with The New York Times. It’s not a partisan thing. Their coverage feels weak in all the moments when we need it to be exceptional.
Camping in Texas in the summer is not fun, but I keep thinking I’ll figure out how to solve it with technology, each time getting a little closer. It won’t be below 80° until 2am tonight.
Just posted a new Core Intuition. Daniel and I talk about the latest news with Apple and the EU’s DMA, then I complain a little about Micro.blog not getting approved yet for using the Threads API. Planning to resubmit the app with a new screencast after the weekend.
I watched all of Joe Biden’s campaign speech from today. Wish he was half as good last night as he was today. He’s got a cough, but he looked so much better.
I don’t speak as smoothly as I used to. I don’t debate as well as I used to. But I know what I do know. I know how to tell the truth. I know right from wrong.
Not sure how this is going to play out, but I’m feeling better. 🇺🇸
Dave Winer blogs about a new experiment to make a collection of blogrolls by following a site’s blogroll looking for other blogrolls. This is important because blogrolls can effectively be a social graph, a way to discover and follow other bloggers.
I updated the Micro.blog blogroll plug-in today, adding more control over whether to show the blog’s domain name (now defaulting to not show it) and optional “about” text when setting up a recommendation. The help page has been updated with examples.
Jason Snell makes the case for hand controllers and other changes to the Vision Pro:
I’ve got a Vision Pro and a Meta Quest 3. And yet the Quest 3, which costs about one-seventh of the price of the Vision Pro, is a vastly superior platform when it comes to playing certain kinds of games. Games just require precision positioning (through detailed movement tracking), and input (via on-controller buttons) that waving your hands and tapping fingers together in Vision Pro just can’t match.
Jason has good ideas for improving Vision Pro, but I think the problem is more fundamental than that. visionOS is a bust.
Most users don’t want to strap a computer to their face. Most developers don’t want to dedicate time to redesigning their apps. Some people love the Vision Pro, and that’s great for them, but it’s not a mainstream product.
I said on Core Intuition last year that it will be 20 years before technology catches up to Apple’s vision of spacial computing, with normal-looking AR glasses that can do most of what the Vision Pro can do. I think there will be compelling AR glasses before then, but they won’t run visionOS as we know it today.
As I blogged about when I said Apple needs a flop:
Maybe we’re at a crossroads for the company. Apple was great as the underdog, when they were humbled, fighting to out-innovate the competition. What came after the Lisa? The Macintosh. After almost going bankrupt? Think Different and the iMac. After the butterfly keyboard? Some of the best MacBooks ever made.
Apple has lost something on the path to becoming a $3 trillion company. They’re not going to get it back, because it’s something that’s hard to define, something that slips through your fingers when you try to do too much. The larger a company gets, the less capable they are of reaching beyond obvious products. The iPod formula of “we’re not first, but we’re the best” is no longer working. Everyone else is innovating too.
I said this year that we’re at “peak Apple”, and I still believe it:
Apple has been an inspiration for me for 30 years. A massive success. I think this is as good as it gets for them. They are simply too big to fundamentally rethink anything for what’s next.
There may never be another company like Apple. Still, I hope there’s room somewhere under the boots of the mobile duopoly for a new upstart. A product that is built natively for the open web, with a new take on how devices can be part of our lives, untethered from Apple and Google. If I squint a little I can almost see it happening.
The current Supreme Court is broken. If Joe Biden wants to change the narrative, announce that he’s working with Congress to expand the court with an additional four justices. A couple to be nominated now, a couple for later presidents. 🇺🇸
My favorite moment and the most clear line from Biden against Trump: “Something snapped in you when you lost the last time.” We got bogged down in policy tonight, which is pointless because Trump doesn’t know anything or believe in anyone except himself. 🇺🇸
You know who had a great debate against Trump? Hillary Clinton. I’m not saying she should jump in and rescue the Democrats — although I’d be good with it! — but to say that an election is more complicated than one thing. Biden could’ve been better. He had a few good moments. It’s on us now. 🇺🇸
There’s a really substantive conversation on MSNBC right now about the president’s job as a communicator vs. a decision-maker, and all the things Biden has accomplished, the historical context with FDR and others, etc. I’m still conflicted about what this debate actually means. 🇺🇸
Debate halftime! Biden is just warming up, everyone. Trump is, of course, constantly lying. It’s ridiculouss that we even have to be here as a country, and I feel sad that Biden has to shoulder everything himself. He’s not perfect but he’s good and who we have to hold up sanity. 🇺🇸
Happy for LeBron that Bronny is going to the Lakers. Such a unique chance to play together that’s unlikely to happen in the league again. 🏀
Just another night in America, where the President of the United States has to debate a convicted felon. 🇺🇸
Jeremy Keith on how human-curated bookmarks could help adapt to a web filled with AI content:
It used to be that when you found a source you trusted, you bookmarked it. Browsers still have bookmarking functionality but most people rely on search. Maybe it’s time for a bookmarking revival.
Threads API access was rejected for Micro.blog. 🙄 Going to redo the submission and record new demo screencasts for app reviewers. I’ve got dozens of real users using this, quite frustrating to jump through hoops for something so basic.
I like the idea of a smaller e-ink reader, whether it’s running Android or not, so I’m almost tempted by this weird device that John Moltz reviewed at Six Colors. Still happy with the Kindle Paperwhite, but if it was just a little narrower I’d take it with me even more often.
Anyone who enjoys writing or photography or sharing anything online should have their own microblog at their own domain. Haven’t we learned by now that posting exclusively on other people’s platforms is a dead end? Might as well write on scraps of paper outside and let the wind take them.
NBA draft tonight! Spurs have the 4th and 8th picks. Last season’s record was bad, but the team started winning games late in the season. Back in the playoffs soon. 🏀
Some progress with the Threads API, the issue with the Meta dev dashboard not updating to show API calls has been fixed. However, there’s still no way to submit the app for review. Expecting an “App review” option in the sidebar, but it’s not there.
Nick Heer on the latest DMA news and UTM rejection:
Perhaps there are legitimate security concerns in the UTM emulator. The burden of proof for that claim rests on Apple, however, and its ability to be a reliable narrator is sometimes questionable. Consider the possible conflicts of interest in App Tracking Transparency rules raised by German competition authorities.
Apple’s handling of the App Store is getting so old. It’s exhausting that there is always drama, always bad faith efforts, always two steps forward, one step back. Here’s what I blogged 13 years ago:
Apple, want to charge 30%? Go for it. Want to make the submission rules more strict? Fine. Want to adjust how you run the App Store to reflect what’s happening in the market? No problem. Just give developers an out. We are going to be back here year after year with the latest controversy until exclusive app distribution is fixed.
Maybe nothing I’ve written in 20 years of blogging has proven more true than that statement. Enough already! Just let us build apps that customers want and distribute them outside the store without gimmicks. That’s what the DMA is about and Apple knows it.
Can’t believe I didn’t know about this Snow White Cafe, in operation since 1946… until now:
Its interior, which was decorated with murals of characters from Disney’s first animated feature, Snow White and the Seven Dwarfs, has been gutted.
There is plenty of lore surrounding the Disney murals. Some say the artwork was drawn by Disney artists who worked on the original feature — and it may have been, though there’s no way to prove it.
Would’ve loved to visit it when I was in LA a couple years ago. Too late.
For folks beta testing automatic cross-posting from Micro.blog to Threads, if you like to tinker, we are now including the Threads post ID and permalink in each blog post metadata. See this help page for how to access it from custom themes.
When a company withholds a feature from the EU because of the DMA — Apple for AI, Meta today for the fediverse — they should document which sections of the DMA would potentially be violated. Let users fact-check whether there’s a real problem.
Threads has rolled out seeing replies from other platforms, filling one of the biggest holes in their fediverse support. Nice to see the progress. There is still quite a bit to do (replies to those replies, moving accounts) but it feels much closer to complete.
Molly White makes a point that I’ve also been trying to articulate about AI crawling, but I think her post is better than my first attempts. Some level of open access is an important part of what makes the web special:
…“only allow humans to access” is just not an achievable goal. Any attempt at limiting bot access will inevitably allow some bots through and prevent some humans from accessing the site, and it’s about deciding where you want to set the cutoff.
If you’re keeping score, Hillary has now written three books since losing the 2016 election. An inspiration in getting back up after a failure that would destroy most of us. What’s next?
Excellent post by Jason Snell on the upcoming era of orchestrated apps, where much of what we do with our iPhone might be using AI as a bridge between multiple apps and their local data:
When everything is orchestrated properly, all the capabilities of all your apps are put into a big soup, and the AI system at the heart of your device can choose the right capabilities to do what you need it to do—without you having to specify all the steps it needs to take to get there.
This is a good strategy for Apple because it leverages their strengths with privacy and a complete ecosystem of apps. However, there’s a problem, something I’ve written about a few times including recently in this post about Siri before WWDC. What if you want the same functionality on your HomePod? Or on your Mac that doesn’t have the same apps installed? App intents are local to each device, potentially creating a disjointed experience when not at your iPhone.
If an assistant doesn’t have consistent functionality everywhere, something in the illusion is broken. Apple’s solution can still be good, but I think it will always come up a little bit short. (They may make up for it by having an overwhelming advantage in third-party apps that use intents, and the fact that most people’s computing is predominantly or only on their phones anyway.)
A different take would be for the apps and intents to be synced with the cloud, so that they are universally available to your assistant from all devices. There are privacy trade-offs on this path, but I think ultimately it’s where many people will want to go.
Google is probably best positioned for this alternative, more cloud-based approach to AI. They already have your private email, and I’m not sure most people consider whether it’s encrypted or just sitting around on Google servers. I wouldn’t rule out OpenAI either, since something like this is clearly part of their vision. Whoever it is, I could see Apple and another company rising to become a new sort of duopoly for AI. Apple as the private, mostly on-device option, and someone else as the always available, cross-platform assistant.
As usual, Hillary Clinton is right. From an op-ed today on what to watch for in the debate:
Mr. Biden is one of the most empathetic leaders we’ve ever had. Listen to how sincerely he talks about women’s rights, the struggles of working families, opportunities for people of color and the courage of Ukrainian men and women risking their lives for democracy. Mr. Trump can’t do that because he cares only about himself.
🇺🇸
Had a dream last night that for the upcoming presidential debate, Biden’s team decided to use all of his time on stage to act out Biden’s answers in the style of a broadway musical. What the…? Trump tried to follow along but he didn’t prepare for the debate and was lost. No idea what this means. 🇺🇸
One good thing about Akamai acquiring Linode: they appear to have a better plan for reaching 100% renewable energy in data centers. According to this, most of my servers are in the 75% renewable range. Better than Texas as a whole, although we do see spikes that high, when it’s windy and sunny.
Riley Testut posts about no longer trusting Apple with app notarization:
When we first met with the EC a few months ago, we were asked repeatedly if we trusted Apple to be in charge of Notarization. We emphatically said yes.
However, it’s clear to us now that Apple is indeed using Notarization to not only delay our apps, but also to determine on a case-by-case basis how to undermine each release
iOS notarization for marketplaces needs to be reverted to how it works on the Mac. Bad actors can still be stopped without adding another layer to app review.
In John Gruber’s article about Apple Intelligence, he writes about the server impact:
As things stand, with only devices using M-series chips or the A17 or later eligible, Apple is going to be on the hook for an enormous amount of server-side computation with Private Cloud Compute. They’d be on the hook for multiples of that scale if they enabled Apple Intelligence for older iPhones, with those older iPhones doing none of the processing on-device.
Also, people are going to use this more than today’s Siri. How often will it need to go to the cloud? Seems very difficult to predict the scale.
Still no way for me to submit my app to Meta to approve the Threads API. 🙁 I can add more beta users, but it’s difficult to track via replies, so I know I missed a couple people. If you don’t have access, email help@micro.blog with your Micro.blog username and Threads username.
Finally got my R1. The hype has worn off, so not sure it has a place in my life for regular use. Nice little device, though, and very orange.
It’s bizarre to see developers effectively siding with Apple over the DMA. The EU is trying to make things better for developers. We can nitpick whether the DMA is well-written, too broad, etc. But there are specific sections that address real problems with the App Store that Apple won’t fix on their own.
European Commission preliminary findings that the App Store is in breach of the DMA. Even if there’s some compromise, this should lead to improved rules for developers. Still unresolved is whether the CTF is valid, and how much Apple is going to fight to keep it.
I was wondering when someone would bring up that the Internet Archive ignores robots.txt, and today’s Stratechery is the first I’ve seen to raise that point. I view most debates through the lens of what is good for the open web. There’s now so much of an anti-AI undercurrent, we risk over-correcting.
Decided to promote the “Edit Sources & Cross-posting” screen to its own link in the sidebar. It’s called simply “Sources”. This is a powerful part of Micro.blog and needs more visibility. (Using a feed icon, even if one day we might have other feed reader-related sidebar things.)
We saw the new Zilker Eagle today while going to Barton Springs. It looks really nice. Unfortunately it derailed on the switch while we were at the pool. No one was hurt because it goes extremely slow. 🚂
Somehow on my recent trip I’ve gotten a scratch in the middle of my iPhone screen. I was already thinking about upgrading. Bad timing but this is going to drive me crazy over the next few months.
This article in The Washington Post about AI energy use has a lot in it, but still seems to paint an incomplete picture. Not a single mention of Apple? If Apple can roll out AI in millions of devices and still use 100% renewable for servers, should be within reach for others too.
Finished reading: Blood Over Bright Haven by M. L. Wang. This was excellent. It must’ve been a challenging book to write, fascinating magic and ambitious take on society. Really something special. 📚
Great post by Anil Dash on how the board of directors for an organization actually works. I learned a lot. The timing of this post could not be more perfect for me right now.
Still no option for me to submit our Threads feature to Meta for review. Tried contacting developer support but that submission fails for unknown reasons. The issue seems to be that the Meta dev dashboard is not recognizing all the successful API calls we are already making.
I really dislike the Mastodon setting to require HTTP signatures for everything. It makes basic features like just grabbing some JSON for an actor more difficult. The user’s profile is on the public web anyway! We need apps that work natively with the web on its own terms, not more protocol layers.
Perplexity CEO addresses the recent questions about crawling, but I don’t think his answers are going to satisfy anyone. He is partially correct, though, that there is confusion about crawling to train models vs. ad-hoc downloading web pages. New info is that they outsource some crawling, which seems bad if that’s your core business. Seems fixable.
“I only came back to myself when I decided something: all emotions are just energy, just potential fuel for action. Everything I felt about what I saw—the guilt and the terror—wasn’t poison. It was power.” — from Blood Over Bright Haven 📚
On this week’s Core Int, we talk about the latest AI controversy including with Perplexity and how we think about robots.txt. Then Daniel gives an update on Swift Concurrency.
Great collection from Michael Tsai of posts on a range of reactions to Apple blaming the DMA for delaying Apple Intelligence in Europe. I don’t feel too strongly about it, but we know Apple is frustrated with the regulation, could be slow-rolling it as a tactic.
John Gruber blogs about how Trump personally measures up to the Ten Commandments that he apparently now supports showing everywhere. (Also can we add an 11th commandment to not post in all caps? Trump increasingly sounds deranged.)
Randomly stumbled on an old clip of Steve Jobs, thanks (no thanks) to the Threads algorithmic timeline distracting me. There still hasn’t been a tech leader in the last decade with his stage presence. One of a kind.
If you sent me an @-mention yesterday about automatic Threads cross-posting, I’ve invited you on Threads and enabled the feature for your account in Micro.blog. Here’s a quick video on YouTube about it. Don’t forget to accept the invite too, under your Threads account → Settings → Website Permissions.
I don’t travel as much as a bunch of people I know, but the combination of road trip and flight over the last couple of weeks has left me kind of unmoored with work. My brain is still catching up to the fact that we’re 2/3 of the way through June already. Way behind in email.
I tried this AI-based social network Butterflies and it’s as bizarre as you’d expect. It’s more like a game. I don’t see this kind of thing taking off in “real” social networks. Infinite content will just reinforce the infinite algorithmic feed, which is unhealthy enough already.
Forgot to mention if you’re sending me your Threads username… You will have to go to your Threads account settings → Website Permissions to approve the tester invite for Micro.blog.
Micro.blog cross-posting to Threads is a bit in limbo because I’m not even sure how to submit the app for review. But we can have 500 testers! Reply with your Threads username if you’d like to be added. I will process any requests later today and “Add Threads” will show up on Account → Edit Sources.
Working with the Threads API reminds me of how frustrating it was to work with Facebook’s main app API years ago, and any silo API that requires manual approval like the App Store. The bureaucracy is at odds with Meta’s claim of supporting the open web and fediverse.
Rough Point. This view brought to you by a contribution from the Doris Duke Charitable Foundation.
The New York Times: Biden gives legal protections to undocumented spouses. Biden’s administration has been effective and consequential. All he really needed to do was get us out of the pandemic, but there’s been a lot more. He deserves our vote. 🇺🇸
The upcoming Zelda where you can play as Zelda looks fantastic. Love the design and approach to solving puzzles.
Because of the recent pushback against AI bots, I’ve added a help page to Micro.blog with details about how to block crawling of your blog.
Congrats to the Celtics. The NBA finals had a couple good moments, but the result never seemed that much in doubt. Only watched a little of game 5 tonight because for some reason this hotel TV has lots of channels but not ABC? I’m sure there’s a reason, can’t be a good one. 🏀
I get the distrust of AI bots but I think discussions to sabotage crawled data go too far, potentially making a mess of the open web. There has never been a system like AI before, and old assumptions about what is fair use don’t really fit. But robots.txt still works! No need to burn everything down yet.
The Breakers. Beautiful walk along the cliffs and in the mansion. The Vanderbilts really had a stunning amount of wealth.
Our WWDC episode of Core Intuition is out! We talk about visiting San Jose, Apple Intelligence, and more.
Last month I got sucked into an auction for Disney artwork and came away with a sequence of drawings of Scrooge in Mickey’s Christmas Carol, from 1983. They arrived! Need to figure out how to frame them.
Jason Snell paints a picture of Apple as sort of irritatedly getting on board the AI hype train. On the OpenAI deal, I don’t think either side has clearly won. It brings to mind Draft Day: “This is a good deal… This is a good deal for both of us.”
What if personal domain name registrations could essentially renew on auto-pilot, regardless of changing or expired payment, for decades? It has always bothered me that blogs are like self-published books that self-destruct when expired. After lots of waffling, I think I’m ready to tackle this.
Now that I’m back home from WWDC, my excitement about installing the betas has evaporated. Will probably wait until Apple Intelligence is enabled. Doesn’t seem much for new APIs I can use it.
Good interview from Kara Swisher with Mira Murati, CTO of OpenAI. She led the GPT-4o announcement and in an alternate timeline was CEO for more than a few days. They talk data deals, the voice controversy, disinformation, and the promise of AI in education.
Stopped overnight in Roswell, New Mexico to visit with the aliens. Queueing up the audiobook The Terraformers for the final leg back to Austin. I had started with the e-book a couple weeks ago. 🛸
One thing I didn’t appreciate before this year’s WWDC is how limited Apple’s on-device models could be. Apple is going for easy wins and generally not biting off more than they can chew. Summarizing or rewriting text is something LLMs are great at, with almost no risk for getting derailed with hallucinations. So it shouldn’t have been surprising that Apple is doing so much themselves with their own models, and punting to ChatGPT for what Craig Federighi called “broad world knowledge” that is beyond Apple’s own models.
The only thing that struck me as strange in the WWDC keynote was image generation. I didn’t expect Apple to do that and I still don’t see why they needed to. It opens up a can of worms, something that was discussed well on this week’s episode of Upgrade. See the chapter on “AI feelings”.
The rest of the strategy is really good, though. The on-device models are small, but they can be supplemented with cloud models for more advanced tasks. And because it will be transparent to the user whether a local or cloud model is used, Apple can add bigger models to newer iPhones as RAM increases, for example, and the user won’t know the difference. Tasks will just become faster and more sophisticated.
This does require the user’s buy-in on Apple’s premise: that “private cloud compute” is just as secure and private as on-device data. On first glance this doesn’t seem technically true. As soon as the data leaves the device, you’re in a different world for things to go wrong. But Apple has built up a lot of trust. If user’s accept the private cloud — and, importantly, if users even realize that Apple’s cloud is completely different than OpenAI’s cloud — it gives Apple a new strength that others don’t have, even if that strength is propped up mostly on goodwill.
Personally I have no concern with the cloud approach for my own personal data. I expect Apple’s solution to be robust, likely bordering on over-engineered for what it actually needs to do, but that builds confidence.
Ben Thompson is optimistic about Apple’s AI strategy too. From a daily update on whether other companies could displace iOS:
I’m unconvinced that large language models are going to be sufficiently powerful enough to displace iOS, and that Apple’s approach to productize LLM capability around data that only they have access to, while Aggregating more powerful models, is going to be successful, but time will tell. Relatedly, the speed with which a wide array of model builders delivered useful models both gives me confidence that Apple’s models will be good enough, and that there isn’t some sort of special sauce that will lead to one model breaking away from the pack.
I’m not sure. There is no telling whether there will be another GPT-level advance in a couple years. Already OpenAI has some technologies like the voice matching that are so powerful that OpenAI almost seems scared to even release them. If there is a breakthrough, it may be difficult for other companies to replicate it right away, giving a single player a years-long advantage.
At the same time, there is just enough friction in Apple Intelligence that even with the improvements to Siri, it may feel slightly crippled compared to a hypothetical new voice assistant. As I wrote in a blog post before WWDC:
While it’s true that the iPhone will continue to dominate any potential non-phone competition, I think there is a narrow window where a truly new device could be disruptive to the smartphone if Apple doesn’t make Siri more universal and seamless across devices. This universality might sound subtle but I think it’s key.
It’s unlikely for Apple to be displaced. People love their phones. I think there is still an opening for something new — a universal assistant that works everywhere, can do nearly everything, and is a joy to use. But we may never get there, or “good enough” may be fine, in which case Apple is really well-positioned.
In 1979 my uncle wrote a book about solar power — or more specifically, although I haven’t read it, about how the fossil fuel industry had too much influence on the future. 45 years later, solar panels are now cheap and widely deployed. Nearly free energy, falling like rain. It can change so much.
Finished reading: Sunbringer by Hannah Kaner. This was excellent. Loved the way it revealed more of who the characters are and built up toward the end, setting up what I assume will be a third and final book. 📚
A couple days after the WWDC keynote, starting to see a couple cracks in Apple’s AI strategy. I’ll blog more later. But I think the architecture for small on-device models and larger models in the cloud that are extremely locked down is very smart. This is flexible and can scale, if users accept it.
Yesterday was a blur. I was planning to camp at Lake Havasu but it’s just too hot, so I continued driving to Flagstaff. Really long day. Caught up on nearly all the WWDC-related podcasts plus progress on audiobooks.
This text without any vending machines is like a cruel mirage in what feels like the middle of the desert of southern California this afternoon, outside Boron.
Nice live blog at The Verge of the interview session with iJustine. Nilay Patel comments:
I think Apple really wants to seem transparent and open about their AI plans, especially around privacy, and having Federighi and Giannandrea this much on the record in basically every publication is a good way to do it.
Lots of details in this Apple blog post about the new AI models. Looks like the on-device models are similar to other small-ish LLMs, and the server models are roughly comparable to GPT-3.5. GPT-4o is still bigger, which is why the OpenAI partnership fits. I think Apple’s strategy here makes sense.
Vaguely keeping up with the Platform State of the Union in the hotel lobby. Thinking I’ll update to macOS Sequoia later, but not on this wi-fi.
Apple’s little custom icon to indicate what’s an AI summary is nice. I’ve been using a robot icon for summaries in Micro.blog, but maybe Apple’s icon will catch on.
So far so good with Apple Intelligence. I have a lot of questions but the framing seems right, with the private cloud compute and working with app data. LLMs will make Siri so much better at interpreting your questions.
Math Notes is super impressive. No mention of AI or machine learning but it’s gotta be all over this.
I know social networks aren’t Apple’s thing, but I still think it would be cool for them to have a platform for sharing personal spacial videos (and photos) for visionOS shot on iPhones. Would help the content problem.
Good morning from San Jose! With this first guess in Wordle, I thought this would be a “2” day, but nope. Maybe Apple’s luck with the keynote will be better.
Wordle 1,087 4/6
⬛🟩🟩🟩⬛
⬛🟩🟩🟩⬛
🟩🟩🟩🟩⬛
🟩🟩🟩🟩🟩
Finished reading: Crown of Midnight by Sarah J. Maas. Fast-paced. This was a stronger book than the first one. 📚
I’m always surprised when coffee shop wi-fi is way slower than LTE tethering. It’s great the cell networks are usually so fast now, but it feels all backwards (and in a way, kind of wasteful).
Field of Light in Paso Robles. I was expecting something different and beautiful, and it was that. But it also made me wonder if we’re in an era of synthetic art, where ideas matter more than craftsmanship. (This is about AI too.) Glad I stopped here to see it.
Bad Boys opens with $21 million box office Friday, on track for $50 million for the weekend. I’ve been curious about whether Will Smith gets a second chance. No legal charge was filed at the Oscars, so the punishment was a 10-year Academy ban, which we’re a couple years into. Sometimes we don’t forgive even after someone has served the time, and I think that’s problematic.
I’m experimenting with an OpenAI-based assistant powered by my own writing. It is wild. See this transcript of me testing it with a couple questions. It does hallucinate sometimes, but as a powerful search or just for fun, this could be something.
Working this morning at Honey Cup, a little coffee shop in Thousand Oaks. Finally have uninterrupted time to solve the increasingly slow posting in Micro.blog. Turns out a database index wasn’t good enough and hit some kind of tipping point recently, pushed from “fast enough” to “slow”. All good! ☕️
Nick Heer on the eroding trust in tech as companies plow ahead with new features:
These product introductions all look like hubris. Arrogance, really — recognition of the significant power these corporations wield and the lack of competition they face.
Clearly a big part of WWDC’s keynote is going to be about trust and privacy. I don’t think things are as bad as many people think — OpenAI’s API, for example, doesn’t use user data to train models, but I bet most people assume it does. But Apple has built the trust and they should emphasize it.
Four hostages freed in assault in Gaza. I wonder how this affects feelings about the war from Israelis. To be honest, and I’m sorry this is dark, but it is a war… I was assuming that most of the remaining hostages were dead.
Each time I take an extended solo road trip, I learn something new about how to make life a little easier. Something that has worked well for me the last couple trips: when it’s time to do laundry, drop clothes off at a cleaners or wash-and-fold place. More pricey but saves so much time.
Only just skimmed through Mark Gurman’s comprehensive WWDC article. Most of the AI rumors sound about right, but I glossed over a few details so there still might be minor surprises. My most pressing question: can I wait to get a new phone? I like my iPhone 14 Pro.
Made it to the coast, settling in at Point Mugu State Park. Way too crowded, almost left, but I like my tree.
Listening to Pivot today, Scott Galloway goes on a tangent about how Hillary Clinton would’ve been a great president, and how so many things would be different today if as a country we hadn’t screwed up the 2016 election. We’ll be paying the price for years. Not sure I’ll ever fully get over it. 🇺🇸
Whenever I’m anywhere near Los Angeles, I think, “I should stop at Disneyland for the afternoon.” It never works out, but I always check maps to be sure. If the Splash Mountain redesign was ready, I’d be especially tempted today. 🏰
Just posted our preview for next week’s WWDC, Core Int episode 602. Lots more about AI and other thoughts leading up to the conference.
NBA finals time. Feels like Boston is the more complete team but I have no real idea how this series is going to go. Also congrats to Doris Burke! First woman to be a game analyst in the NBA finals and in fact in any men’s championship series in the major US sports. 🏀
I don’t ask Siri hard questions. Today I threw her a softball while driving down I-15, “What time zone is Las Vegas in?” She has no clue. These are the kind of simple problems an LLM will solve.
Hiking in the sun yesterday, it was a bit of a wake-up call, especially with the looming heat wave. I had planned to camp at Death Valley tonight, but gonna skip it and detour to Vegas to catch up on work. NBA finals game 1, which might be a dangerous time to be in the gambling capital of the world.
Great post on TechCrunch by Sarah Perez about Bridgy Fed’s support for Bluesky. The social web can be multiple protocols. We need more platforms that embrace the web wherever users are, shifting away from monoculture.
Redis has ballooned in size again, after sizable reductions in memory usage last year to make things more stable. Going to have to tackle this tomorrow, hopefully the primary server will be fine through the night. We do have better redundancy now, but it’s not being utilized like it could be.
Catching up on a bunch of random online things as I wait for the day to cool down enough to feel like cooking dinner. Just spent way too much time drafting replies to posts and then not sending them. 🤪 Need to step away from the computer and read a book.
This is a pretty simple one, another addition to my blog post series about upgrading my Honda Element. These rain guards attach above each window, so you can crack the window while it’s raining and not get water in the car. They just stick on, but they seem surprisingly sturdy.
Jason Snell, writing about how Apple may frame the announcements next week at WWDC:
Apple has the chance to depict itself as the adult in the room, a company committed to using AI for features that make its customers’ lives better–not competing to do the best unreproducible magic trick on stage.
It’s probably a safe bet that Apple will do all the obvious things with AI: on-device models for developers to use, integration with iWork apps, something with Photos. But it’s anyone’s guess how far they will actually go, especially with Siri, or potentially even brand new apps.
Bryce Canyon National Park. Didn’t catch this view at the right time for the best lighting, but it really is extraordinary. Hiked down and up and now I’m so exhausted just going to chill for the afternoon.
Siri is much too limited and inconsistent. The only time I ever use Siri is when driving, for responding to text messages and dictating notes. Many people will have different use cases, and so when people say “Siri sucks” they probably all mean different things.
There are many things that could be improved in Siri, but to me it all comes down to just two fundamental shifts:
Universal Siri that works the same across all devices.
The illusion of Siri as a personal assistant is broken when basic tasks that work from your phone don’t work from your watch or HomePod. I’ve long thought and discussed on Core Intuition how Apple has tied Siri too closely to devices and installed apps.
That’s not to say that controlling installed apps isn’t useful, in the way that Shortcuts and scripting are useful. I expect Apple to have more of that at WWDC next week. But in addition to extending Siri with installed apps, to make it truly universal there should be a way to extend Siri in the cloud, just as Alexa has offered for years.
Standalone devices like the Human AI Pin and Rabbit R1 have been criticized as “that should be an app”. While it’s true that the iPhone will continue to dominate any potential non-phone competition, I think there is a narrow window where a truly new device could be disruptive to the smartphone if Apple doesn’t make Siri more universal and seamless across devices. This universality might sound subtle but I think it’s key.
Large language models.
This is obvious. Talking to ChatGPT is so much more advanced and useful than current Siri. With ChatGPT, you can ask all sorts of questions that Siri has no clue about. Sure, LLMs are wrong sometimes, and I’d love for Siri to be uncertain about some answers. If there was a way to have some kind of weighting in the models so that Siri could answer “I’m not sure, but I think…” that would go a long way to dealing with hallucinations. Generative AI is less like a traditional computer and more like a human who has read all the world’s information but doesn’t really know what to do with any of it. That’s okay! But we wouldn’t blindly trust everything that human said.
There are many other improvements that would come along with using even medium-sized LLMs on device for Siri, such as dictation. OpenAI’s Whisper model is almost 2 years old now and way better than Siri.
Apple is going to talk a lot about privacy and on-device models at WWDC. A dual strategy for LLMs is the way to go, with models on your phone that can do a bunch of tasks, but some kind of smarts to switch gears to using LLMs in the cloud when necessary. I’ve done a bunch of experiments with open-source LLMs on my own servers, and it requires a lot of RAM and GPU to get reasonable performance. If we use “parameters” as a rough metric for how much horsepower LLMs need, note that Meta’s Llama 3 (which is pretty good!) is a 70 billion parameter model. GPT-4 is rumored to be nearly 2 trillion parameters. If Apple can’t get GPT-4 level quality and performance on device, they should not hesitate to use the cloud too.
Looking forward to WWDC next week! Should be a good one.
Micro.blog-hosted blogs have had good uptime the last couple months, but of course two servers crashed while I’m settling in at my campsite in Bryce Canyon National Park. Is this some kind of joke? 🤪 Luckily quite good LTE here tonight.
When driving directions in maps lets you know there’s a much slower route available, every once in a while you should take it.
Love these book updates from Brandon Sanderson, on Reddit:
Finished the last interlude today at 5:21. That is a wrap: Wind and Truth, Book five of the Stormlight Archive, is finished. Tomorrow morning, I’ll hand it off to the proofreading and copyediting team. 491k words.
I couldn’t be more excited about this book. Still thinking about re-reading books 1-4 later this year. There is so much in this series, it’s hard to take it all in with one reading.
I’ve blogged before about AI hallucinations, but I wanted to tie together a few new posts I’ve read recently. Let’s start with Dave Winer:
To people who say you get wrong answers from ChatGPT, if I wanted my car to kill me I could drive into oncoming traffic. If I wanted my calculator to give me incorrect results I could press the wrong keys. In other words, ChatGPT is a very new tool. It can be hard to control, you have to check what it says, and try different questions. But the result, if you pay attention and don’t drive it under the wheels of a bus, is that you can do things you never could do before.
This is essentially my mindset too. AI makes mistakes. Humans make mistakes. The key is to know what AI is good for and to not let it run wild unattended. This is why with Micro.blog we’ve been so focused on very limited use cases:
On a recent SharpTech podcast, Ben Thompson also makes this point that we have different expectations for computers and humans. We expect computers to always be right. Calculators and spreadsheets don’t lie. But generative AI is something new, and we can’t hold it to the same standards we had before.
That’s not necessarily to say you’re holding it wrong if you ask Google how many rocks to eat. It’s up to AI companies to better convey when assistants aren’t sure about an answer. I don’t know if this is technically possible with how today’s models work, but hopefully folks are looking at it.
Finally, Allen Pike had a post this week that was fascinating, about how AI will evolve now that it has chewed up all the data on the internet. I have mixed feelings about this… There’s a lot of uncertainty, and also I don’t love that we might be improving AI models while neglecting making the web better. But it is still too early to really judge how this is going to play out.
Winding up along the Animas River. I’m in the last car of a 15-car train, so around the curves it’s a great view ahead. A beautiful route. 🚂
Traffic completely stopped on I-40 earlier today because of road work, and I had a view from a side street of this ridiculous line of 18-wheelers stretching seemingly forever. Hardly any normal cars, just trucks. Seemed especially inefficient as a freight train went by.
Finished reading: Slow Productivity by Cal Newport. Some good ideas in this, formalizing what we often have an instinct about with our work day but maybe haven’t put into practice. 📚
Woke to slight rain. Really bad visibility on the small Texas highway meandering back to the interstate, probably couldn’t see more than 50 feet. Along the side of the road, spaced rows of hay bales fading off into the mist.
Left late from home today, but still arrived at Caprock Canyons State Park before dark. Not pictured, there was a band playing at the visitors center, a nice welcome.
Ben Thompson’s interview with Casey Handmer of Terraform pretty much blew my mind. Smart, optimistic. I suddenly have the urge to go buy some solar panels.
In a blog post about Journal, John Gruber makes a detour to highlight the lack of full import and export in Apple Notes:
I worry that import and export aren’t priorities for Apple. Apple Notes can import RTF and plain text files, but its only option for exporting is, bizarrely, PDF — which is a file format Notes can’t import. A good system for import/export would allow for full fidelity round-tripping. You should be able to export to a file or archive format that Notes can also import, without losing any formatting, metadata, or image attachments. Notes doesn’t even try.
That’s a no-go for me. I’m now using Micro.blog for notes, and I wouldn’t even consider anything without Markdown import and export. Of course Apple isn’t going anywhere and I expect Notes to be supported essentially forever in some form, but iCloud sync is opaque. If there’s ever a hiccup, I want a backup of the actual plain text files.
From The Information:
In mid-2023, some employees of Apple’s system intelligence and machine learning team, which implements features like computer vision, text analysis and natural language in Apple’s software products, met with Altman and other members of OpenAI. While it’s not clear what they discussed, that same year Apple signed a deal with OpenAI to give Apple employees access to the startup’s conversational AI through application programming interfaces, or APIs, for internal tests.
If they were experimenting with the API a full year ago, we might see more at WWDC than I was expecting.
Listening to Trump’s rambling speech today, at first I was laughing at the blatant lies and ridiculous statements… But then it became sobering, he’s so dangerous. If he’s reelected, we’ll have essentially lost 12+ years to this chaos because he will not shut up even when he’s lost.
Just posted a new Core Intuition, episode 601. We talk about the audio narration feature in Micro.blog, the MarsEdit 5.2 release, and then some thoughts on whether WWDC should have a live component again.
A day after the guilty verdict, seeing people worry about polls and whether this will change anything. It will, even if just a little. Who wins the election is a separate question. But doing the right thing always matters. 🇺🇸
“While this defendant may be unlike any other in American history, we arrived at this trial — and ultimately today at this verdict — in the same manner as every other case that comes through the courtroom doors: by following the facts, and the law, and doing so without fear or favor.” — Manhattan district attorney Alvin Bragg 🇺🇸
No one is above the law. Trump guilty on all charges. A monumental moment for the country. 🇺🇸
No matter what happens, can we give Eric Trump some credit for actually being there for his dad? Eric gets made fun of so often, but there he is.
Working on the Threads API and remembering what a pain it is to deal with Meta’s developer dashboard and approvals… Sigh.
Had an idea to expand my about page, which before was just a few snippets of text and links, to make it more of a story of how I’ve gotten to where I am today for people who don’t know me. It’s not complete, but it hits the big milestones.
As part of the podcast pricing decrease, everyone also now gets this little segment control for filtering and searching uploads on the web:
Six years ago, we launched our $10/month plan with podcast hosting. Since then we’ve added several big features to the plan, which is now called Micro.blog Premium:
Today, I want to bring the podcast feature to more people, so we’re moving it down to the standard $5/month plan. The new audio narration for posts and podcast feeds remind me of how much fun it can be to have your own blog, to experiment and try new forms of content at your own space on the web. Let’s do more of it.
When my car repairs cost thousands of dollars, I really stick it to them by making sure to get free coffee at their cafe. 🤪
Really good Stratechery article today about how AI fits in the various big tech company stacks. On Microsoft:
Then, one month later, OpenAI nearly imploded and Microsoft had to face the reality that it is exceptionally risky to pin your strategy on integrating with a partner you don’t control; much of the company’s rhetoric — including the Nadella quote I opened this Article with — and actions since then has been focused on abstracting models away…
How models improve may also affect Apple’s on-device strategy. Having the best models assumes some level of modularity, in the cloud, for now.
Now we wait for the jury. Thinking about how I will react to the verdict… Clearly there is evidence to convict Trump. But the jury could second-guess their judgement because he’s a former president. The trial was fair and thorough. Whatever those dozen New Yorkers decide, we have to be good with. 🇺🇸
On this day 16 years ago, Daniel and I released the first episode of Core Intuition. So many things have changed since then. Listening to episode 1 is like going back in a time machine, to weeks before WWDC, on the verge of the App Store launching, a snapshot of the Mac developer community. 🎂
MarsEdit 5.2 is out with a whole bunch of improvements, including a couple for Micro.blog. Congrats @danielpunkass! The duplicate post feature reminds me of classic Mac “stationary” documents… which I just noticed is still in the Finder.
My cross-posting to Threads has been sporadic. Decided last week to pause it until the API is ready, and might not even continue after that. I post multiple times a day to my blog.
Helpful post from The Fediverse Report about Farcaster and they’re wild $1 billion valuable. They’re as valuable as Instagram when bought by Facebook, really? Some neat ideas buried in there, like the frame mini apps, but I’m having trouble seeing where this goes.
After reading that the Gaza pier was damaged by weather, I read a bit more to try to understand how much aid was getting in before the war and recently. 50 trucks or 1000 tons is so opaque to non-experts like most of us. The pier was still a good idea and can work when repaired. Sort of like increased bandwidth and redundancy in a network, except instead of bytes it’s getting food where it can save lives even when some channels are disrupted.
Today I learned from slash pages by Robb Knight that there’s a /chipotle to note your favorite Chipotle order. Love it. 🌯
Manu Moreale writes about the ratio between consuming content and creating it:
I believe people should consume less content and produce more. Finding an output for creativity is important. But it’s unreasonable to expect people to stop consuming content and replace that consumption with creation because the ratio will always be inevitably skewed towards consumption.
It’s a good post and while I’ve never tried to measure this ratio for myself, I like the way Manu blogs about it. I’m going to take that topic and expand it in a slightly different direction.
It also matters what we consume. If we read too much social media, what happens is that most of the consumption is headlines and opinions, not the facts behind the headlines. It’s retweets, short quotes, and TikToks, not longer blog posts and stories.
It’s usually obvious when reading all the takes on the internet who actually knows something and has formed their own opinion, and who has been influenced by whatever the current consensus is on social media. Starting with other peoples' opinions is like reading a newspaper’s op-ed first and then the front page. Everything we read afterwards will be influenced by those opinions.
When I quit Twitter in 2012, I essentially threw away any audience I had built and started over. I could feel the loss of community. But I also began to notice that my ideas felt just a tiny bit more unique. Not earth-shatteringly original, but definitely my own.
“The name of the game was concealment, and all roads lead to the man who benefited the most, Donald Trump.” — prosecutor Joshua Steinglass 🇺🇸
Missed last night’s Celtics game, so a belated congrats to them. They’re a great team. Mavs/Timberwolves tonight! No team has come back down 0-3 but eventually it’ll probably happen, even if usually there’s a good reason you lost the first few games. 🏀
Last week I blogged about adding audio narration to blog posts. For years we’ve also had full podcast hosting, which overlaps with this narration feature but is focused on podcast episodes and feeds. In this post I’ll show how to add narration to an existing blog post, hopefully in the process revealing more about how this works in Micro.blog.
First, record yourself reading the blog post. There are a dozen ways to do this. Make sure to save the file as an MP3.
Upload the MP3 to Micro.blog. You can do this on the web in the Uploads section, or one of the native apps. All the apps also have some form of Copy HTML button to get an HTML audio tag for the upload. It will look something like this:
<audio src="…" controls="controls">
Before we paste this into the edited blog post, we actually want to hide the default audio player that would appear in web browsers. To do this, add a style attribute:
<audio src="…" controls="controls" style="display: none">
If the audio player is hidden, what’s the point? Micro.blog sees the tag anyway. It also knows the duration of the audio, so it can make a guess as to whether this is a narrated version of the blog post. If it is, it skips some features such as adding a link to the transcript of the audio. (Because the blog post text you wrote is already the best transcript.)
Note that to turn a blog post into a podcast episode or narrated post, all that’s needed is the audio tag. This is because Micro.blog natively thinks about posts as HTML. Photo posts have an img tag, audio posts have an audio tag, and so on. When Micro.blog publishes your blog post, it parses the HTML and sets up any metadata that is needed, for example to access from within Hugo.
When you write a new post and include audio at the time of posting, not later, Micro.blog handles managing the audio tag for you, including the CSS to hide posts that are audio narration. Later, we plan to improve the editing interface so this is more seamless too.
Molly White, previewing an upcoming blog post:
i firmly believe that if you’re going to spend money on one thing online it should be a domain, particularly as online identity gets more fragmented. as platforms come and go, you can always find me there.
Has social media now devolved back to the same tone as Twitter X? Outrage, memes, extremism. Thinking more about this post from Paul Robert Lloyd last week and whether Micro.blog needs a setting if someone wants to keep blogging but get a temporary break from the social web. It’s all intertwined.
Expectations for WWDC haven’t changed much, except this odd rumor from Mark Gurman:
One standout feature will bring generative AI to emojis. The company is developing software that can create custom emojis on the fly, based on what users are texting. That means you’ll suddenly have an all-new emoji for any occasion, beyond the catalog of options that Apple currently offers on the iPhone and other devices.
This sounds like emoji in the same way that a random audio file without an RSS feed is a podcast. The technical bits matter. Emoji is special because it’s just text and portable everywhere.
New feature idea for the social web: before strangers can reply to your posts, they have to read your resume. 🤪
Finished reading: Throne of Glass by Sarah J. Maas. If this was only a standalone novel, I’d have some complaints, but I know people love the series. Seems like a good setup, and I’d like to see where it goes. 📚
After we recorded episode 600 of @coreint, I thought I had blown it, maybe had a bit too much coffee and didn’t slow down to properly capture what is going on with OpenAI. So I listened to the episode again, and I think it holds up really well. We might’ve covered it more fully than anyone else has.
We’ve somehow reached the 600th episode of Core Intuition. On this episode, we talk about the Scarlett Johansson vs. OpenAI fallout, and the reaction on my blog and the social web.
Went to Barton Springs today to swim but there was a ridiculous number of people waiting in line, must’ve been over 200 people, stretching well past the Zilker train depot, so we went kayaking instead. Austin may be too crowded.
Wow. Mavs steal another one. Luka with a clutch shot, and Naz Reid who was 7-9 from 3 misses the game-winner. Good game. 🏀
This feature went from idea to implementation quickly because it turns out we already have full podcast hosting in Micro.blog! How convenient. I’m going to use this post to break it all down.
AI is everywhere, including some places it probably shouldn’t be. If you’ve been following my blog you know that I see huge potential in generative AI. We’re using it in Micro.blog to improve photos search and accessibility text for photos. But like many tools, AI is going to be overused before we all find the right balance for what it’s good at.
When Jean and I were talking to Christina Warren at Micro Camp, I asked Christina about a talk she gave at Çingleton about 10 years ago. I actually blogged about it at the time. What struck me as particularly relevant now as we’re about to be swamped with AI-generated content is that there’s no substitute for the human voice. I don’t just mean that an actual recording is better than a synthetic voice. I also mean that things that are created by humans will increasingly be sought out.
We want to see the personal side of someone, not just the polished brand. We want to see the imperfect, the creative, the emotion. We want authenticity.
In Micro.blog, you can now upload an audio recording of one of your blog posts. Use the audio icon in the new post form on the web, which is available to everyone starting today, even at the standard $5 plan. Your blog readers can listen to the audio narration of the post if they don’t feel like reading the post. Of course it’s especially great for the visually impaired.
Here’s what it looks like on my blog, next to the posted date. Shout-out to Medium which I drew some inspiration from.
I’m also adding audio narration to this very blog post, so you can click over to the web to try it out.
When there’s audio attached to a post, Micro.blog attempts to check if it is probably the narration for a post. If the number of words in the post and the audio duration is roughly comparable to how long it would take a human to read the post, it assumes it’s narration and not a podcast. Podcast episodes are more likely to be longer with very short “show notes” in the actual blog post text.
Micro.blog checks this so that it can hide the default audio player and transcript link. These would add clutter to normal blog posts.
Blog themes will still need to be updated to support the play button. I’ve already updated the Alpine theme and will update others later. Themes can use a new API called Narration.js. Just plop this JavaScript anywhere you want the play button in your template, likely the layouts/post/single.html file. (Note that this currently needs to be on the permalink page. It won’t work correctly on the home page with a list of blog posts yet.)
{{ with .Params.audio }} <script type="text/javascript" src="https://micro.blog/narration.js?url={{ . }}"></script>{{ end }}
If you’re using Micro.blog Premium, the audio narration will also be included in the podcast feed. Any blog can effectively be a podcast, even if you don’t think of it as a traditional podcast. Some of my favorite writers have had great success with a dual model of email newsletter plus podcast version of the same content, like Ben Thompson and Molly White.
I can’t wait to see how people use this. It’s totally optional. It’s more work, and not everyone is going to want to do that extra work. I’m imagining this would be used for selective, special blog posts, rather than everything. I’m also interested in working this functionality into our companion app Wavelength, which should cut down on the technical steps.
In some ways, this feature isn’t actually about what is possible. This feature is a statement: we make things for humans, so they can make the web a little better. Along the way there will be plenty to automate, plenty of AI tools that will be important shortcuts, but we’re not going to lose our voice.
This blog post is a test for something new I’m working on. I think a lot of people feel overwhelmed that AI is everywhere right now. Personal blogs should lean in to the human voice. There’s a new play button on the permalink for this post on the web which will use a recording that I’ve uploaded.
Google’s AI overviews are pretty hilariously not ready. Maybe they never will be. Generative AI is a powerful, transformative technology, but that doesn’t mean it should be used everywhere! Sometimes dumb code is better.
Just finished listening to this interview on Stratechery with Satya Nadella and (separately) Kevin Scott. Some really thoughtful points about how Microsoft sees things around AI.
I liked this segment from Kevin especially, after talking about how humans can no longer beat computers at chess, yet we still love to watch humans play chess against each other:
I don’t think the AI is going to take over anything, I think it is going to continue to be a tool that we will use to make things for one another, to serve one another, to do valuable things for one another and I think we will be extremely disinterested in things where there aren’t humans in the loop.
I think what we all seek is meaning and connection and we want to do things for each other and I think we have an enormous opportunity here with these tools to do more of all of those things in slightly different ways. But I’m not worried that we somehow lose our sense of place or purpose.
Micro.blog for iOS was updated today with some improvements and fixes. Here’s a quick demo video of the new uploads search for Micro.blog Premium subscribers:
Feeling deflated this morning after the AI drama of the last couple days. I got so much flack over it. Now that the Washington Post is out with their story? Crickets. 🦗
Tonight the Washington Post has what looks like an exclusive story on OpenAI’s Sky voice. I didn’t want to keep writing about this, but here we are. Some quotes from the article:
…while many hear an eerie resemblance between “Sky” and Johansson’s “Her” character, an actress was hired to create the Sky voice months before Altman contacted Johansson, according to documents, recordings, casting directors and the actress’s agent.
The actress’s agent spoke to the Washington Post:
The agent, who spoke on the condition of anonymity to assure the safety of her client, said the actress confirmed that neither Johansson nor the movie “Her” were ever mentioned by OpenAI. The actress’s natural voice sounds identical to the AI-generated Sky voice, based on brief recordings of her initial voice test reviewed by The Post.
And from Joanne Jang, who worked at OpenAI with the actors:
Jang said she “kept a tight tent” around the AI voices project, making Chief Technology Officer Mira Murati the sole decision-maker to preserve the artistic choices of the director and the casting office. Altman was on his world tour during much of the casting process and not intimately involved, she said.
There was also a statement from the actress who voiced Sky:
In a statement from the Sky actress provided by her agent, she wrote that at times the backlash “feels personal being that it’s just my natural voice and I’ve never been compared to her by the people who do know me closely.”
Maybe we haven’t heard the last of this story and more news will drop. Even if it wasn’t intentional, there may be a legal case against OpenAI. But it appears that my initial take was correct.
I’ve been rolling this whole saga over in my mind since I first blogged about it. People are clearly concerned about AI generally and OpenAI specifically. There is also too much misinformation and divisiveness on social media, and a loss of nuance. When the narrative turns against a company, everything that follows will be viewed through a different lens, as if slightly distorted.
“You either die a hero, or you live long enough to see yourself become the villain.” — from this scene in The Dark Knight
Sort of paradoxically, the more I consider how AI will change the web, the more clear it becomes how to build features that keep the humanity in what we create. Take almost anything that AI is good at, but not as good as a human, and then make it much easier to do that thing the old-fashioned way.
Jason Fried previews the next product from 37signals on Twitter X, called Workbook:
It’s a dead simple platform to publish web-based books. They have covers, they can have title pages, they can have picture pages, and they can have text pages. Each book gets its own URL, and navigating and keeping track of your progress is all built right in.
Intrigued by this. We can always use more ways to easily publish to the web.
Wrapped up some updates to the iOS app and submitted to Apple. Hopefully goes through smoothly. 🤞
This post from @jsonbecker is going to be timeless, because as a society we increasingly let social media amplify each side of an issue until it’s out of proportion with the facts:
…sometimes when your peers and people you respect have all decided what the “right” view is, it’s very hard to comfortably express a less strident, more lukewarm, more timid, and possibly more complex or nuanced take, especially if you’re not ready, willing, and able to present a dissertation about your view point.
I posted a series of microblog posts yesterday with a common theme of trying to understand what is going on with OpenAI. This is a company with a lot of drama, nearly imploding last year with the board and CEO shakeup, and more recently alternating between amazing demos and dumb mistakes.
I got a lot of pushback about one of my posts in particular. I’m even seeing people want to leave Micro.blog because of it. This is disappointing to me, especially since I think I’ve gone out of my way to have a balanced approach to AI. We have a global setting to disable everything that uses AI in Micro.blog, for people who are principally against the technology.
Here are the relevant posts from yesterday so you can see them more in context:
When your company becomes the enemy, all that matters to people is what feels true. OpenAI’s Sky voice shipped months ago, not last week. We hear what we want to hear. OpenAI mishandled this, no question, but most likely Her is ingrained in Sam’s head vs. intentionally ripping off Scarlett.
In the last 35 years, there have been a tiny number of truly revolutionary technologies that change everything: the web, mobile, and artificial intelligence. We can fight it, or we can guide it. But trust has eroded. To succeed we have to rebuild it. Move fast and break things will be a disaster.
Any chance that WWDC will have a live keynote this year? In the last couple weeks, we’ve had… OpenAI: live. Google I/O: live. Microsoft: live. To balance AI we need to lean in to human creativity, and a pre-recorded 2-hour advertisement will never feel as alive or engaging as a human on stage.
As someone who usually supports OpenAI, I’d still welcome an actual lawsuit from Scarlett Johansson about the voices. For one, I’m a huge fan of hers, but also I’d genuinely like to know if anything shady happened at the company. Dishonesty will cast a shadow over everything the API touches.
I also tried to clarify a few things in replies on those blog posts to other people’s points:
Sam was clearly inspired by and obsessed with Her. I don’t think it was subconscious, but that also doesn’t mean they sampled her voice explicitly.
The board firing Sam Altman is looking more and more rational. Which is why I think this should be an “all hands on deck” moment for OpenAI.
You’re right on the “total” lie, I shouldn’t have phrased it that way, because anything misleading in the OpenAI post would be dishonest. I was trying to respond to folks who are saying that when Scarlett declined to lend her voice, OpenAI copied it anyway. I don’t think that’s true. If I’m wrong, I’ll stop using any tech from OpenAI.
They already have the technology to actually clone someone’s voice, which I assume they didn’t use here because it would be an even closer match.
Did I get it wrong? For reference, here is OpenAI’s blog post about hiring actors for the voices, and Scarlett Johansson’s letter.
Perhaps I shouldn’t have blogged about this, but it’s my personal blog where I explore a range of topics. I do not run my blog posts through a PR department, and I think most people appreciate that blogs should feel authentic and human, even when they disagree.
Watched the Satya Nadella portion of Microsoft Build today, and the few minutes with Sam Altman, then skimmed through the other news. Microsoft is doing a lot, not all of it relevant to me. Importantly they plan for data centers to be powered by renewable energy (in 2025) despite scaling up for AI.
As someone who usually supports OpenAI, I’d still welcome an actual lawsuit from Scarlett Johansson about the voices. For one, I’m a huge fan of hers, but also I’d genuinely like to know if anything shady happened at the company. Dishonesty will cast a shadow over everything the API touches.
Any chance that WWDC will have a live keynote this year? In the last couple weeks, we’ve had… OpenAI: live. Google I/O: live. Microsoft: live. To balance AI we need to lean in to human creativity, and a pre-recorded 2-hour advertisement will never feel as alive or engaging as a human on stage.
Next month’s road trip is starting to take shape. Got my reservation for Bryce Canyon booked this morning. Also the Durango-Silverton train. Lots to see. 🗺️
In the last 35 years, there have been a tiny number of truly revolutionary technologies that change everything: the web, mobile, and artificial intelligence. We can fight it, or we can guide it. But trust has eroded. To succeed we have to rebuild it. Move fast and break things will be a disaster.
When your company becomes the enemy, all that matters to people is what feels true. OpenAI’s Sky voice shipped months ago, not last week. We hear what we want to hear. OpenAI mishandled this, no question, but most likely Her is ingrained in Sam’s head vs. intentionally ripping off Scarlett.
Microsoft’s Recall on the new Copilot+ PCs is quite impressive:
Now with Recall, you can access virtually what you have seen or done on your PC in a way that feels like having photographic memory.
There are obvious trade-offs using this if someone gets access to your computer, but I’d be comfortable with it if there are enough settings. For example, maybe I only want the recall to go back one week, not months.
Cool to see this visualization of the growing blogroll network. Blogrolls are fun and useful, and there’s still more we could do with them. If you’re using Micro.blog, you can set up a blogroll by clicking Design → Edit Recommendations.
It has only been a week since GPT-4o and they’ve already had a few days of bad news, including resignations and the latest with Scarlett Johansson. You can feel it becoming an “OpenAI can’t trusted” narrative that will be hard to shake. Need to prioritize this (and the Apple deal?) above all else.
Tuning in to a little more of the Trump trial. The jury could go either way and I won’t be shocked, because you really do want to be sure, but the idea that Trump didn’t know anything about this is just laughable. 🇺🇸
Whenever I’ve driven by the old Frank Erwin Center these last few months, I’ve noted how little of it is left. Yesterday they demolished the remaining structure. This video from UT’s president on LinkedIn has the final seconds.
Wow, had no idea going into game 7 what would happen, but didn’t expect that. Timberwolves vs. Nuggets had its ups and downs. Gonna root for the Mavs in the conference finals. 🏀
The latest from Mark Gurman at Bloomberg makes the Apple + OpenAI partnership sound like a done deal. WWDC is just a few weeks away! Should be a good one.
Uploaded the session video for Micro Camp’s State of Micro.blog panel. The website now has YouTube links for the sessions, including our interview with Christina Warren.
I posted the video of our conversation with Christina Warren at Micro Camp 2024! We talk about early blogging, how social media is changing, whether it’s actually easier to get started now, podcasting, what we should focus on as the social web grows, and more.
I took the demo portion from yesterday’s panel and uploaded it to YouTube as a separate 6-minute video clip. This shows the new replies curation and reply text box features.
Thanks everyone who joined us for Micro Camp! I’m going to edit the videos and put them online this weekend, but the live broadcasts are on YouTube in the meantime.
The chat on help.micro.blog is now open. This will be the back channel for the live broadcasts during Micro Camp 2024.
It’s going to be a busy day, but I wanted to pause to note two movies I watched this week and really enjoyed, for completely different reasons: Molly’s Game and Marcel the Shell with Shoes On. I’m still amazed that Marcel was funded with such an obvious singular vision, unlike anything I’ve seen. 🍿
Just in time for Micro Camp today, a brand new Core Intuition: episode 599! We talk about Micro Camp, Micro.blog, and domain names, then catch up on GPT-4o, Google I/O, and Apple.
Trying out the new pinned, columns interface on Threads. It’s quite good. Fixes the minor gripes I had with clicking too much to get to the following list or replies.
Questions about blogging or Micro.blog? We’ll be answering questions at Micro Camp, from the chat tomorrow or you can submit a question anytime on this form.
We’re keeping things simple with Micro Camp this year: no email list, no registration. I did add a time zone helper link and an “Add to calendar” button on micro.camp, to make it easier not to miss when the livestream starts.
Micro Camp is… tomorrow! 🤯 It’s extra micro this year, so if you blink you might miss it. Hope everyone can join us for a keynote conversation with Christina Warren and then the State of Micro.blog, announcing a couple new features, and Q&A. Starts 11:45am Pacific time.
The new Wicked trailer was released today. High expectations for this one. No doubt the music will be great, just hope they get the rest right too.
Finished reading: Bookshops & Bonedust by Travis Baldree. I’ll read almost any book about books. Something was missing in this one compared to Legends & Lattes, through. 📚
Google eventually turning their home page into ChatGPT is a rare opening for something new in traditional web search. It’s not a certainty that AI assistants and web search will be a single tool. They can have very different purposes: one looking for answers, one looking for things to read or use.
This post on The Verge assumes that AI hallucinations should be fixed, but generative AI is like a human assistant: helpful, sometimes wrong. The fixable issue is actually perception and UX, giving a false sense of confidence. Google will likely make this worse with “definitive” answers in search.
Further evidence from The New York Times that the November election will be largely decided by people who are objectively ignorant. There’s no way to sugarcoat it.
Nearly one in five voters in battleground states says that President Biden is responsible for ending the constitutional right to abortion, a new poll found, despite the fact that he supports abortion rights and that his opponent Donald J. Trump appointed three Supreme Court justices who made it possible to overturn Roe v. Wade.
🇺🇸
Ben Thompson in today’s update on Google I/O:
What was much more dubious and vaporware-y were actual new products. And, frankly, this isn’t a surprise: one’s take on Google before the AI revolution would have been that the company can operate at scale like no other, but has lost the capacity to innovate; at the risk of confirmation bias, that was exactly the takeaway I had from much of this keynote.
I wonder if there’s a disconnect with Google’s ad-based business not knowing how to turn research into products.
A couple months ago on Core Int, I said we were at peak Apple. With every week, I believe that more strongly. Apple has been an inspiration for me for 30 years. A massive success. I think this is as good as it gets for them. They are simply too big to fundamentally rethink anything for what’s next.
I’ll admit I’ve only skimmed the recent “is iPadOS holding the iPad back?” posts from Federico Viticci, Jason Snell, John Gruber, and others. The iPad isn’t part of my routine now that I’m back to using the Kindle for e-books.
Apple has had a decades-long battle with window management generally and the Finder specifically. At Ease, Simple Finder, Launchpad, Stage Manager, iOS Files… But it turns out the Finder is great. You could go a long way just by replacing Files with a touch-optimized Finder.
I wrote the above and then went back to Federico’s post, where he actually highlights this same point:
After seven years, I’m starting to wonder if maybe it’s time for Apple to scrap the Files project and start over with a new app based on the strong foundation of Finder. We’re well past the point of excusing the Files app for being a young file manager; when you’re spending $3,000 on a high-end iPad Pro with plenty of storage, you want the app to manage that storage to be flawless.
Apple could do this even without turning iPadOS into a true fork of iOS. Boot the iPad into a new Finder that mostly obsoletes Springboard and Files.
My superpower and greatest weakness is not letting the need for a major refactor get in the way of shipping something new. Beautiful code is nice, but too many developers forget the goal is user experience, not developer experience.
Yet more Apple + AI news from Bloomberg:
Apple Inc. has closed in on an agreement with OpenAI to use the startup’s technology on the iPhone, part of a broader push to bring artificial intelligence features to its devices, according to people familiar with the matter.
I’m fascinated by this because clearly Apple will have small-ish LLMs on device for apps and Siri to use. Maybe there will be a more ChatGPT-like interface that is powered by OpenAI, similar to how Maps was originally powered by Google? Could also partially insulate Apple from hallucinations and bad press.
Very curious what OpenAI is up to with their announcement coming up on Monday, from this post on Twitter X. In the last few months they’ve announced all sorts of big improvements with just a blog post. Seems significant.
Nothing surprising in today’s NYT story about Apple’s AI plans. I wanted to comment on this part:
Apple plans to bill the improved Siri as more private than rival A.I. services because it will process requests on iPhones rather than remotely in data centers.
Apple genuinely believes in privacy, even if it is also a strategy credit for them. Using generative AI on iPhones will make for a much better Siri. I’m looking forward for it. But we shouldn’t expect it to be in the same league as GPT-4 unless they can find some way to seamlessly blend on-device and server-based AI, likely much later.
The first update from Ghost about ActivityPub has a screenshot of their early experiment. There’s also a lot about timing:
In 2024, for the first time, it finally feels like we have a critical mass of people and platforms who are interested in rewilding the internet to bring back what we lost, and create something new.
Not sure about “for the first time”, but that’s a minor nitpick, mostly selfish on my part. I’m glad Ghost is doing this and look forward to following their email series.
Excited to announce that @kimberlyhirsh is joining the Micro.blog team. She’ll be helping part-time with curation and community. We’ve been talking to Kimberly for a while and I’m happy she can join us as @jean moves on.
I’m looking forward to working with Kimberly, and seeing what new ways we can expand the team from here. As I mentioned in my post thanking Jean for all her work on Micro.blog, I think everyone can bring something different to the company. Vincent has also been at work behind the scenes to improve the admin features in our platform, with the hope that some of it can be available to more community members.
We know the long-term vision for what we want Micro.blog to be, but exactly how we get there can still be a surprise. Thanks Kimberly for wanting to be a part of this!
This interview with Jack Dorsey provides some closure to his part of the Twitter and Bluesky story. On leaving the Bluesky board:
So I just decided to delete my account on Bluesky, and really focus on Nostr, and funding that to the best of my ability. I asked to get off the board as well, because I just don’t think a protocol needs a board or wants a board. And if it has a board, that’s not the thing that I wanted to help build or wanted to help fund.
Jack says that he respects Bluesky CEO Jay Graber, just that what they each wanted went in different directions.
Jay herself responded this week on Bluesky:
With all due respect to Jack for having the vision to invest in decentralized protocols, we’ve carried out the work in a way I don’t think he fully understands. Bluesky is structurally open in a way Twitter has never been, but the design of atproto allows it to feel familiar and easy to use.
There was also this defense of Jay from Bluesky developer Paul Frazee:
I’ve been watching Jay make consistently strong strategic decisions under incredible pressure, and watching her get dogged by this 2nd rate nonsense is too much. That guy isn’t the story. The fact Jay charted her own path is.
Personally, I still really like what Bluesky is doing. We’re continuing to add Bluesky features to Micro.blog, like being able to see and reply to Bluesky posts within Micro.blog. For the foreseeable future, the social web is not going to be a single protocol (except of course HTTP).
We recorded a new Core Int just a couple hours before Apple issued their apology about the Crush ad. Still had fun talking about new iPads, then a discussion of Mastodon as a non-profit and more.
Because everyone is mad about everything now, I try not to overreact to the latest hot takes until I see things for myself. Finally watched Apple’s “Crush” ad, and sort of agree with the consensus that it feels wasteful, uncomfortable. Ads should inspire, and this does not.
It’s hard to believe it has been seven years since Jean joined me to work on Micro.blog. After a few emails back and forth in early 2017, Jean and I met at Fairlane Coffee while I was up in Portland. I showed her an early version of Micro.blog and we talked about how we could work together.
Reflecting back on that day, it was a pivotal moment because it helped accelerate Micro.blog growing into its own company that could become my focus, instead of just one of several projects I was working on in my indie software company Riverfold. Micro.blog was going to need more of my time, and then some!
Jean has been an integral part of everything we’ve done since then. She created the Micro Monday podcast, organized in-person and online Micro Camps, and ran the photo challenges for the community, all on top of managing the Discover section of Micro.blog and working through community issues with me. This is perhaps the most rewarding part of working with someone else — seeing new things happen that I couldn’t have done on my own, and in some cases new ideas I had never considered.
Thanks Jean! As you move on from Micro.blog, wishing you the best of luck with your long-form writing, hopefully a little microblogging too, and whatever else is next.
Posted to my blog from the passenger seat of the car and then we immediately drove into a national forest with no cell coverage. It’s so easy to take internet access for granted.
Traveling this week so a bit scattered, but also working on a couple pretty important blog posts about Micro.blog. In a perfect world with a larger company, maybe there’d be a PR firm to review the timing of everything? It’s all good, though, and whenever posts are published will be the right time.
Jean has posted the schedule for Micro.blog. It’s even more micro this year. Micro Camp changes a little every year. I don’t think we need to be set in exactly the same pattern. This time we’re going to lean into more Q&A, extending the State of M.b so there’s plenty of time to answer questions.
I was actually thinking about going to Dragonsteel Nexus, even though it doesn’t make any sense to travel to Salt Lake City for a book release. Luckily the event sold out right away, no need to decide. I should take all that money I just saved and throw it away on an iPad that I don’t need! 🤪
TikTok lawsuit against the United States seems weak on first glance. This argument that they can’t move the source code to a new owner is hard to take seriously:
…precipitously moving all TikTok source code development from ByteDance to a new TikTok owner would be impossible as a technological matter. The platform consists of millions of lines of software code that have been painstakingly developed by thousands of engineers over multiple years.
Sure, it would be some work to sift out what is TikTok and what is ByteDance. Better start the refactor now. From the text of the court filing.
Busy morning, so only just now catching up on all iPad announcements. The Verge as usual has a good overview. I’ve fallen out of using iPads, but tempted again by the new pencil.
Broke the corner of my old Apple Watch screen, not badly, but enough that it was time to upgrade after several years. New one is a tiny bit bigger and noticeably faster.
It’s fine to have multiple social web protocols, because this is a good time to experiment and see what sticks. But there’s a limit, and I’m drawing the line at Farcaster. ActivityPub, AT Protocol, and Nostr each provide unique strengths. We do not need a blockchain-based additional platform.
Helpful blog post from @matt17r about the steps he used to migrate a blog between accounts on Micro.blog. Hope to make this even smoother in the future.
Not sick of me singing the praises of OpenAI yet? Their batch API is incredible. An elegant design, if you can say that about an API, and very powerful.
Another advantage to having a blog as the center of all things is that when I’m busy, I can just temporarily disable cross-posting to other services. I can also tune down the Micro.blog timeline settings to see fewer replies to other people. The writing process is the same, just fewer distractions.
Finished reading: The Long Way to a Small, Angry Planet by Becky Chambers. It didn’t quite work for me, lots of interesting characters but very little story. Still enjoyed it, just not as much as her recent novellas. 📚
It’s hard to tell when a blog post is first published if it’s any good. A few days later, a year later, then you know.
In college in the 1990s, I joined the socialist student organization. I saw every issue in stark contrast — a measure of fairness and justice. If I was young on campus today, I might be protesting the war in Gaza. But even in college, truthfully I wasn’t a great activist. I remember our organization leader calling me about a protest for workers’ rights and I was too lazy that day to go.
I’m still for peace and equality today, but now I know that the world is fucking complicated. I’m less certain about things I felt so strongly about before.
Seeing everything in black and white is a mixed blessing. Seeing only the extremes leads to passion and action. But it can also blind us to more nuanced arguments. It can make us more susceptible to manipulation, caught up with TikToks and retweets that reinforce what we already believe.
Taking a step back from the protests specifically, liberals advocate for the less fortunate. We want people of all backgrounds to be treated with respect. We push back against laws that further redistribute wealth to those who don’t need it.
I think this instinct has run into problems in Gaza. War is terrible. More humanitarian aid is needed, and more military restraint. Palestinians have been struggling for decades, now they’ve been forced from their homes, children have died in bombings, and there’s a risk of famine. We want to side with them because we always default to supporting the people who most need support.
And yet polarization has twisted everything. On social media, we use the worst words possible. No words on any topic seem to go far enough, because everyone is angry about everything. Innocent people dying in war — it just doesn’t sound terrible enough for our outrage. So we reach for even more extreme words, calling to mind atrocities that have rightly been judged by history as indefensible.
Pick a side, protest, use all the hashtags, get angry, go viral. In a social bubble, everything is amplified.
I’m going to be honest, the brutality of the Hamas attack on October 7th changed my opinion on the Middle East, possibly forever. Hamas cannot stay in power. But how to remove Hamas without risking innocent life and creating a new generation of terrorists is an impossible challenge that I don’t have a solution for.
Peaceful protests are an important part of a democracy. Most of the protests have been peaceful. Unfortunately some of the protesters at a few campuses like Columbia University and UCLA have lost the plot, seeing injustice everywhere, creating chaos, justifying vandalism. I hope we haven’t become so tribal that we support that.
There is a bit of hope in the news. Earlier this week, Antony Blinken said:
Hamas has before it a proposal that is extraordinarily generous on the part of Israel. And at the moment, the only thing standing between the people of Gaza and a cease-fire is Hamas.
I hope Hamas accepts it. The hostages need to be released and even a temporary ceasefire will make it easier to ramp up more aid.
Amplified by social media outrage, it has become difficult to see the war clearly. I’m not sure how as a society we get through this. All I know for sure is that it’s going to take a long time, and we need social platforms that don’t feed on division.
✌️
Jason Fried:
I’m still doing this because the world is flooded with overpriced, crappy, subpar software. It hurts people and it hurts the economy.
Reminds me of when 37signals would redesign popular sites like FedEx. Part of it was a way to get attention for what they could do, but I bet it was also because Jason couldn’t stand how bad some websites were.
New episode of Core Intuition about this week’s tweaks to the CTF, plus a discussion of how Micro.blog is using AI. We talk about my decision to have a global AI setting and how some customers feel very strongly that AI use should be limited.
Finally checked out the Carpenter Hotel’s coffee shop yesterday. Nice place. Had a little break from the rain outside.
Great teardown video from iFixit on the Rabbit and Humane devices. The closing line also highlights why these need to be standalone devices:
Both at best should’ve been an app. But that might have more to do with the restrictions on Apple and Android’s app stores than anything else.
Easy to access, simple hardware is not only fun but also the only way to really push anything forward at the moment. We wouldn’t say that because the iPhone can run games the Nintendo Switch shouldn’t exist.
Recorded another very short video for YouTube about how we’re starting to use the auto-generated photo descriptions in the new post screen. As you can see in the video, it’s still a little clunky. I’ll improve the timing and UI flow as we use it more.
There’s a redesigned version of Lillihub for Micro.blog available. I’m amazed by how many features it supports. Check it out if you’re looking for a different take on the user experience or text editing UI.
I’ve been working on a Gaza-related blog post off and on for months, mostly threw it out and rewrote it this week. Sometimes I draft a post and it feels good to write it down, so I never actually post it. Other times I can’t let a topic go until it’s published.
Admittedly I’m not a subscriber so haven’t read the full text for M.G. Siegler’s Vision Pro article this week, but the opening paragraph is not fooling around:
Arguing about the shipment projections for Apple’s Vision Pro is sort of like arguing about how many tickets were sold on the fateful Hindenburg journey. For one thing, we’re going to find out the number one way or another, eventually. For another, we’re sort of overlooking the massive airship exploding in the sky.
How is it May already? Reminder that Micro Camp is coming up in just a little over two weeks! We’ll get the full schedule up later, but the plan is to start at noon Pacific. It’s free. We’ll have a livestream and chat. micro.camp
The API folks at OpenAI continue to do great work. You can just tell when developers have their act together. Felt the same way the first time I used Stripe. The latest improvement is vision models in the batch API (Twitter X link), which should eventually bring down my costs.
The “it should’ve been an app” arguments would resonate with me more if Apple let you replace Siri. There’s just no way to get enough integration on iOS. It is hard to innovate around Apple and Google, but I’m glad some developers are trying to, because that’s how we get new things.
Patrick Rhone has a new book: For You:
This book was written for my daughter Beatrix in honor of her 16th Birthday. It is inspired by many events and conversations we’ve had over the years.
This book is for you, too. Because these lessons are universal.
Saw this poster the other day and was fascinated by it. I’m posting it to capture the time we live in. It also inspired me to read a few random articles about horses in the Middle East, including this one from 2016 in The New York Times:
Palestinians and Israelis in the business, as well as foreign trainers and judges who know the region, say that Arabian horses have another effect that is almost magical: They coax Israelis and Palestinians into the same arenas, where the conflict briefly melts away and everyone admires the horses as they strut, dance, gallop and compete for trophies.
Neat video from Brandon Sanderson at C2E2. I’m tempted to go to Salt Lake City for the Wind and Truth release. None of the books I’m reading are hitting… I’m pushing through, but part of me wants to just start re-reading all of The Stormlight Archive.
I’m 48 years old. If you start counting with my paid internship in college, I’ve had a roughly 30-year career in the software industry, give or take a year. I feel extremely lucky that the web came along just as I was getting my feet wet as a developer. World-changing technologies are rare.
Timing matters. This is part of what Malcolm Gladwell’s book Outliers is about.
As I get older, I’m increasingly aware of how easy it is to become bitter and set in my ways. There are many episodes of Core Intuition where I complain about Swift or SwiftUI. Why do we need a new programming language when the old one is still perfectly fine? 🤪
The tech and startup world has had no shortage of over-hyped sidetracks. Blockchain is the most recent flop. Just because a technology is novel, doesn’t mean a practical purpose and business model will emerge.
I almost never jump on trends because you can waste so much time chasing productivity gains that you actually end up going backwards. I run my servers with old tech. I use tried and true programming languages and frameworks. I am not cutting edge.
Some people think generative AI is in the same line as other problematic new technologies, fads that come and go, leaving a string of wrecked businesses and broken apps in their wake. I understand the hesitation. We have been inundated with tech companies that don’t care about data privacy, don’t care about how energy use affects the climate, and don’t care as much about user control as they do about profit.
It is with this backdrop that I get to the point: this AI shit is real. It will change almost everything. I’m not expecting to see another truly game-changing technology for the rest of my career. This is the one.
That doesn’t mean we should move fast and break things. I’m trying to be thoughtful about this. The new photos search and accessibility feature we introduced in Micro.blog today is a first step, and perhaps we won’t take the next step for another year or longer. It’s useful today, as a tool to help people do more with their time, and that’s enough for now.
Great blog post from Om Malik on the current AI hardware from Humane and Rabbit, and where things are going.
I posted a video on YouTube today with where we’re going in Micro.blog to use AI in a limited way to help with search and accessibility.
Got derailed looking at electric bikes (again!) and now I want this: eeyo.bike. I’m not super picky about bikes, but the cheap one I got a few years ago is busted and it’s impossible to find a new battery. This seems a common problem for many brands. 🚴
Great effort from the Lakers. That was a good one. Looking forward to Nuggets vs. Timberwolves! 🏀
I feel like MKBHD is trolling us now with the clickbait video titles. R1 review is overall pretty fair, doesn’t change my expectations much.
Recorded a new video to release tomorrow, with a walkthrough of what is possible with photos and AI. Just a first step, nothing earth-shattering you haven’t seen before, but I really like how it’s coming together in Micro.blog. Our robot overlords made me post this. 🤖
Watched the first episode of Fallout last night. Really good. I never played the game, so no idea how closely the show is inspired by it, but I like what they’ve done so far. 📺
It was going to be confusing for DMA-required changes on iOS to not also apply to iPadOS, especially for developers with universal apps. I assume syncing them up won’t be a major problem for Apple, hopefully for iOS 18. MacStories has the latest EU news on this.
When I find myself questioning whether I’m on the right side of an issue, it can be a little comforting to realize that there is no right side. Some things are just a mess. Humans are imperfect, but we’re trying our best. ❤️
Wish I could permanently remove that red dot from the Threads favicon. Life is better with most app icon badges and notifications hidden, and this one is really glaring.
Thanks @numericcitizen for a new YouTube video about what’s new in Micro.blog! Covers updates to newsletter updates, Bluesky support, AI setting, blogrolls, and more.
Uploading photos to Micro.blog? Don’t forget about Mimi Uploader. We will be rolling out some AI-based features in Micro.blog soon for photos, but you can already use Mimi today to help generate photo alt text.
Check out the iOS app Bound if you ever have a bunch of downloaded audiobook files that can’t fit in Audible, Libby, etc. I’m using it with the MP3s for Dragonsteel Prime and it works great.
It remains good advice not to judge an album (or a book, or almost anything) too quickly. From Oliver Darcy at CNN on Tortured Poets:
One week later, my view of the album has entirely reversed. After spending more time with the two-hour sonic feast, more methodically touring through its subtleties and nuances, I am ready to declare that it is one of Swift’s best works yet. Anecdotally, it seems others are also identifying with this experience, initially expressing tepid feelings toward the album, and then realizing after a few listens it has really grown on them.
Biden was great at the White House Correspondents' Dinner. And Colin Jost was excellent: funny but also meaningful and sincere. Really well done. 🇺🇸
One of the most confusing parts of Micro.blog is the Account → Edit Sources page. It is also one of the most powerful and unique parts of how Micro.blog was designed. If you’re confused by it, how can we improve it? I’ve made a couple tweaks here and there this year, but need a fresh look.
Manuel Moreale blogs that the web is not dying:
Let’s imagine we ban TikTok. And Facebook. And Instagram. And Threads. And all the other huge platforms. There would still be one global town square left. It’s called the web. The web itself IS the global town square.
Mark Gurman says that Apple “has renewed discussions with OpenAI about using the startup’s technology”. GPT-4 is simply more advanced than anything else. Makes a lot of sense for Apple to have their own small models run on device, and lean on others for larger server infrastructure.
We just posted a new episode of Core Intuition, about recent Micro.blog downtime and then a full discussion of the TikTok bill.
Years ago when we launched Micro.blog, I had a clear vision for indie blogging that felt on the cutting edge of the distributed social web. Now that federation is just accepted as the base foundation for any new network, thinking about if that changes our identity. We sort of won. What’s next?
For everything in the news that I blog about, there are probably five stories that I just bite my tongue on. Don’t need the controversy. 🙂 But on the next Core Int, we talk a lot about TikTok, which was a fun change of pace. I’ll be editing it today.
Obviously would’ve been good even earlier, but I’m glad to see construction for the Gaza floating pier is underway. From the NYT:
Senior Biden administration and military officials detailed a complex plan in a Pentagon call with reporters on Thursday afternoon, explaining how the pier and causeway are being put together, and how it is supposed to work. Army engineers are constructing the facility aboard Navy ships in the eastern Mediterranean.
I assume we’ll see photos at some point. Seems like a difficult but important piece of the puzzle for Gaza aid.
If you missed the announcement, next month we’re having Micro Camp, our free online event for the Micro.blog community, and for anyone interested in blogging and the social web. Special guest Christina Warren! May 17th.
Little known feature in Micro.blog: it saves each copy of a draft in case you need to revert or get text from a previous version. Apparently I hit ⌘S a lot while writing that post about TikTok this morning.
I wasn’t sure whether I felt that strongly about the TikTok bill until I read this blog post by Ben Werdmuller. I usually love Ben’s posts but I disagree with him on TikTok and the open web, so let me respond to a few points:
Ironically, banning a service from the open internet nationwide is exactly the kind of thing that China has done again and again through its Great Firewall. Rather than protect American users through the kinds of far-reaching privacy legislation that we need, government chose to address TikTok alone on the basis of what amounts to xenophobic protectionism.
I’m not convinced American privacy legislation will have much impact on a company based in China. TikTok has also long promised to host data in America — “Project Texas” — and according to recent reports the effort is largely cosmetic.
This is not a ban of TikTok. This is a focused effort to force ByteDance to sell the company, so that it can be controlled by a company with more transparency and accountability. If ByteDance refuses to sell TikTok, the app will be removed from distribution by platform gatekeepers, but there’s nothing to stop TikTok from continuing to operate and be available to Americans via the web, as long as it’s hosted somewhere else.
From HR 815, now signed into law:
Providing services to distribute, maintain, or update such foreign adversary controlled application (including any source code of such application) by means of a marketplace (including an online mobile application store) through which users within the land or maritime borders of the United States may access, maintain, or update such application.
It might even be a positive outcome for the open web by shedding light on Apple and Google’s tight control over app distribution, and showing users why Progressive Web Apps can be a good alternative solution. TikTok would potentially be slower with a poorer user experience, or maybe it wouldn’t, but the open web is not going to fall apart so easily.
It’s true that some US Senators have shown themselves to be ignorant, xenophobic, and racist, on not just this bill but a range of issues. And yet a broken clock is right twice a day.
Ben writes sarcastically:
There’s a possibility that TikTok will be used to spread propaganda, unlike every other social network
I will be the first person to criticize massive social platforms. Significant portions of my book are about exactly that. It’s a very real problem to have so much concentrated power. But as much as we might dislike how Mark Zuckerberg runs Facebook, we can be pretty confident he is not going to undermine America on purpose, quietly putting a foot on the scale with propaganda to amplify political chaos.
Scott Galloway, co-host of the Pivot podcast with Kara Swisher, was on MSNBC’s Morning Joe this week:
What might sound paranoid, but that doesn’t mean I’m wrong: I think we are being manipulated, specifically youth, who their frame for the world is TikTok. If you look at TikTok, there are 52 videos that are pro-Hamas or pro-Palestinian for every one served on Israel. I think that we’re being manipulated. I think Americans are easier to fool than to convince they’ve been fooled. But if I were the CCP, I’d be doing exactly the same thing. I think social media is sowing division and polarization in our society.
We just can’t be sure whether the algorithm is only giving people what they want or whether there’s any influence being fed into it. Ben Thompson wrote on Stratechery years ago that there is evidence that Americans should be concerned:
TikTok’s algorithm, unmoored from the constraints of your social network or professional content creators, is free to promote whatever videos it likes, without anyone knowing the difference. TikTok could promote a particular candidate or a particular issue in a particular geography, without anyone — except perhaps the candidate, now indebted to a Chinese company — knowing. You may be skeptical this might happen, but again, China has already demonstrated a willingness to censor speech on a platform banned in China; how much of a leap is it to think that a Party committed to ideological dominance will forever leave a route directly into the hearts and minds of millions of Americans untouched?
Wondering about China’s influence on the TikTok algorithm isn’t xenophobic. It’s not about the people. It’s about the leadership. In the same way we can blame Putin for the war in Ukraine and still be sympathetic and trusting of the Russian people, we can be skeptical of the motivations of the Chinese Communist Party and still respect people in China, admire their culture, and welcome Chinese immigrants to America with open arms.
And what if I’m wrong? What if it turns out there’s zero influence from the Chinese Communist Party and only pure intentions with the TikTok algorithm, as far as making a bunch of money on ads can be considered pure? TikTok is still probably a net negative for society, and I’m not going to lose sleep if their business stumbles or the bill leads to more competition in short video social networks.
How am I only just now seeing the trailer for Chris Sanders’s The Wild Robot? Beautiful, like a mashup of Iron Giant and Bambi. Reminds me of why I love animation.
I’m a progressive, but we may look back on woke-ism as perhaps overcompensating. I worry about societal division. We can go so far in what appears to be the right direction that we lose sight of the big picture, like narrowly following old driving directions and getting lost when the world changes.
Continuing to learn a lot about AI. I’ve spun up several servers trying to find the right config for reasonable performance even on small models. Fixed costs but still quite expensive for me, and hard to match the reliability of OpenAI.
What happened last night with our primary db server was sort of amateur hour, something I learned a lifetime ago but still tripped me up. I recently reset the replication server, upgrading it, and last night it got hung up on an error and filled the disk with MySQL binary log files. Sigh.
Fish pond after getting coffee at Epoch earlier. Looks the same as a couple decades ago except all the retail space has changed, except Korea House. When I walk through I always think of the little model train store that used to be on the corner.
Didn’t realize my library card was expiring, and now I can’t get the books I’ve been waiting weeks for in Libby. Life is rough. 🙂 Going to renew online but it’s not exactly automated… Luckily have more than enough to read in the meantime. 📚
A first look at the Rabbit R1 from David Pierce at The Verge:
…the best way I can describe the R1 is like a Picasso painting of a smartphone: it has most of the same parts, just laid out really differently.
Mostly positive. There are shortcomings but this is a fun $199 device, so no one is expecting the polish or maturity of a $999 iPhone. I’m excited to get my R1 eventually.
I read a little of HR 815 to remind myself how the TikTok divestiture works. As much as Congress often looks like chaos in the news, there have to be writers on the staff who know what they’re doing, which is a little reassuring. 🇺🇸
Apple and Google as the bottlenecks for app distribution is what makes the TikTok forced divestiture possible. I wonder if ByteDance has considered rebuilding TikTok as a PWA to skirt the law. Not an ideal experience, especially without US hosting, but video sharing should be fine via the web.
Watched the Rabbit R1 launch party. I love what they’re doing. The vision goes beyond a little orange AI gadget. Especially interested in teach mode and what a full web platform (“rabbitOS”?) might look like.
As seen in this video about Meta’s glasses, a clever solution to video calling: just stand in front of a mirror. Very low-tech but also looks more natural than Apple Vision Pro personas.
It’s still very early in the trial, but seems the prosecution knows what they’re doing in methodically building the case. From coverage in the The New York Times:
Before court adjourned for the day, Mr. Pecker testified that Mr. Cohen and Mr. Trump had asked him what he and his magazines could do “to help the campaign,” a crucial statement that supports the prosecution’s argument that the men were not just protecting Mr. Trump’s personal reputation, but aiding his presidential bid.
🇺🇸
I hate Apple’s control of app distribution, but while they’re at it why not ban useless release notes like “bug fixes and improvements” or “we improve the app every week”. If devs don’t know how to document what’s new, feel free to scroll through the M.b release notes history going back 7 years.
For folks using Micro.blog Premium with the AI setting enabled, you may start to notice some new generated data for photos, as in this screenshot. I’ll blog more about this in the coming weeks when it’s fully enabled. The goal is better photo search and accessibility.
I’ve just loosely been following the Pennsylvania inmate’s escape and now capture. Wild story. Kudos to law enforcement for capturing him without firing a shot, and no one injured.
iPhone 15 Pro action button is interesting. I wouldn’t mind a rethink of the volume and power buttons too. I still accidentally take screenshots or otherwise fumble with the buttons.
I enjoyed the Mother Nature video at the Apple event. Usually these videos seem overdone and unnecessary, but this was actually a fun format to list the same somewhat dense environmental facts. On the other hand, we’re 30 minutes in and no products I’m particularly interested in.
Took the new-to-me Honda Element in to get checked out and the cost for a bunch of random fixes is a little mind-boggling. It’s got 127k miles and I thought maybe I could push it to 250k… Now I’m starting to doubt. 💰
Over the weekend while I was working on my Letters from Europe page, I integrated footnotes using the Barefoot library. Completely forgot that @jsonbecker had already created a Bigfoot.js plug-in for Micro.blog. Anyway, now there are more plug-in options for footnotes!
24 years ago, Traci and I went to Europe with a rail pass and hardly any money or plans. We worked remotely: her as a contractor for Apple and me at a small Mac dev shop. Last week I rediscovered some emails and postcards we sent while traveling and I decided to put them together as a web page.
When the threads-api project was announced, it was so tempting to use it but I knew it would be too fragile relying on undocumented APIs. Sure enough, Meta has sent them a cease and desist letter and the project is now shut down. Trust in ad-based platforms will always get you burned.
The capitol and downtown buildings over yonder, reflecting in the windows. Eighth day of the Micro.blog photo challenge.

A couple people have read between the lines of my recent posts and wondered what is going on with my life. Short answer: we are selling our house of 17 16 years in northwest Austin and renting a place closer into town. Downsizing is hard. Feels like the right time for a major change. 🏡
App Store Connect is barely holding on today. Errors and more errors. Apparently this is the day I complain about other people’s software while I try to fix my own.
Starting to get the new Slack redesign in one of my workspaces but not others. I’m fine with the UI changes, but it’s jarring the way they roll these out so they don’t apply everywhere in the app.
Fascinating fallout happening in the JavaScript vs. TypeScript debate. In my experience, changing a language rarely brings the productivity gains you were hoping for.
More good advice from Manuel Moreale:
Please, for the love of all things web-related, if you decide to do anything online, get yourself a domain name.
We try to make this easy in Micro.blog, but it should be even easier. I’d like to spend some more time on it this year, so that transferring or configuring custom domains is effortless.
To follow up on some of the replies I’m getting about my hard drive, my philosophy is that nearly everything should be in one place. Less chance you will lose something important. Backups are simpler. Work anywhere. Same goes for what I post on the web: everything is on my blog.
Another new Micro.blog 3.2 beta is out for TestFlight. @vincent is tweaking the tags design and it’s looking really nice. I think we can probably ship this to everyone next week. And it’s a great time to try bookmarks and tagging in Micro.blog Premium if you haven’t upgraded yet.

Apple’s sending emails about getting apps ready for the Vision Pro App Store. Folks in the Apple dev community won’t like this, but I think Vision Pro will be a bust in the short term. Only develop for it for fun, not for a market. I’ll revisit it in 10 years when the tech catches up to the dream.
Can’t even calculate the number of hours and probably days I’ve lost because I cheapened out when I bought my MacBook Pro with too small of a hard drive. Still really like this computer (16-inch Intel) and don’t want the hassle of upgrading it just for more space.
We’re ramping up the TestFlight betas again for Micro.blog 3.2 with bookmark tags. The UI is still evolving. We’ll iterate quickly from here and get the final release out pretty soon.
Manuel Moreale follows up with some thoughts after interviewing me for his People and Blogs series:
That’s one of the main advantages of owning your place on the web: you can bend it and shape it to do exactly what you need it to do.
I love even the small tweaks we can make to our own sites. Having control over your site helps it fit your words and photos in a way that just isn’t possible when plugging content into the cookie-cutter mainstream social media platforms.
So many things are happening right now. Car, house, work. Change starts slowly but once momentum hits, it’s kind of unstoppable.
Love this new bookstore + coffee shop in Austin, First Light Books. Lots of thoughtful touches like the laptop-free book nooks for reading.

The photo challenge grid for Micro.blog is so cool right now. Lots of green for today (“forest”) and orange for yesterday (actually “orange”). Thanks everyone who is participating!
For technical folks who are interested in the plumbing of the social web, @snarfed has a great feature grid that compares IndieWeb, ActivityPub, Bluesky, and Nostr.
Found some old postcards and emails we sent from Europe in 1999 and they are absolute gold. May try to put some of them online as an archive if I get permission from @traci. Here’s a highlight from traveling before wi-fi existed:
We won’t be connecting the PowerBook to the Internet again until we get to the next city, probably, but we should be checking email the rest of the week anyway. There’s a restaurant here that gives free Internet access when you order a dinner, which should be nice if it’s true.
Nice blog post from Allen Pike about link formatting. I’d add that overthinking SEO is a good way to lose your way. Design links for readers and the rest will take care of itself.
After owning a house for 20+ years, submitting a rental application is a nerve-racking process. Don’t usually have this kind of fear of denial.
Manuel Moreale has started a new People and Blogs series where he interviews people about their blogs. The post with me just went live today. I love this idea and look forward to future posts in the series.
This is how Amazon always wins… I want to pick up an organizing storage-type thing and think IKEA would be perfect. But it’s a bit of a drive, so I check Target and they have basically the same thing. But then I realize Amazon also has something similar that can be here tomorrow for zero effort.
It’s just about time for the September photo challenge! Got any ideas for prompt words to inspire each day’s photos? Jean has the details here and her email address to send them to. We’ll pick a random word each day and collect everyone’s photos together.
The third-party Mastodon web app Phanpy has a conversation view that reminds me a lot of Tweetie on iPad. The multi-pane layout in that app never really caught on, but I always thought it was a nice use of space.
Sarah Gooding, writing at WP Tavern about Automattic’s 100-year plan:
What resources will a URL (Uniform Resource Locator) point to 50 years from now? Or will URLs be discarded into the scrap pile of obsolete building blocks as soon as there’s a better, more efficient way to identify web addresses?
I think URLs and HTTP are here to stay. The web is over 30 years old and the basic foundation is strong.
There’s a new episode of Core Intuition out. We talk about Daniel shipping a beta of MarsEdit with Mastodon support, the value of feedback from customers, upcoming plans, microblogging and social network differences, and how sometimes we have to cut features to ship.
There are a bunch of things I want to add to my Honda Element to make it my own. I just finished the first upgrade: CarPlay. I didn’t really know what I was doing but somehow stumbled through it. It is a huge improvement compared to the 15-year-old factory radio.
Documentation online is a little inconsistent for this kind of upgrade. I wasn’t totally sure if the parts were correct until they arrived. In the end I used these:
If you are reading this in the future to upgrade your own car, note that I have a 2008 Honda Element SC. I don’t know if these parts would work perfectly with earlier or later models, or the EX or LX trims.
First step, disconnect the negative on the battery. Finding the right socket wrench in our garage took nearly as long as anything else.
With a little plastic removal tool, I popped up the faceplate around the radio. After that it’s easy to unscrew the old unit and take it out.
I stripped the wires on the new Sony unit and connected them to the appropriate wires on the Metra wiring harness. I didn’t have any fancy wire connectors so just threaded them together, twisted them, and wrapped in electrical tape. I went very slowly and think it turned out fine.
Finally, all that was left was to install the unit. I screwed everything in and popped on the new plastic covering. Some of the original wires from the car weren’t used so they are just dangling hidden inside. Hopefully they weren’t too important!
I also fed the microphone wire down to the floor so it can attach on the dashboard or behind the steering wheel. Haven’t totally figured out the best place for it yet.
Very happy with this upgrade overall. I probably should’ve had a professional do it, but I learned a lot. My car feels like it belongs in this decade now.
The music video for Used To Be Young by Miley Cyrus really struck me. Simple. Powerful. 🎵
Restaurants usually wrap a fork, spoon, and knife in a napkin. I got three knives instead! Someone in the kitchen is laughing. Keep it weird, Kerbey Lane.
And to follow up on this, there’s a little known policy for Micro.blog hosting: when you have a paid subscription, we continue to host your blog forever even after you cancel and stop paying. Good URLs don’t change and don’t go away, unless you want them to.
I love this idea: WordPress.com’s 100-year plan. But at $38k, it’s too expensive for most people. I’ve been planning something similar as a complement to Micro.blog, but from a completely different angle.
Looked through my old Clipstart source code for the first time in years, to answer a rare support question. Probably should’ve open-sourced the app. Everything broke when Apple abandoned QuickTime.
Heck of a mugshot, Trump. It feels like an angry, fitting reflection of that line from his inauguration speech: “This American carnage stops right here and stops right now.” 🇺🇸
Funny how different I drive depending on the car. In the Subaru Outback, adaptive cruise control on and let the car steer itself. In my son’s manual transmission Honda Civic, kind of recklessly like I’m street racing. And in the Honda Element, in the slow lane as if I have all the time in the world.
Made a sort of impulsive purchase of a used car: 2008 Honda Element SC, for a mini camper. Full details, photos, build, and more to follow in a longer blog post when I have it in my hands and set up. “It doesn’t make any sense. That’s why I trust it."
Two years ago this week, Glass launched for iPhone. I had subscribed right away because I wanted to support their work and saw potential in it, even if I will always default to posting photos to my own blog first. Since then, Glass has added an Android version and a web version, along with other improvements like tags and appreciations.
Not long after Glass launched, we added special support in the Micro.blog iOS app for it. You can see a video of how it works in my blog post here. Unfortunately in the rewrite for Micro.blog 3.0, we had to temporarily remove the feature, although it’s slated to come back in version 3.3.
In that post about supporting Glass in 2021, I wrote:
Glass is so new that it remains to be seen where the app will go, and how it might expand in the future. It shares some of the same principles as Micro.blog — no ads, no algorithms, no likes — but Glass lacks important open web features like domain names and IndieWeb APIs.
Glass still lacks those features for the open web. After a couple years, if having an open API was at all on the radar, it probably would have happened by now in some form. The founders seem more interested in creating an Instagram alternative — another silo without an API or federation with other networks. And in 2023, I don’t think that works.
There is now mainstream pushback against big centralized platforms. We have Micro.blog and Mastodon. We have free photo platforms like Pixelfed. It is a harder sell for customers to spend $5/month for a photo service that is mostly disconnected from the rest of the social web.
I was thinking about Glass while looking into their export format, in case we wanted to support importing it into Micro.blog. I don’t plan to cancel my subscription, but I would not be surprised if many Glass customers have slipped away. The latest big announcement from Glass — an optional $99/year Patron membership — is geared toward increasing revenue from existing customers rather than growing the customer base.
We’ve been running Micro.blog for 6 years. I know how hard it is to balance marketing to new subscribers, keeping churn down, and offering new features regularly, including upgrades to higher subscription tiers. We barely have it figured out now and we were certainly a long way off after only 2 years. The default for SaaS platforms is the slow ramp of death.
There are effectively no success stories for Glass’s current business model. Small clones of Instagram and Twitter usually fail. To break out, there has to be something fundamentally different. For Micro.blog, the answer is simple: we are a social network but our business is blog hosting, a proven model. For Glass, the answer is less clear: they care deeply about photography, community, and design. I think the founders deserve a lot of credit for creating something beautiful. Is that enough?
I don’t know what the right model is for Glass, but I’m confident that it should include a strong foundation for open web standards. I hope that can be part of their vision. It might even be critical to the future success of the service.
Discovered the Snow Peak brand of camping-related products this week… Love the design. I didn’t know I needed $50 chopsticks for camping, but now I want them! Seriously though, some amazing stuff here. Camp stove with modular kitchen setup looks great.
August is halfway over? Summer must be slowly winding down. Last chance to get our special Summer of Blogging $1/month blog hosting. A great value that includes all the standard features that are built into Micro.blog, like full blogs, photos, book blogging, and cross-posting to 8 platforms. ☀️
This year I’ve fallen behind in email again. Very sorry to Micro.blog folks who have waited patiently too long for an answer. Attempting to dig out by replying to all emails from today and also some of the oldest emails, each day until caught up.
NBA in-season tournament dates announced. It’s a little odd to me how it’s spread out over so many weeks, but I’m still excited about it. Should make all of those games much more interesting. 🏀
Stayed up late watching the Georgia indictment details get revealed. Incredible to see the conspiracy outlined so thoroughly even though it was expected. There was also an excellent interview with Hillary Clinton on MSNBC. Trump will not be president again. No way. 🇺🇸
I recorded a video walk-through of Epilogue today and posted it here. Shows off the basics of tracking books you’re reading, and also a few not-so-obvious features.
It has been a great summer for movies. We’ve wrapped up seeing most of the “big” movies, so here’s a mini review of each.
Spider-Man: Across the Spider-Verse. I love the art style in these movies. When the big animation studios moved from 2D to 3D, we lost some of what made hand-drawn animation so beautiful. Getting a little bit of that back now.
Mission: Impossible 7. So much fun. The driving off the cliff scene might’ve been a little over-hyped leading up to the movie. Super dangerous but I think scaling the skyscraper (in 4) and hanging on to the side of a cargo plane (in 5) were both more stunning. Still, some great action.
Barbie. Really enjoyed this. It’s the kind of movie that you wouldn’t think would work. In the hands of a less-capable director, could’ve walked the line poorly between bad and brilliant. Still listening to What Was I Made For? by Billie Eilish.
TMNT: Mutant Mayhem. Pushing the boundaries of 3D animation again like the Spider-Verse movies. I remember reading my friend’s original black and white TMNT comics back in the day, but the new movie doesn’t require any previous knowledge to enjoy it.
Oppenheimer. Possibly a masterpiece. I was expecting great visuals, which is why we waited to see it on 70mm IMAX, but the pacing and acting and everything else also blew me away. Lots to think about afterwards. The best movie I’ve seen in years.
Packing up some old books. I’m trying not to look at everything, but every once in a while there is something priceless tucked away in a book that I had forgotten about, sometimes decades old. An old letter, postcard, or sketch.
I added a tags window in the latest Mac app for Micro.blog. Makes it easy to filter your bookmarks to a tag from the keyboard. Hit command-shift-T, type part of the tag, then the return key to focus the list, and return again to navigate to the tag. (Tags are for Micro.blog Premium.)
I enjoyed the conversation on the latest ATP about text editors. Lots of deservedly good praise for BBEdit. I’m sure the hosts have gotten feedback about this already from listeners, but surprised there was no mention of Panic’s Nova.
Feels like a good time to give an update on what text editors I’m using these days.
Xcode: This is obviously still the only reasonable way to go for Mac development. In the last few weeks I’ve shipped some updates to Micro.blog for macOS. Always fun to fire up Xcode, hammer out a feature, and ship it without much fuss. A couple things seem slower than they used to be, like debugging and auto-complete, but otherwise no complaints.
Nova: This is my go-to text editor for web projects now. Ruby for the Micro.blog web platform, JavaScript for the React Native app. Nova is arguably the most modern, native Mac text editor, and regularly updated. Lots of depth and I haven’t even scratched the surface with extensions.
Ulysses: This is essentially my note-taking app. I sync to a Dropbox folder with thousands of little text files. I prefer Dropbox instead of iCloud so I can edit more easily in any app, with backups and restoring old versions. I put draft blog posts here, notes about projects, upcoming trips, and anything that isn’t code-related.
BBEdit: This is for everything else. Looking at JSON and XML. Processing large text files, find-and-replace, grep. As a quick scratchpad for code or notes that I’m going to throw away. I haven’t totally customized it like John Siracusa, but I do have a couple shortcuts and scripts that I depend on. Rock-solid app that has withstood the test of time.
Austin this morning from the train station. Unfortunately just a drop-off, not going anywhere myself.
Whenever I create a new file in Xcode and choose Objective-C as the language, I laugh a little. Am I creating more technical debt or am I saving countless hours of time not dealing with the sharp edges of half-baked new tech? Zig when they zag.
Just posted this week’s episode of Core Intuition: Homemade Granola. Not actually about food. We talk through my frustration with Apple-only development, Apple’s power over distribution, and where the Vision Pro sits on the spectrum of open to closed Apple platforms.
Back to cool air after our upstairs A/C went out for a day. Something usually breaks every summer, and the heat has been especially ridiculous in Texas this year. Very thankful for a quick repair, less than 24 hours. ☀️
Did some testing this morning with Goodreads and it’s slow and clunky. Timeouts. Really happy with how much we’ve streamlined Micro.blog’s bookshelves so they are fast. Paraphrasing a Jason Fried quote: we can’t predict the future of technology, except that no one is going to want apps to be slower.
Spent the afternoon polishing up the next Android release of Epilogue and submitting it to Google. Because I don’t use Android often, I don’t have a great sense of what UI feels right. Things like swipe-to-delete are very inconsistent across apps. New version is definitely better, though.
Congrats to Casey Liss on shipping Callsheet. I’ve been using the beta. Great app for quickly looking up someone from a movie or TV show while on the couch. This will replace IMDb for most people… It’s just a better experience.
Great article by Christina Warren on the history of the App Store and why we’re due for some kind of change, likely helped along by the EU’s Digital Markers Act. Apple taking a cut of all developer revenue is not sustainable forever.
Interesting news on GitHub for Mastodon search, noticed via @darnell@one.darnell.one. Full-text post search is coming, will be opt-in. Discoverability and search is a frequent topic on Micro.blog so I’ll be following this closely.
I’ve gotten out of the habit of posting to Threads. I like the foundation Meta has built with Threads and expect it to be successful, but I’m going to scale back my use until ActivityPub is ready. Most of what I write (including this!) needs to start on my blog.
Fixing bugs and submitting apps to App Review this morning. As a long-time Apple developer going back to the 1990s, I now spend most of my time on web and cross-platform technologies. I’ll always love the Mac, but what a trap the Apple-only development rabbit hole is. Apple is too big and dominant.
Today we added Pixelfed cross-posting to Micro.blog. This joins our existing set of cross-posting services like Mastodon, Tumblr, Flickr, Bluesky, Nostr, and others.
Now you can post photos to your own blog, at your own domain name where you control your identity, and have Micro.blog send a copy elsewhere automatically. When posting, you can optionally select which services you want to include:
Because Micro.blog has built-in support for ActivityPub, your friends on Mastodon can also follow your blog directly without you needing to copy anything, or without you needing an account on any other platforms. There’s a lot of flexibility in how you want to configure this and which services you want to use. Some people even like to create a separate microblog just for photos.
As with all Micro.blog features, we’re looking forward to hearing how people use this. Photos are special, and there’s always more we want to do with them. We’ll continue to tweak the Pixelfed cross-posting based on feedback. Enjoy!
New blog post editor for Micro.blog from @amit: Scribe. Clean, full-screen editor with styled text.
Snapped this photo while we were making a u-turn in Dallas the other day. Took my daughters here 14 years ago for lunch with their dolls. 🥲
I’ve driven by this tower a bunch of times on I-35 and was always curious about it. Turns out it’s an experiment in wireless energy transmission, built in 2017. A century after Nikola Tesla, fascinating that folks are working on this again.
We added a new about page with a little more about what Micro.blog is and what our values are.
I’m still waiting to see how DMs evolve in the fediverse before deciding what to do with Micro.blog, but one thing I’m sure of: we’re not going to have messaging that isn’t encrypted. Private replies to Mastodon users (which works now) will remain as a legacy feature, mostly hidden away.
Interesting what @dansup@mastodon.social is up to with a new messaging app called Sup. Early video demo is here. Sounds like it uses Mastodon to connect with users, but Signal protocol instead of ActivityPub for messaging. Meanwhile I still like Nostr’s approach to encrypted DMs.
Frustrated with Dropbox ever since Apple required these sync apps to move to a new official API. Dropbox was rock solid, always working. Now I see frequent Finder errors or refusal to move files around. I know, “security”, but from sandboxing to this, not convinced locking down macOS actually helps.
For folks who have been using Micro.blog bookmarks… First of all, thanks! I’m curious: do we need a workflow for tracking “unread” or “read” articles? I’ve been wondering if we could do something clever so you could “tag” an article as read, maybe with an emoji or special tag.
Empty apartment with built-in bookshelves, just one potential future. We’ve been thinking about downsizing ever since all the kids moved out. Change is hard, though.
Finished reading: Age of Myth by Michael J. Sullivan. This was great. Really well paced, seems like a perfect setup for the series. First of six books. 📚
Writing some new web page text and maybe it’s early in the morning or maybe I watched too much of the news already today, but when I tried to type “independent” I misspelled it and it auto-corrected to “indictment”. 🇺🇸
Wasn’t expecting this kind of profound wisdom from the apartment sales guy today: “The world is too big to stay in one place.”
When the coffee shop recognizes me and remembers my regular order, it’s gonna be a good day. ☕️
If you’ve been fascinated with the Worldcoin Orb, but not sure how to feel about it, check out Molly White’s comprehensive write-up:
Having my eyeballs scanned by a shiny chrome orb so I can someday receive cryptocurrency disbursements because artificial intelligence has stolen my job sounds like something from the pages of a half-baked sci-fi novel. It also sounds like the kind of operation that venture capitalists would value at over a billion dollars.
Over the last couple years, I’ve gone from mostly reading books on a Kindle (Paperwhite), to only on the iPad Mini, and now back to the Kindle (basic 6-inch). Actually prefer the smallest screen.
Recorded another very short screencast to show the latest Micro.blog for macOS update. Less than a minute long. It’s here on YouTube.
Didn’t realize how exhausted I was toward the end of the week. Yesterday shipped new features, then took a nap after dinner, then read, then had a full night’s sleep. Up early and worked on the Mac app, shipping the 3.0.1 bug fix update. Feel back on schedule now.
Today we are shipping a new feature for Micro.blog Premium subscribers: bookmark tags. This is a big improvement for using bookmarks, and it touches several parts of the platform and apps.
There is updated documentation for bookmarks with new screenshots. There is a new version of the Mac app: version 3.0, with not just bookmark tagging but also a new interface for seeing recent highlights.
Wait, highlights? Yes, a little-known feature in Micro.blog Premium is that you can bookmark anything, not just short microblog posts. When you bookmark web pages, Micro.blog downloads a copy of the text so you can read the web page later without all the clutter. In this reading mode, you can select text and save highlights to your Micro.blog account, making it easier to find passages of important text or blog about them later.
I recorded a screencast video here on YouTube with a demo of bookmarks and highlights. It’s 8 minutes long. 📺
We’ve been thinking a lot about how to improve bookmarks. One seeming disconnect is that your hosted blog uses categories, not tags. This was deliberate: categories are generally simpler and more obvious as a navigation aid on your blog for readers. In other words, categories were chosen as an optimization for your readers, and deciding to only have categories and not tags keeps the interface in Micro.blog streamlined.
You’ll need different tools to organize bookmarks, and you may eventually have thousands or tens of thousands of bookmarks. Micro.blog imports existing bookmarks and tags from Instapaper, Pocket, and Pinboard. The ad-hoc nature of tags is more flexible and optimized for quickly adding bookmarks, compared to blog posts where you may want to put a little more thought into where readers expect a blog post to live within a shorter list of categories.
We’ll continue to improve bookmarks as we hear from folks who are consolidating their data to Micro.blog. I expect there will be feedback about different workflows people are used to.
A note on pricing. Micro.blog Premium is our $10/month subscription, with the bookmark features plus podcast hosting, video hosting, and email newsletters. While nearly every other service in the world has increased their prices in the last few years, Micro.blog’s base subscription remains at $5/month. We can do this because we have customers who have upgraded to the optional $10 plan.
If you’ve been wondering about Micro.blog Premium, I hope these new features give you a reason to check it out. You can upgrade or downgrade whenever you want. We never delete your data when downgrading, so it’s always there if you want to come back to it.
Happy bookmarking! 🏷️
At this point I just laugh when Xcode tells me WebView has been deprecated since macOS 10.14. I know! I could set aside a week to rewrite code that works, or wait until it’s removed from macOS, which I’m skeptical will ever happen. (Haven’t updated to Sonoma yet, though…)
Finished reading: Dungeons & Dragons: The Druid’s Call by E. K. Johnston. I think I was drawn to these prequels because of the fond memories I have of reading Dragonlance back in the day. 📚
This time we got him! 😜 New surprise indictment:
According to the court filing, Trump employees attempted to delete security footage at the Florida resort and one said “the boss” wanted a server deleted.
🇺🇸
Going to bump to version 3.0 for the update to Micro.blog for macOS tomorrow. I think it’s warranted with the new bookmarks stuff, but also because the last version was 2.9.1 and I don’t believe in .10 versions. (It’s hard to explain… Somewhere in the Core Intuition back catalog we talk about this.)
Listening to What Was I Made For?, by Billie Eilish. Went to see Barbie a couple days ago and still thinking about it a little. Really good. 🎶
Threads appears to count every character in a URL as part of the 500 characters. A little surprising because I’m used to either Micro.blog (with inline links so no URL counts) or Twitter and Mastodon (with all URLs counting as a fixed size).
Micro.blog doesn’t have full search or hashtags by design, and I know it can be frustrating sometimes. I hear it. But this report on child abuse material across Mastodon instances is part of why:
During its search, the team found 554 pieces of content that matched hashtags or keywords often used by child sexual abuse groups online
Until moderation and automatic flagging can be deployed at scale, it’s better to go slowly.
Dave Winer posted a 12-minute audio recording on his blog, addressed to me but applicable to everyone who is creating tools for the social web. Listening to it, I have a bunch of thoughts. In this post, I just want to start with server-to-server ActivityPub, and leave some of the other technologies Dave brings up for later.
A few days ago I was revisiting the ActivityPub code in Micro.blog because we have some interoperability problems with Calckey, now called Firefish. Firefish is a Mastodon-like platform with a few unique design twists and features. To narrow down where things were going wrong, I read through the ActivityPub spec again and also looked at JSON responses from other platforms like Mastodon and Bridgy Fed.
To frame this blog post I’ll put forward this question, at the heart of interoperability on the fediverse:
Is it possible to implement a social web platform by reading the suite of ActivityPub specs, and have that new platform be compatible with Mastodon?
I would argue no, it is not possible. A new project would only be compatible with Mastodon by accident because there are some things that are not spelled out in precise detail in the specifications, and no JSON examples that exactly match what any server sends or expects. The specs have all the pieces, but not how to fit those pieces together.
In addition to the specs, Mastodon’s own documentation is very good, and it has improved even in the last year. But again, if you ask a developer to implement ActivityPub, they will naturally start at the W3C.
I hope this doesn’t sound overly critical. The fact is, ActivityPub is complicated, and by design this kind of architecture can only be simplified so much. A lot of great work came out of the W3C’s Social Web Working Group, including IndieWeb standards, and I don’t think the authors had enough time to get consensus on some parts of ActivityPub before publishing, nor could they predict everything a platform like Mastodon or Micro.blog might need. Recently, Evan Prodromou has been leading the effort to address GitHub issues and move things forward.
I said “suite” of ActivityPub specs above because ActivityPub is not really one thing. There’s the ActivityPub spec itself, but also ActivityStreams, HTTP Signatures, WebFinger, JSON-LD, and the working group note on authentication.
And there are other features, such as account migration between instances, that are not documented outside of Mastodon. This is why the IndieWeb principles warn of monoculture. We are lucky that Mastodon cares deeply about the open web, because other dominant platforms might have less incentive to make their extensions work outside their own ecosystem.
The current fediverse is impressive. It’s further along than most people would’ve guessed possible a few years ago, largely thanks to Mastodon’s polish and Twitter’s implosion. The next step should be getting to the point where the answer to my question above can be “yes”. How can new developers add support for ActivityPub without feeling like they are reverse-engineering every existing server?
We don’t necessarily need a new spec, although it would be helpful to have a single document that ties everything together — a guide that a developer could use to build something and be confident that it has a chance of being compatible with other platforms. I also think we should consider further simplification, such as making JSON-LD optional (!) and drafting a streamlined version of ActivityStreams with only the bare minimum object types that most servers need.
There is a lot of work to do, even outside of ActivityPub. As Dave mentions, we also need a common posting API. The most popular Mastodon client apps do not support either ActivityPub or Micropub. But a lot of progress can be made focusing on interoperability for the server-to-server part of the API. That should be the top priority with Threads set to join the fediverse.
Working on a new Mac feature that would be nice with SwiftUI, but we still run back to macOS 10.14 Mojave. Would have to jump forward several versions of macOS. Not worth it. Do plan to bump up the requirements a little, though.
Got my copy of Yumi and the Nightmare Painter in the mail today. I continue to be amazed at how great these print editions look. My favorite so far. 📚
Interesting that for single-letter .com domains, only q, x, and z are in use. They were registered before ICANN reserved the rest of the letters in 1993. I typed a through z in manually but could’ve saved time by reading the history on this Wikipedia page.
I’m still a little stunned that Elon followed through on x.com, even though it was expected. It’s remarkable how he both fixed the last decade of indecisive leadership at Twitter and used that new power to destroy the brand, maybe the one thing at Twitter that wasn’t broken.
The second FediForum has been announced, coming up in September. I really enjoyed the discussions at the last event and plan to attend this next one. They also have the video for the quick demo I did of Micro.blog and how it interacts with Mastodon.
Occasionally I go looking for new domains and I’m always annoyed with all the new TLDs that Amazon has reserved that they don’t allow anyone else to use: .book, .read, .like, and others. They’ve been sitting on these for years. It’s like domain squatting at a massive scale.
Spent a few hours yesterday trying to get Micro.blog to work better with Calckey (now Firefish). Made progress but not enough. ActivityPub remains extremely difficult to debug without reading the source code for other projects.
Finished reading: The Ember Blade by Chris Wooding. Read the first half of this a few months ago and then took a break before picking it up again. Really gets going in the second half. Excellent. 📚
A new episode of Core Intuition is out. We talk about Apple’s threat to withhold iMessage from the UK, what is acceptable for public surveillance, and the larger issue of powerful tech companies leveraging their size for good and bad.
Dusted off the old Drobo, which hasn’t been plugged in for a year. A little surprised it still seems to work. Don’t feel great about investing in a dead product, but might get another drive to put in it anyway.
Thinking about ActivityPub made me wonder what Tumblr has been working on, so I clicked around over there for a bit. I missed that Tumblr has live video now, with tipping in “diamonds”? Seems a little out of place with the rest of the platform.
Reminder that it’s still summer, which means we’re still offering blog hosting for only $1/month to new folks who join Micro.blog. There’s no easier way to blog that’s as full-featured and affordable. Feel free to share the link to anyone who might benefit from it! ☀️
Major addition to bookmarks in Micro.blog is coming along really well. Likely will ship next week. 🏷️
Power in the house went out. Summer in Texas is never a great time for this. Hopefully not long, lots of worker trucks in the neighborhood trimming trees and scheduled maintenance on the meters. Getting almost no signal on Verizon, so had to go to the coffee shop for a while to work. ☕️
I still believe we should welcome Threads to the fediverse, but the news that ActivityPub seems far off has soured my experience posting manually to Threads from my microblog. They grew too big, too quickly. Meanwhile, sounds like Tumblr’s ActivityPub effort has also stalled.
As I think about how to add tags to bookmarks in Micro.blog, I’ve been drawing inspiration from services like Pinboard but also my own (now sadly defunct) Mac app Clipstart. This video demo was from way back in 2009… I think the tagging UI is still really good.
Just posted a new episode of Core Intuition all about the Threads launch. Misunderstandings about ActivityPub, judging the leadership of Meta and Twitter, and whether Threads will beat Tumblr to supporting this open standard.
Frustrated with emails not reaching Micro.blog users, I’ve been working through steps to make things more robust. First added SMS as an option, then Sign in with Apple, and today we’re moving a percentage of emails from SendGrid to Amazon SES so we’re not reliant on a single platform.
We finally installed a new smoke alarm that has only been sitting unopened in its box for about two years. Feels like a major Saturday accomplishment. Very slowly upgrading everything.
First thoughts on Retro: great design and for me fills a similar role as BeReal. Not a true Instagram or photoblogging alternative because it’s focused more on private-ish photos. We don’t need another silo but in that niche they can get away with not being open.
Love this post from @adactio not just because he’s using Micro.blog cross-posting (thanks!) but also because the approach is exactly what we believe in. Start with your blog first:
When the current crop of services wither and die, my own website will still remain in full bloom.
I don’t plan on using Threads indefinitely, but I am curious about the user experience, both good and bad. The algorithmic timeline is so puzzling to me. Despite following people who are posting, I first always see posts from people I’m not following. Seems overly tuned to the popular.
Over the last few days we rewatched Mission: Impossible 4-6, then went to see 7 tonight. Enjoyed it. Intense as expected. The audience was into it, laughing and clapping. 🍿
As the fediverse grows, new people will hear about Micro.blog and send us feedback about how we can improve. Always good! I listen to everything. On the other hand, the fact that the fediverse is so big means we can do things differently and still be successful. Not all platforms should be the same.
Reminded by Jeremy Keith’s post of this quote from Robin Sloan. Beautiful, true:
The speed with which Twitter recedes in your mind will shock you. Like a demon from a folktale, the kind that only gains power when you invite it into your home, the platform melts like mist when that invitation is rescinded.
Finished reading: Yumi and the Nightmare Painter by Brandon Sanderson. This book alone was worth backing the Kickstarter project. Loved it. 📚
A new TestFlight beta is out for Micro.blog 3.1. The big changes for this release are per-post cross-posting options and video upload. (Might still be some problems for certain video files. Proceed cautiously in that part of the app.)
We’ve known for years that our onboarding in Micro.blog is bad. It’s tough to start with no followers and no recommended users. But even so, we’re not going to do the Threads or TikTok thing to just show a bunch of random popular crap. There’s gotta be a middle-ground to help people without that.
There are some quirky code design decisions in Micro.blog. For example, I prefer flat structures and all model classes are single words. Most are database tables and some are background tasks. Sounds obvious until you look at literally any other large web server project (and try to name things).
Accidentally clicked the “Post” button instead of “Bookmark” on that last link. Deleted it and the deletion should’ve propagated everywhere. I’ve fully switched to Micro.blog for managing bookmarks and web highlights… Perhaps we need an additional check to avoid accidental posts of just URLs.
The wild thing about Twitter’s demise is that it’s not too late to turn the platform around. Now that it has been burned to the ground, it could be rebuilt with a focus on standards, community features, and useful paid subscriptions. Would need new leadership, like a reverse-takeover from Bluesky.
Love what we saw from Victor Wimbanyama over the weekend. I missed some of the 4th quarter from yesterday’s game, so rewatching the highlights. Go Spurs Go. Next season is going to be fun. 🏀
I thought it would be a fun weekend project to port a simple WordPress.com theme to Micro.blog. What a mess! Lots of different CSS files that look like they were generated by machines, not humans. It’s drifted too far from the “view source” web.
Working on some more flexibility this morning to give people options for blocking Threads and other instances. Mixing lots of account types in one system is increasingly complicated: Micro.blog usernames, Mastodon handles, IndieWeb domains, newsletter email addresses… Spaghetti code.
Evolving thoughts on web scraping. First, I figured anything goes. Later, I was hesitant to depend on any web site structure that would break, and I wouldn’t work around attempts to stop scraping. Now, I’m back to thinking if you don’t want people to see something, don’t put it on the public web.
With Threads hitting 80 million users already, a lot of folks are dismissing Bluesky. But maybe it’s more important than ever for Bluesky to succeed. Or pivot slightly and implement enough of ActivityPub to co-exist? Micro.blog already cross-posts to Bluesky and I haven’t ruled out full federation.
Fighting with our Nest thermostat all week. It wants to save energy and I want to not die of heatstroke in my own house. ☀️
“I can’t wait to wear that Spurs jersey for a first time.” — Victor Wembanyama, ready for NBA Summer League in Vegas tonight 🏀
Ben Werdmuller blogs some second thoughts about Threads:
But there’s a bad taste in my mouth that isn’t going away, that has its roots in the genocide that Meta enabled through its actions and inactions, and the political polarization in the United States that it was undoubtedly a part of, and in Cambridge Analytica…
Good post. We haven’t forgotten about this or any of the other problems with massive ad-based platforms. I think it’s okay to hope that Threads is a step forward for open networks and want Facebook to fail to control social media again.
My posting workflow this morning: I post to my blog from my Mac, it goes out via ActivityPub, RSS of course, and Micro.blog sends it to Bluesky and Nostr. Then I go to my iPhone and… copy/paste it into Threads! iPhone-only may have been alright for Instagram, but it’s not gonna fly here for long.
There’s some great stuff in this comic. This rings true:
One of the most fun things about Twitter is complaining about being on it all the time because I am wildly addicted to it and how miserable it makes me. I hated it until Elon came and ruined it now I want old Twitter back again so I can hate how it was before again.
🤣
Watching CNN this morning over breakfast, they said “fediverse”… So yeah, decentralization is edging into the mainstream. Progress.
Finished reading: A Prayer for the Crown-Shy by Becky Chambers. A great second book. Hope there are more of these. 📚
One of the things I’m most proud of with my blog is how consistent I’ve been about the problems with social media. It felt a bit tilting at windmills to quit Twitter in 2012. No love for Facebook, either! But now we have a framework for solutions and can judge these big companies beyond gut feeling.
I’ve been blogging short posts this week about Meta’s launch of Threads, but I think it’s worth a slightly longer post with a quote from this interview with the head of Instagram, Adam Mosseri, on the Hard Fork podcast. Adam has a couple answers to why ActivityPub. The part that is most revealing to me is that he sees the industry going this way already:
I do think that decentralization — but more specifically or more broadly — more open systems are where the industry is getting pulled and is going to go over time. And for us, a new app offers us an opportunity to meaningful participate in that space, in the way that it would be very difficult to port an incredibly large app like Instagram over, and so to lean into where the industry is going.
This didn’t happen by accident. Many developers have been working to bring awareness to the problems of massive, centralize platforms — and bloggers and journalists have been doing the same — so much that users increasingly understand the value of decentralization and content ownership. Not everyone has jumped into Mastodon for various reasons, and not all smaller platforms have taken off, but it still helps get to where we are today that one of the most closed platforms ever (Facebook) is on the verge of rolling out support for an open protocol.
Eugen Rochko also blogged about this as an important milestone:
The fact that large platforms are adopting ActivityPub is not only validation of the movement towards decentralized social media, but a path forward for people locked into these platforms to switch to better providers. Which in turn, puts pressure on such platforms to provide better, less exploitative services. This is a clear victory for our cause, hopefully one of many to come.
What’s next? Imagine if later this year or early next year, Tumblr is able to follow through on their goal to support ActivityPub. Having such large platforms be even halfway interoperability was only a dream a year ago.
Posted this week’s episode of Core Intuition. Random topics like the potential Elon vs. Mark fight and then a first-look at macOS Sonoma’s support for saving web apps.
Blaine Cook on Threads bootstrapping from Instagram. I’ve seen a couple variations of this from other folks too:
Threads is blowing up because Facebook is using their monopoly on the social graph. Legislation to guarantee easy, fast access to your own contact lists for use in non-billionaire-owned media would help level the playing field, because Zuck & co sure aren’t going to give the connections they stole back to us otherwise.
Ignoring fairness, it would’ve been more interesting if Threads had started from scratch, even just as a comparison with e.g. Mastodon stats.
Nice instructions from @Mtt on how to use Micro.blog to verify your Bluesky or Nostr domain. Hopefully we can make this a plug-in or setting later.
I’ve been saying for a while that the fediverse will likely evolve to having maybe 10 medium-sized platforms, not 1000+ small servers. It won’t be a failure if Threads is one of those. It’s still much better than a single platform with a billion users.
Manually cross-posting to Threads to play with it and learn. As soon as it federates I’ll stop posting and people can just follow my Micro.blog-based blog directly.
Really enjoyed the new Indiana Jones. Easily the third favorite after Raiders and Last Crusade. 🍿
Meta’s Threads will obviously have ads later. Until now it hasn’t been clear what business model Bluesky is going for and whether it aligns with most users’ interests. Great to see their first paid service is domain name registration.
Setting up Threads. No surprise that getting started based on Instagram identities is super easy, even though I stopped posting to Instagram years ago. Smart move by Meta. (Doesn’t mean I like Facebook. Just exploring.)
This is not what you’d expect to hear from a Meta executive, but it’s exactly right:
…you may one day end up leaving Threads, or, hopefully not, end up de-platformed. If that ever happens, you should be able to take your audience with you to another server. Being open can enable that.
Finished reading: The Frugal Wizard’s Handbook for Surviving Medieval England by Brandon Sanderson. Another totally different book from his usual. Fun. 📚
On pretty much a daily basis I’m torn on whether to enforce real tabs everywhere even in shared code or give up and use spaces. Tabs as spaces are so much worse, it’s still surprising that most of the JavaScript and Ruby world has settled on them. Trying to fight it creates new problems.
Just noticed this cool Glitch project from @AngeloStavrow to test styling Micro.blog’s Sidebar.js feed. Pretty amazing what Glitch can do.
Very frustrated with our Micro.blog emails being flagged as spam too often lately, so today we added the option to get a text message when signing in. This is a little experimental and will likely evolve. Should be fast and reliable if you want to add your phone number to your account.
One of those weeks where I’m a bit in over my head with bug fixes and email. Making progress.
Realizing that Brandon Sanderson’s secret project #3 is coming out in just a few days. And it’s another book in the Cosmere! Want to try to finish #2 this week even though they’re not related. 📚
Always feels good to release Mac software. No need to get permission from Apple. No delays when the build is ready to when it gets in people’s hands. Today we updated Micro.blog for the first time in a little while. Nothing major, just a little better.
Just in case we needed another reason to re-watch Across the Spider-Verse:
“I was wondering when people might start noticing…” Andrew Leviton said in response to a fan who noticed two different versions of a scene.
🤯
Spilled beer on my laptop yesterday. Seemed fine, but this morning the trackpad isn’t very clicky. It’s an older Intel-based MacBook Pro… Really did not want to upgrade yet. 🍺
Meta is working on a Twitter-like platform called Threads, codenamed Project 92 or P92, rumored to support ActivityPub soon after launch. Some Mastodon instances are committing to proactively block it. I’m here to take the opposite view.
Meta adopting ActivityPub has the potential to fast-forward the progress of the social web by years. Ever since I grew disillusioned with Twitter a decade ago and started pushing for indie microblogs, then writing a book about social networks and founding Micro.blog, I could only dream of a moment where a massive tech company embraced such a fundamental open API.
I get the concerns. I’ve never trusted Facebook either. I don’t post to Facebook and in Micro.blog we had to disable cross-posting to Facebook after they burned us with API changes. But this is an opportunity with Threads that I’m going to celebrate because it could have a significant, mostly-positive impact on growing the fediverse.
Johannes Ernst raised an important question: will the fediverse grow faster organically, cut off from Threads, or faster with the chance to bring Meta users over to the larger fediverse? And I’d zoom out from that to the big picture: do we really want to be a community that discourages for-profit companies from adopting open APIs?
To succeed with mainstream users, the fediverse should encompass many types of platforms and business models. Not just open source. Not just volunteer-led instances. Micro.blog charges $5/month for blog hosting so we can keep doing this and growing for the next 20 years.
Let’s talk about data privacy. My blog is public already and Meta is free to crawl it and its connections to other blogs. Admittedly, there are problems… For example, Mastodon direct messages were a concern in SciComm.xyz’s decision to block Meta:
Federation would allow Meta to cache non-public data too, such as followers-only and direct messages, which pass through its servers as part of the normal workings of ActivityPub.
This is valid. It’s effectively a design flaw that direct messages can leak out in plain-text to Meta’s servers. The good news is that people are already thinking about how to handle encrypted direct messaging in future revisions of ActivityPub. There have been a couple recent discussions on the SWICG mailing list about this.
Unfortunately, it’s likely that Threads will implement only the parts of ActivityPub that serve Meta’s business, ignoring features such as account migration that would allow users to move their followers from Threads to Mastodon or Micro.blog. Before we judge Meta too harshly, I don’t think most non-Mastodon servers support account migration either, and even Mastodon itself doesn’t support post migration.
In other words, maybe we get our own house in order, so that if larger platforms come on board there are clear best practices for doing things the right way. There is still a lot to do. As impressive as the ActivityPub adoption has been over the last year especially — and kudos to Eugen Rochko and the Mastodon community for ramping up so well to welcome Twitter refugees — it’s still early days compared to where we can go.
I don’t worry about Meta embracing ActivityPub and then extinguishing the fediverse as we know it. I worry that all this pushback will force Meta to reconsider whether they should even bother. Maybe they give up and Threads is yet another silo, cut off from the rest of the web. Then the current fediverse will have to compete directly for users instead of collaborating on a more open vision where the walls of closed gardens are finally starting to break down.
Tim Chambers blogged about how we can react to Threads. Perhaps most important is to prioritize our existing communities:
And remember we only have to protect the 1.3 million monthly active users inside the Fediverse. And we do that now every day. Spammers and toxic accounts inside the P92 network we or our social graph don’t follow is their problem. Our problem is protecting our people.
For Micro.blog, we will not proactively block Meta. We will, however, build tools for users to choose how they want accounts to federate with Threads.
Our users are passionate about indie blogs. They often support small companies and distrust big corporate-y platforms. There could be an account setting to effectively opt out of Threads, just as someone can disable ActivityPub in Micro.blog and only participate in conversations with other Micro.blog users.
I can’t predict how Threads and ActivityPub will play out. Meanwhile, Twitter continues to melt down. Back in 2018, I chose to implement ActivityPub instead of trying to compete with Mastodon. And just this year, we added Bluesky and Nostr cross-posting to Micro.blog, to make it easy to get microblog posts out to these emerging networks.
Let’s build stronger connections across platforms. I don’t want a monoculture where a single platform dominates, whether it’s open or closed. The web will be better if we have a variety of platforms that can interoperate, and users have the power to choose where to host their content, what their web identity is, and who can connect to their posts. The default should be open.
New episode of Core Intuition: AppKit Is Dying. We talk about visionOS, what platforms to dedicate our time too, and Meta’s rumored use of ActivityPub.
Did not finish: The Reading List by Sara Nisha Adams. I usually like books about books, but could not get into this one. I think I was too impatient for the plot to go somewhere. 📚
Can’t get enough of these James Cameron + Titan sub interviews. He seems to really know his stuff. Also not a bad track record as a director… Every movie starting with Terminator is good. Not just a few. All of them. 🍿
News media loves the suspense of an unfolding story. Can’t totally blame them for the Titanic sub coverage. Tragic now that the sub likely imploded days ago while we continued to sit around and watch the coverage. 😔 Rest in peace to those trying to do something amazing, hopefully knowing the risks.
Excited for the NBA Draft tonight. Even though the #1 pick is a lock, there’s a tiny part of me that is worried the Spurs will do something insane. 🏀
Pushed a new TestFlight build with some additional fixes. Likely will wrap this up as version 3.0.4 before we move on to 3.1 features.
I said on @coreint last week that visionOS might be a “zig when others zag” moment for me. As nearly everyone downloads the new SDK, I’m sticking to that motto. Going to ignore as much of Vision Pro as I can and work on stuff I can ship now to users who have $5 but not $3500.
Love these eWorld photos posted by Stephen Hackett at 512 Pixels. Brings back a lot of memories. 1990s Apple software had so much personality, and this was the height of it.
I don’t have much to add to the Meta vs. the fediverse debate beyond what John Gruber has written about. Big platforms using open APIs is a good thing! Much better than closed silos and locked-down APIs. I don’t trust Facebook either, but preemptively blocking them is shooting ourselves in the foot.
Good morning, Libby fans. Experimental feature now available in Micro.blog: go to this special path in Micro.blog in your web browser: /account/libraries. Enjoy! 📚
If you’re frustrated and typing in Terminal, the harder you pound on the keyboard, the more effective whatever you’re working on is. It’s science.
Spent some time last night figuring out how the undocumented Libby API works. Fun. Hope they eventually make an official supported API, but in the meantime we can do some things on an experimental basis. Seeing my library holds within Micro.blog was the last missing piece I wanted. (Stay tuned.)
Across the Spider-Verse was amazing. Love the art in these movies so much. I wish all comics adaptations were like this. 🍿
It has been too long since we’ve updated the emoji in Micro.blog. Via @news, added a few new ones that were in the queue, hopefully can do more this year:
Added two new emoji to Discover: 🧘 for meditation and 🎭 for theater. Also added 🏳️⚧️ to LGBTQ+ in addition to 🏳️🌈.
There’s a new Core Intuition out. We talk more about last week’s WWDC, debate whether Apple is using “AI”, revisit Siri, and skim over some of the other session topics.
Another Brandon Sanderson book has arrived! Secret project #2: Frugal Wizard’s Handbook. Love the illustrations in the margins. I started this on e-book last month but will finish with the print version.
Rolled out changes to the default uploaded filenames in Micro.blog. This is the beginning of the end to the random filenames, although it still falls back on those for many situations.
High of 101° today in Austin. It’s gonna be one of those summers, huh? Gotta get away somewhere.
Despite the chaos at Twitter this year, I’m a little surprised that after paying Twitter for API access for the last couple months my app was still suspended. Just can’t trust big ad-based platforms.
Watched the BlackBerry movie and enjoyed it. Relevant for today too: it’s not a good idea to bet against Apple. Vision Pro is still quite different than every previous Apple product, though… Trying to perfect a niche device category vs. improving a mainstream device that people already want.
Federico Viticci got me with the Don Draper quote for his Vision Pro story. One of my favorite scenes in television, and a quote I used in my book too. Federico goes on:
I’m convinced that Vision Pro and the visionOS platform are a watershed moment in the arc of personal computing. After trying it, I came away reflecting that we’ll eventually think of software before spatial computing, and after it.
I still think it will be decades before this technology is usable and affordable in more AR-style glasses. But it is exciting to read everyone’s hands-on experience of the future.
I posted a video to YouTube to demo Micro.blog’s new reading goals interface on the web. By default it’s private just for you, whether you want to read 2 books or 20. Or none! No pressure.
Great game. Congrats to the Nuggets. And an impressive postseason for this underestimated Heat team too. Now just 10 days until the NBA Draft. 🏀
Since ditching cable years ago, I feel like we’ve tried everything… Sling, PlayStation TV, Hulu + Live TV, even back to cable streaming with Spectrum TV. New favorite: YouTube TV. Only downside is no regional sports networks. Need a better over-the-air antenna for Spurs games.
Only just occurred to me that Apple Vision would’ve been a great product to introduce at the height of the pandemic. Now, we want to reconnect in person, not hide away behind screens.
I recorded a very short (12 seconds!) video on YouTube showing the new toggle in Micro.blog to quickly show just photo uploads or video or audio. It appears for Micro.blog Premium subscribers because that’s where we support video hosting and podcasting.
New web analytics tool from @vincent looks like a nice fit for blogs and small web sites: tinylytics.
I made a little video of my time in Colorado last week, from short video clips and live photos. This is also a test of potentially longer videos on Micro.blog… I cheated to upload this because the file is bigger than the current limit.
Went to a wedding yesterday. No masks, hopefully no COVID. 🤞 My mind kept wandering back to A Psalm for the Wild-Built… Do we need a purpose, or is it enough to be happy and appreciate how remarkable the world and people are? Feeling lucky.
To create this transcript, I split the episode into 15-minute chunks with Fission, because Micro.blog’s OpenAI-based transcription is limited to 15 minutes. Then uploaded the MP3s to Micro.blog and copy/pasted the resulting transcripts into BBEdit. Fixed mistakes and edited to be more readable.
I listened to the latest Core Intuition again to see if my initial take on Apple Vision Pro was way off or unfair. I think it holds up. Here’s a transcript of the conversation with Daniel, lightly edited.
Daniel: Hello, this is Daniel Jalkut.
Manton: And this is Manton Reece.
Daniel: And this is Core Intuition. “Something wrong about this product.” This week’s show is sponsored by RevenueCat.
Daniel: All right, Manton, as so many people are this week, you are traveling, of course, because it’s the most important week of the year for Apple ecosystem developers. So you are in…
Manton: Colorado. Haha, not California. I think I mentioned this a couple weeks ago that I had thought about going to Cupertino and planned a road trip around California again. And it kind of changed to Colorado.
Manton: So totally missed out on all the in-person stuff at WWDC. I did watch the keynote and I did watch some sessions. It was a big WWDC, really big. I’m still wrapping my head around everything and what it means.
Daniel: Yes, me too. A lot of podcasts, a lot of people commentating on WWDC start from the beginning of the keynote and progress through. I really enjoyed the ATP recap along those lines. I don’t think we have time for that.
Manton: No way.
Daniel: I think we jump right to the headset. Because the headset is… That’s the part that I’m still having trouble wrapping my head around. That’s the only thing, quite frankly, that I’m having trouble wrapping my head around. Everything else more or less about WWDC and the announcements made there makes perfect sense.
Manton: Yep. Lots of good announcements, lots of good OS updates.
Manton: Before we get into the headset, I think a lot of people have been lost in the reality distortion and have forgotten to follow up on the fact — I don’t know if ATP mentioned this because I haven’t listened yet, I haven’t listened to a couple of podcasts — but have forgotten to follow up on: did Apple do anything with AI?
Manton: I think the answer is no. Although they did mention transformer-based language models and machine learning, but they skirted around it. I don’t think they did anything significant with AI.
Daniel: Yeah.
Manton: And I don’t think they did anything significant with Siri. They dropped the “hey” from “hey Siri”, but I don’t think that counts. So I just want to point that out because we are so distracted with the headset, rightly so. I don’t want to give Apple a complete pass on totally missing the big story of this year.
Daniel: Agreed. And I was frankly a little surprised by that. I thought that they would… And as you know, I wrote an article about it a couple of weeks ago. I knew that my specific take on it, that they would announce something called Apple Intelligence and that would be their way of kind of owning the initials AI without having to join the pack, so to speak. I didn’t think that was necessarily going to happen. I would have been thrilled if it did.
Daniel: But I thought the minimum was going to be some, especially at a developers conference, something like, we’ve made a arrangement with Microsoft so you can run Copilot at native performance in Xcode. Something like that.
Daniel: It didn’t have to be Apple has reinvented AI. It just had to be: we we can see the elephant in this room.
Manton: No. They had a lot of good updates to Xcode. I mean, I watched sessions. I was really lucky, I was able to hang out with some of the other Colorado iOS developers up in Boulder yesterday. Watched some sessions with those guys.
Manton: And yeah, good updates to Xcode. No problems. But yeah, totally ignored anything with code generation as far as I can tell.
Daniel: Yeah. And real quickly, I’ll just say, I also said something about this. I said, oh, well, you know, sounds like they didn’t say anything about AI.
Daniel: And a few people chimed in, of course, with: well, of course they did. Like you said, the whatever mechanism transformer, blah, blah, blah.
Daniel: That’s not what we mean right now when we say AI. Right now, when anybody in this world we live in, who is not like an AI researcher says AI, they mean large language models and the way that they provide chat or completion based services to users.
Manton: Yeah. Assistant-like stuff and the way Apple is using, I think the transformer language model they were talking about, of course that is part of like chat GPT and whatnot. But I think they were talking about better auto-complete and behind the scenes, seamless stuff. Great. Fantastic.
Manton: But that is just not the same thing as assistants that help you and that feel intelligent, even if they aren’t.
Daniel: Right.
Manton: All right, headset. Vision Pro.
Manton: I was simultaneously blown away by this, and also I still really question the strategy. But from everything I can tell — I was listening to Dithering and Ben and John were just like, this exceeds our expectations of how technically good it is.
Manton: And so I’m trying to take a step back and kind of separate, did they nail this versus should they have bothered to build this?
Daniel: I’ve been joking for a while now, and I mean, the joke has totally come to a head with this idea that the reality distortion field is actually the product now.
Daniel: It’s hard to know, and I agreed with you, I was watching the keynote and everything is so stylized because obviously they can’t show you, or maybe they could, they definitely could show you what it looked like just from the point of view of the wearer. I’m sure there’s like a screen capture recording released in their debug builds right now.
Daniel: But obviously the way they presented it was kind of like giving you an idea by showing you video of a person who’s allegedly looking at the stuff.
Daniel: I actually had the thought during the keynote, wouldn’t it be cool if the way they made those videos was one person wearing a headset looking at a room that happened to have another person wearing the headset in it?
Manton: Welcome to the future, everybody’s wearing headsets, even when they’re in the same room with real people.
Daniel: Well, and that gets at the real… To be honest, when I say my version of wrapping my head around things has a lot to do with the social implications of what such a product means.
Daniel: I had the same gut reaction with Google Glass 10 years ago. You know, products that draw the user inward do not make me feel comfortable about them as social interactive products. You know what I mean?
Manton: Mmm hmm.
Daniel: And I mean, I guess to be honest, I wear my AirPods all the time everywhere. And I know there are people out there still who believe it is rude to be in public and to have headphones on, which I don’t agree with that assessment.
Daniel: And so that might be like kind of an instructive example of people have different takes. But my take is if you’re going to block your eyes out to the world, do not talk to me. Do not talk to me.
Manton: Haha. Yeah.
Daniel: And even with my AirPods, I have social standards, I take my AirPods out when I’m going to like a retail counter.
Manton: For sure. Yeah.
Daniel: And I find it very rude if people don’t do that. I forgive it if they at least turn off the volume and the person doesn’t know that, you know, I kind of forgive it. But the case of something literally covering your face, I don’t want anybody interacting with me like that.
Manton: No…
Daniel: And I definitely do not want anybody interacting with their kids during like pivotal moments of their childhood.
Manton: Yeah. And people will push back maybe on that and say like, well, at the birthday party, we all have our phones out anyway, taking video. It’s just not the same thing. It is not the same thing.
Manton: And I have missed things because I’m looking at my stupid screen. It’s just not the same as covering your face.
Daniel: I think it’s so instinctive to us that covering your face is a way of, I mean, like we do it as humans. We do it when we’re scared of something or we don’t want to engage with something.
Daniel: And I think there’s a lot of instinctive, like animal response to this idea that somebody’s face is covered. And the eyes showing through is very impressive, but very not enough for me.
Manton: Yeah. It was really impressive in the keynote, but I do wonder in real life if it’s just creepy.
Manton: And I wanna acknowledge that we’re judging a product that we haven’t seen. Like some people have actually tried it, friends of ours have tried it, and their opinion goes a long way. We’re just reacting based on what we’ve seen in the keynote and heard people talk and blog about.
Manton: But even putting that aside, I kind of went into the keynote thinking, if it’s technically amazing, would I still want to use it? And would I still develop for it?
Manton: And it turns out like it’s even better than I thought. Even my wildest like expectations of Apple just completely getting this right for what they’re trying to do, it’s even better than that. Super impressive.
Manton: And yet there’s something wrong about this product. And we’ve talked about like AR versus VR, mixed reality, etc. And I even more strongly feel now that I’ve seen it that the number of years I have in my head is 20 years.
Manton: It’s gonna take 20 years for this product to be more seamless with actual glasses-looking things that you can actually see through and people can see your real eyes. More like real AR, at least 20 years, if it ever happens.
Manton: And so it’s certainly a bet on the future, but it’s so far away. It’s so far from being a product that I could use in public, that I could use anywhere that there are people.
Daniel: Yeah.
Manton: I think that is an issue for me.
Manton: I was thinking about this last night, so I’m in Colorado. I’m going to campsites with this van that I rented and just seeing nature and whatnot. And last night I made dinner. I sat at my like picnic table at my campsite and I pulled out my laptop, popped open a can of wine and I caught up on some work.
Daniel: Haha.
Manton: I’m chilling out, kind of in nature, but there are other people around. And I thought, I’m working on my Mac. Would I put a headset on here? No, I wouldn’t. It would be so weird.
Daniel: Even in a fairly remote like.
Manton: Yeah. Because people might walk by, drive by, it would just be weird.
Daniel: You would be so self-conscious.
Manton: Yeah, I wouldn’t be able to concentrate. It wouldn’t matter how much better the virtual screen is than my 16-inch, old-fashioned screen.
Manton: And I think there are areas like that. I work in coffee shops every day. I was working at a coffee shop here outside Denver this morning for a couple hours. I just can’t imagine this product ever being used in that environment.
Manton: Like I said, in 20 years, maybe it’s more like AR and more like real glasses, but this device is so powerful. It’s more powerful than my own Mac. To get it to the point that it can be seamless around people, man, it just seems so far off. I don’t know.
Daniel: I think I’m not quite as pessimistic about the timeline that this technology stands a chance.
Daniel: It’s funny because if you compare it to some Apple products, the chances are not great that it advances very quickly. For instance, the iPad was released 13 years ago. So if it advances at the rate, and just to be clear, the iPad today is an amazing device, so much more advanced than the original, but on the whole, it hasn’t changed that much.
Daniel: The usage is the same, basically. And I think a lot of people expected a lot more development on that front.
Daniel: On the other hand, something like the iPod is about 20 years old and is now essentially something that you wear in your ear. And that is the kind, so just to say, yeah, 20 years, maybe you’re right in that respect. But I could see it happening a lot faster because the unique technological angle here is going to fund this thing.
Daniel: I think even with a very modest amount of buyers, even as a loss product, even if Apple were losing money, I think staying ahead of the pack on this type of product is going to pay dividends for Apple. And the saving grace for me is that I do think there is a point at which it’s kind of the difference between the AirPods being a helmet you wear over your head or the little device you pop in your ear.
Daniel: I still feel a little self-conscious sometimes about my AirPods, but if it were a helmet that I had to wear, you know? Like, this is the helmet, and we’re going to see, you know, assuming everything goes the way I expect, we’re going to see, I think, a lot sooner than 20 years, the equivalent of the AirPod of this.
Manton: Yeah, I dunno. Okay, but let’s think about that, though. The technological leap from wired headphones to the AirPods, I mean, it is significant. There’s, you know, cool chips in the AirPods that allow it to do what it does, but it’s not the kind of leap we’re talking about from a $3500 headset that has 12 cameras to something that looks more like glasses that you could wear in public, even if they’re awkward, bulky glasses.
Manton: I’m really having trouble with that leap. I don’t see how you can do it. And think about how far the iPhone has come from gen one, couldn’t take video, to today. The iPhone’s great, it has come a long way, but even that is not the leap that we’re talking about, or I’m talking about.
Manton: That is a very natural year-by-year evolution, and that’s their core product, where they sell hundreds of millions of these things. They’re not going to sell very many of these. They’re not going to update it every year. I’d be surprised if they update the headset more often than every three years. So we’re talking five or six generations. I don’t know.
Manton: Man, I hate to be so negative. I just don’t think this is a product that Apple needed to build, or that I personally am gonna be into. I don’t know. It’s cool, though. It’s really cool.
Daniel: It is, well, and like you, me hearing the dithering, John Gruber and Ben Thompson describing it as not being able to distinguish the edge of the quote-unquote screen. That kind of was a wake-up call for me.
Daniel: There is no product, I think, I think even all the other VR headsets, I don’t think there is a product in the world. The combination of like, whatever Apple did to make the thing sit so close to your eye, and the fact that it’s such a high resolution, there’s no product in the world where you can kind of fool your mind into thinking you’re looking at reality.
Daniel: And that’s why the whole reality kit, whatever, sort of all makes sense now.
Manton: And really, every time they say, “only Apple could combine blah, blah, blah”, I always kind of roll my eyes a little bit. It’s totally accurate in this case. There is no company that could have built this.
Daniel: Nobody else has the money to do the research and the social influence to make it, you know, even vaguely. Like some random little like company headed by a billionaire could have come up with something like this, and it wouldn’t have gotten traction because it wouldn’t have captured the public’s imagination.
Manton: Right, and only Apple, they have all the right skills to pull this off. And they don’t have a great track record of hobby products improving. I would say none of their hobby products have really improved very quickly, which makes sense. Their business is built around the iPhone and the Mac. Apple TV is more or less the same as it was, you know, a dozen years ago.
Manton: And that’s fine, but they obviously care a lot about this product and they could change that reputation. They could have this fringe side product that they pump millions and millions, billions of dollars into, and they’re patient.
Manton: Again, they wait 20 years and then you have the Vision Pro and you also have the Vision Air or the Vision Lite or whatever you want to call it, a more mainstream device that is not as bulky, not as powerful, something that more like normal people maybe would be into. That could totally work. It feels really far off. I’m gonna be old or dead by the time this happens.
Daniel: I think there’s two things that are remarkable about this product. One that struck me right away was how much of an amalgamation of other Apple technologies it is in one unit. And you think about all the things they’ve been working on.
Daniel: The little digital crowd is just like the Apple Watch. The cameras actually remind me of whatever research they may have been doing into self-driving cars. You have super high resolution screens. The audio playback in the device is also using that kind of room reading, LIDAR type stuff.
Daniel: That’s one aspect of how “only Apple” could do this because they had all these other products in the works that sort of contributed to this device. But I also think this device is, regardless of its commercial success, it is a technological test bed that can easily spin off other devices that benefit from the advances they make with this.
Manton: Yep. And I can definitely buy the argument that someone had to build this. That’s not true, but there’s value in building this purely for the research and technology and just to see what’s possible. Because if no company pushes the edge and tries new things, we don’t get anywhere. There is a role for pushing, just seeing what we can do, whether it’s a compelling product or not.
Manton: So yeah, I totally respect that. And I think the people that worked on this should be very proud of what they’ve built. It really does look incredible. It’s just a question of, strategically, is this something that Apple should do? Is it good for humanity? And then secondarily, for developers, is this something that should be part of our strategy or not?
Daniel: Right.
Manton: If this is the — again, 20 years in the future — this is the replacement for the Mac, is this something that we should be fiddling with and paying attention to and watching all the WWDC sessions and playing with the simulator. I’m curious what you feel as a mostly Mac developer, how much are you going to pay attention to this?
Daniel: Yeah. I mean, it’s so much to take in because as you saw during the keynote, there’s like elements of how it, how it stands to just like integrate with your Mac and show you your Mac desktop apps on like virtual monitors within the device.
Daniel: And then there’s the other angle of native apps for this thing, maybe subsuming the uses of traditional Mac software, iOS software, all the above. So I’m going to keep an eye on it. I do, my instinct is to mostly ignore everything, especially since there’s no SDK yet. And I find it kind of awkward to even consider jumping into WWDC sessions about this when there’s no hands-on opportunity to do anything, even with a simulator. So I’m going to keep a cautious eye on it.
Daniel: I think there is something to what, I mean, you know me, like both of us have been pretty dismissive of AR VR the past several years. And I think the way we’re talking about this still reflects our skepticism about it, but it brings it into the real world in a way that I don’t think is going away.
Daniel: Having a point your iPhone at a table AR experience never felt compelling beyond the slightest novelty. But let’s just assume that this thing didn’t cost $3,500 and it costs $350, which might be the case in five years, 10 years.
Manton: 20. I’m sticking to 20 years.
Daniel: Haha. Well, the situation will be different when there’s a massive market of people who have these things.
Daniel: And I just want to say one more like slightly optimistic thing. I think my reticence and spooked-outness about this device is somewhat to blame on Apple’s presentation of it during the keynote. The way that they tried to frame it as something in particular that you would wear, like I mentioned, like when you’re engaged with your kids during special moments, that’s the opposite of what I think this type of device should be used for.
Daniel: And if I focus on the things that it’s good at… I won’t fault any parent for wearing a welding helmet while they’re building, you know, a rocking horse for their kid. That’s a special moment in a family’s history as well.
Daniel: But let’s not try to conflate the wearing the welding helmet with spending special time with your kids. Likewise, I think there are a lot of parallels actually with this to a device like a television, because televisions are famously attention absorbing. You can’t really talk to somebody who’s watching a television. And frankly, in my opinion, having a television on in any kind of social environment, unless you’re like watching a sports game with somebody is not conducive to sports or to social interactions.
Daniel: But I think if I try to look at this more generously, as like, it’s another kind of TV, or it’s another kind of welding helmet. You use it on your own time for your own purposes to either entertain yourself or achieve specific productivity goals. Then a lot of my negativity about it goes away. It’s just the idea of it being integrated as an everyday piece.
Daniel: It’s the same idea as if I envisioned everybody walking around with a television hanging off their forehead. No, we, nobody really wants to live in that world. So don’t highlight that as the use case for this device.
Manton: Yeah, I agree with you. I think that was a bit of a miss. Overall, I think the keynote will go down as the best in years, but I feel like some of those parts of the, you know, advertisement video that we watched, basically, we’ll remember them a little bit like the watch Apple Watch introduction. There was a lot of sort of gimmicky features. You know, texting your friend in class or sending pictures.
Daniel: Sending your heartbeat to somebody.
Manton: Exactly. I think some of these things will go down in that light. I love the Apple watch. I’m wearing mine now, I wear it all the time. But I think they were a little bit confused about their message when they introduced the watch and they sorted it out.
Manton: And I think this is going to be the same way. I think we’ll look back on some of those and be like, no, we’re not putting this headset on for a birthday party. That’s not going to be right.
Manton: And really, that’s why I kind of think about just strategically. I mean, we already have this problem that we didn’t have 15 years ago, which is that the family is sitting around TV, watching a movie or something and all the kids are on TikTok. This is already an issue.
Daniel: Yeah.
Manton: I’m not interested in it getting worse by actually having people close their whole face off from the world. So I think there are really legitimate uses for this, but in my life, they are very small.
Daniel: Yeah.
Manton: I like to work out of the house, I like to go places. I mean, I’m kind of an introvert. I don’t meet a lot of people and hang out with people in person. But when I do, when I’m around other people, it feels good to be around humans. We need that.
Manton: And just strategically, I guess I’m really pessimistic about it. I think maybe it’s okay for us to have those two thoughts in our head of just technically and pushing the envelope, this is a huge breakthrough. On the other hand, as a human and as a developer, I’m fine. Zig when they zag. If everybody else is obsessed with this and WWDC over the summer, I’m fine focusing on other things and just continuing working on Micro.blog and working on these other aspects of social networking.
Daniel: Yeah, I agree. In a sense, I am kind of relieved that I don’t feel like I’m going to have my work cut out for me in terms of new Apple technology over the summer. None of this is like, oh, drop everything.
Daniel: The one product that I think might have a little bit of a compelling case is like Black Ink with the idea of maybe like solving a puzzle on a virtual sheet or something. Even that’s a little bit of a stretch, but you know, maybe against a flat desk or something. But I don’t know. Obviously I have other Black Inks to ship before I get to that.
Manton: Yeah. I want to ask you, because I don’t know if you saw Apple News+, I think has some crossword thing.
Daniel: Oh yeah. Yeah, I did see that.
Manton: We’ll probably have a whole show next week about everything non-headset related. There’s really a lot at WWDC and we’ll have to tackle that next week. Because the headset is just the obsession right now.
Daniel: Yep, agreed. All right. Well, I hope you continue to have a great trip. I’m glad that this time around we’re recording, you’re in your van again. If folks remember the last time Manton recorded in his van, it was like a rainstorm.
Manton: Yeah. And unfortunately… So I bought a new mic. That’s a whole ‘nother story about going to three different Best Buys, trying to find something that I could take with me. I did a test recording and there’s a lot of background noise still. So apologies, everybody. Hopefully it turns out okay.
Manton: But thanks everyone for listening this week. Enjoy WWDC, and we’ll see you in the metaverse. I dunno.
Daniel: See you in my glasses.
On the flight back to Austin, finished reading A Psalm for the Wild-Built by Becky Chambers. Wonderful. Queued up the second book for later. 📚
John Gruber gets to the core of the Reddit API issue with a question for the CEO:
I have one simple question for him: What do you think Reddit co-founder Aaron Swartz would say about this if he were still alive?
That’s exactly the right perspective. Because it’s not just about business models, competition… It should be about doing what’s right.
Today I sent the following email to everyone who had Twitter cross-posting configured on their Micro.blog account. We’ve got about one month left on our commitment to support Twitter cross-posting. We can’t justify paying Twitter for API access beyond that. Tweet while you can, the feature shuts down July 15th.
Hi @your-username,
You’re receiving this email because you currently have cross-posting to Twitter configured in your Micro.blog account. Twitter has been changing their API and we want to let you know how this affects Micro.blog.
Micro.blog has committed to support Twitter cross-posting until July 15th. After that date, cross-posting will be disabled. We hope this gives you plenty of time to wind down how you’re using Twitter.
Note that you may need to disable and then re-enable Twitter cross-posting if your blog posts are not currently being posted correctly after recent Twitter API changes. In Micro.blog on the web, click on Account → Edit Sources & Cross-posting.
If you’re curious why we had to make this decision, please see Manton’s blog post about it.
If you’re looking for other options for automatic posting to Twitter, you’ll find that most services have already stopped working soon because of Twitter API changes. We currently recommend looking into Buffer, which may be able to sustainably offer this feature in a way that smaller companies like Micro.blog cannot.
However, there’s good Twitter news too! We have launched a new import feature for importing an archive of all your tweets to Micro.blog. This is a great way to browse and search old posts, keeping a copy of tweets outside of Twitter.
For more details about the tweets import, check out this YouTube video.
Thanks for your support!
P.S. We also support cross-posting to Mastodon, Medium, Tumblr, Bluesky, Flickr, LinkedIn, and Nostr.
Talking with @joec earlier this week about finding new coffee shops in new cities… Here’s the list for the week in Colorado: Inkwell & Brew, Novo Coffee, Aviano Coffee, Train Cars Coffee (photo), Atlas Coffees (photo), Corvus Coffee Roasters, Sonder Coffee & Tea, and Jubilee Roasting Co.
Good morning, Denver. Had a quick breakfast with this view before I wrap up the trip and return the van.
Winding down my week in Colorado. It’s beautiful here. Just about the right amount of time, juggling work and travel. 🗺️
Sitting in my rental campervan at Cherry Creek State Park, debugging on the laptop as the rain hits. Sounds like a Texas thunderstorm. Hopefully not hail because I waived all the rental insurance. ⛈️
Finished reading: Astrophysics for People in a Hurry by Neil deGrasse Tyson. Remembered only a little of this from college astronomy. The audiobook is about 4 hours, great for a short drive today. 📚
What a wild end for Apollo. The era of client APIs for ad-supported platforms is over. Developers should invest their time in open platforms where the business model is aligned with users' and developers' interests: Micro.blog (paid blog hosting) or the fediverse (often donation-supported).
After recording @coreint today, I’m settling into the opinion that Apple Vision Pro is both brilliant and a terrible mistake. On the other hand, I’m sitting in my rental campervan in Colorado watching the NBA finals on my iPad Mini and wouldn’t mind that courtside VR action. 🏀
After driving around in circles with detours because of road construction, finally settled in at Atlas Coffees. ☕️
Jason Snell writing at Six Colors after using the Vision Pro:
I am now a believer that what Apple has built is an incredible accomplishment. This is the real deal. The unanswered question is, to what end?
Wasn’t expecting rabbits. Seems to be a bunch around my campsite tonight at Chatfield State Park.
Stopped at Train Cars Coffee in Nederland on the drive to Boulder this morning. Built out of train cars. Love it. Pretty good breakfast too. 🚂
Early thoughts on Vision Pro: looks about as good as it can possibly be, for what Apple is trying to do. Not a product for me, and not a product that will “replace” any other device. Will be talking more about this on @coreint tomorrow.
This is nitpicky but I feel like Apple should’ve cut over to the headset stuff at the 1-hour mark. watchOS improvements are good but they don’t need this much keynote time today. Feels like the narrative has gone into the weeds a little. We are here for the headset news. 🙂
I don’t think Apple needs to obsessively avoid saying AI. “Machine learning”, “transformer-based language model”… It just sounds awkward, but I get why they do it.
Need a place to blog what you think about all the WWDC news this week? Don’t forget Micro.blog is a ridiculously low $1/month this summer. micro.blog/summer
Looking forward to WWDC, but my expectations are low for announcements that are relevant to my work right now. Doubtful there can be a version of Micro.blog for a headset. Most interested in little surprises that might pop up in new versions of iOS and macOS.
One of my favorite things about Colorado so far is the water. Looks and sounds like snow had melted somewhere upstream.

Finished reading: Tomorrow, and Tomorrow, and Tomorrow by Gabrielle Zevin. All the praise for this book is justified. A masterpiece. 📚
Raining off and on today, so I’ve spent more time driving and less time walking. Mickey is my traveling companion now for all road trips.
Forgot the Stanley Hotel was nearby, the inspiration for the hotel in The Shining. Stopped for a little while, walked around, had a beer in the restaurant. I’m sure there’s lots of history here.
Cool to see people using the App.net posts archive. Here’s a post from @jsonbecker, a post from @otaviocc, and another post from @maique. I was starting to doubt preserving the archive and seeing these reminds me why it’s worth it.
Beautiful photo from aows. When I retire, I’m just going to blog photos of train tracks.
Thanks again to @vincent for fixing one of the servers yesterday while I was in Rocky Mountain National Park with no cell coverage. Not happy with the blips in downtime recently, going to reprioritize this. Enjoying the morning with good wi-fi and coffee at Inkwell & Brew in Estes Park. ☕️
Traveling today. Got to the airport early, plenty of time to catch up on a couple things. Submitted Micro.blog 3.0.3 to Apple to review. Hope everyone’s having a nice Friday!
Other things I learned about video games this week while we were temporarily without a Switch: the Wii with Skyward Sword still works, the N64 sort of works and then doesn’t, and the Game Boy Advance SP battery is starting to bulge, but replacements are just $10. 🕹️
I’ve migrated the App.net posts archive to S3, to simplify hosting the archive. I’m not going to do any more work on this. No import feature for Micro.blog. The data files are there if anyone needs them.
Please only download your own posts, not everything. There are about 44 million posts in total. I’m happy to keep hosting this archive indefinitely as long as the costs are flat. I think it’s important to have an archive of as much of the web as possible. But at the end of the day, App.net was not my platform, just something I cared about, to help bridge the gap between the early days of Twitter and newer, more open platforms.
Don’t remember App.net? I wrote a chapter of my book about it.
I like this post from Dave Rupert on lessons from old Russian small nuclear generators:
I wonder if software has a kind of digital entropy, where even good software left untouched for a short timeframe rots and stops working.
Finished Ted Lasso. Overall really enjoyed it. This season almost lost its way a couple times, sometimes overthinking itself, but it wrapped up perfectly. 📺
I seem to have made a serious AWS pricing miscalculation, transferring a bunch of small files from EC2 to S3. Data transfer is free, but PUT requests aren’t. With millions of requests, adds up to real money. This is why I usually prefer Linode’s flat pricing.
Similar to my announcement last month about supporting Bluesky, we’re adding Nostr cross-posting to Micro.blog starting today. You can enable it under Account → Edit Sources & Cross-posting:
Nostr might have the most uncertain future among recent up-and-coming social web protocols. I’m fascinated with the architecture because it’s so different than ActivityPub, RSS, and IndieWeb protocols. I think it’s interesting and worth tinkering with. I’ve been personally using it through Micro.blog for about a week, so why not let other folks play with it too?
Nostr is quite technical. If you don’t want to be on the edge, feel free to wait. It’s so early that using Nostr feels like testing a prototype, letting your blog posts loose into the wild west of the internet to float between Nostr “relay” servers.
To get started, you will need a Nostr account. Unlike every other social network, in Nostr you don’t actually register on a specific server. Your account is just a private key, which you will paste into Micro.blog. For iOS, I suggest using Damus or Nos. For the web, check out Coracle.
These apps and others will create your private key, name, and profile photo. Make sure to save your key in a password manager. If you lose it, you lose access to your account.
Micro.blog’s support for these emerging protocols is essentially one-way, pushing your blog posts out to people on other platforms. Later we will consider federation, where posts and replies from other platforms and brought into Micro.blog, like we already do for Mastodon and ActivityPub. I’d like to see how much traction there is before we do more.
Thanks everyone who sent me feedback about how you are using Micro.blog’s email newsletters. I took this into account while finishing the new feature, but I realize it’s a functionality change. It is very rare that we change a feature so significantly. Felt like it had to be done.
Micro.blog Premium includes an email newsletter feature, so readers of your blog can subscribe to receive posts by email. It’s designed around microblogs. For example, Micro.blog can gather up lots of short posts over the week or month and collect them into a single email.
Today we’re launching a revamped template system for these emails, bringing much more control over what the emails look like. You can edit the template to add a header or footer, or change the HTML tags completely.
Because emails are generated outside of blog publishing, we can’t really use Hugo directly for this. I’ve written a new helper app in Go to process the templates, so they feel as familiar as possible to people customizing their blog theme. (Hugo also uses Go’s templating language.)
You can see what the default email template HTML source looks like here on GitHub. Micro.blog plug-ins can also override this template! So you could have a plug-in that provided a new email design. There’s a help page here with more details about variables you can use in a template.
This is a major improvement. A couple things to keep in mind:
You can edit the template under Newsletter → Settings. If you edit the template and then install a plug-in with a custom newsletter design, it will still keep your changes. You can clear your custom template to revert back to the default template or a plug-in’s template.
If you’re not comfortable editing HTML, that’s okay. You can continue to use the email newsletter feature and ignore the custom templates. It’s just a little more power under the hood for folks who want it, and for plug-in developers.
Trying audiobooks in Spotify for the first time. I’d like to see some UI tweaks for books, like less emphasis on chapters (books are not albums) and showing the time remaining with the speed taken into account.
Launching new features tomorrow. Going to lay low this afternoon instead of deploying major changes near the end of the day, which I’m sure I would regret.
Spilled a glass of water all over my MacBook keyboard. So that’s how my morning is going. Seems okay so far.
Working on improvements to email newsletters in Micro.blog. I’d like to split out the editing of queued newsletters to instead have a separate per-newsletter “intro” text, with the rest of the email not editable. Does that cause a problem for anyone? Will allow more flexibility in other ways.
Love this from Matt Mullenweg. It’s what we believe at Micro.blog, too.
…it’s not about how many views you have, how many likes, trying to max all your stats… sometimes a single connection to another human is all that matters.
Happy 20th to WordPress. Heck of an achievement.
Did my daughter come to visit this weekend to see us, or to take the Switch and Tears of the Kingdom back to her apartment? Who can know. Anyway, we’re busting out the N64 and Ocarina of Time… As soon as we get an RCA → HDMI adapter.
I’m testing Calckey to improve compatibility with Micro.blog. Some of the UI is quite busy and not for me, but I love how they are showing ActivityPub usernames, with the profile photo and dimmed domain name. Might borrow this.

Went to pay our respects to my uncle, for Memorial Day. Tomorrow would’ve been his birthday too. 🇺🇸

Love seeing all the “Where have I been?” posts. I blogged it on a whim and it’s so much more interesting to see the places other folks have gone. I also just realized I left Alaska off! Will edit.
Tinkering with something in Go this morning. Always felt like it would be a good language to know more about, and now finally have a real need.
A random conversation today made me curious about what countries I’ve visited in Europe. I got lost looking at maps and thought I might as well try to make a list.
Apparently 9 countries in the world:
And 28 states:
Not counting cities I’ve just flown through without leaving the airport. Might’ve missed some, but still feels kind of low. As anyone who has followed my 30 days lists knows, I like collecting visits to places. Now a little inspired to finish seeing all 50 states.
Just watched way too many replays and commentary on the final seconds of Celtics/Heat. Another memorable game 6 in Miami. Bring on game 7! 🏀
Listened to a couple hours of the Texas house debating impeachment against our corrupt attorney general. Kind of shocked to hear the final vote, overwhelmingly for the articles. Paxton is removed from office pending the trial. Wow. 🇺🇸
Seems unlikely that we’ll end up with a single unified social web platform. I like Mastodon’s focus on communities. I like Bluesky’s thinking on distributed moderation. I like the IndieWeb’s principles of ownership. I like Nostr’s private messaging. How will we tie all of this together? Blogs.
This week Bluesky rolled out their custom timeline feeds. Pretty interesting approach. However, I’m going to disable automatic cross-posting from my blog to Bluesky for a while… Bluesky feels so much like Twitter that it has been too distracting for me. Will check back in later.
Jean and I have been talking this week about what’s next to prioritize around the Micro.blog community. I often focus on technical improvements to blogs, but we’ve had some good momentum recently with community features too, such as rolling out profile pronouns, user blocking, and encouraging alt text in Discover. Starting today, Jean is also hosting monthly office hours to talk to folks on Zoom.
Halsted’s post about creating a safe and inclusive community is also on our minds, and there are a few points in particular that I think we can run with.
Thanks as always to everyone who uses Micro.blog and has given us a chance to build something unique on the web. I know everyone has high expectations, and we do too.
Joking aside, I really like Nostr. Something about it is very elegant. You just have to ignore 80% of it, especially anything around cryptocurrency. It’s a wild west platform with a few nuggets of gold. 🌵
Folks, Nostr is really easy to understand. Your username is 64 random letters and you just enable NIP-5, NIP-39, and put your private key in a hardware wallet. Simple! Mainstream adoption for non-technical users will not be a problem. 🙄
Good morning! Took an early walk. Coffee now at Summer Moon and I have some server changes to deploy. Also way behind in email and hope to catch up over the next couple days. ☕️
I’m testing cross-posting to Nostr. I’m still not really sure how to link to Nostr accounts… If you’ve ventured out into the wild west of Nostr country you might be able to find me with @manton.org or npub1ae42p0d24pmccr47unf2a3hv2trmk9lrmr65ges4v3x5pscs4yrquu7ul9. 🤪
Adding a new query to Micro.blog’s server status check to throw an error if the queue backlog is unusually high. Will be able to better track this error as platform downtime.
Upgraded Ruby last night and thought everything was stable. But no. Putting my sysadmin hat on for a bit this morning while everything gets back to normal.
The new episode of Core Intuition covers last week’s Micro Camp and looking ahead to WWDC. Thanks for listening!
Been thinking a lot about Nostr this week. Finally realized that it resonates in a “worse is better” way. This is a good thing and will help me grok how it fits alongside ActivityPub and Bluesky.
I’m continuing to use ChatGPT all the time. On a whim today I asked it what the philosophy of Micro.blog is and it nailed it. You can read the transcript here.
At last weekend’s Micro Camp, we had a panel session with me, Jean, and Vincent where we answered questions from the live chat. We didn’t have time for all the questions, so I wanted to try to answer a few more that we missed. Here we go…
Re: long posts and how they get truncated in the timeline. Are there thoughts or plans for letting us control where that truncation happens? Using a tag in the feed or something. The way truncation works now seems rough.
No current plans, but it’s something that comes up from time to time and has been discussed on the Help Center. We use Hugo under the hood and it supports marking an intro paragraph summary by using the <!‐‐more‐‐> HTML comment. It’s possible that some form of summaries could be used in the timeline. In my experience, though, the more exceptions we add to the timeline, the more confusing it is. That’s why we’ve mostly stuck to a few very simple rules.
Is it likely that the success of updating the iOS and Android apps will influence development of the Mac app?
It will influence it only in that there will be more time for native Mac development using App Kit, because there will be less time trying to port features back and forth on iOS and Android. There are no plans to use the React Native code base on the Mac. The mobile UI doesn’t generally fit on the Mac, although there may be a few features we can borrow from Micro.blog 3.0 on iOS such as easier bookmark saving and the quick bar to switch between blogs.
Who is the best rock guitarist?
I just bought tickets to U2 in Vegas, so I’m inclined to say that The Edge has always been a favorite. Actually picking a single top guitarists is outside the scope of my skillset as the founder of Micro.blog. 😛
What are some of the features you can say “no” to?
One point I tried to make in the panel is that while we move quickly and often change priorities internally without much warning, the long-term vision for Micro.blog hasn’t changed. We want to make it easier for more people to use blogs, encouraging domain names and content ownership, and wrap that together with a safe, welcoming community. Every feature has some connection to one of those fundamental goals. So anything that goes against that is an easy “no”, like making posting more complicated with extra fields, adding ads, or turning the platform into more of a closed silo.
The more I tinker with Nostr, the more I understand the appeal for developers. It is fun. But there are so many usability challenges. User search and discovery are difficult.
When we added muting to Micro.blog, there was a discussion about whether user blocking should be added at the same time. My feeling was that Micro.blog is built around public blog posts on the web, so blocking didn’t seem particularly useful, and might even give someone a false sense of confidence that a specific user wouldn’t see their posts. After all, the posts are available to RSS readers and just reading on your blog for anyone.
This is the kind of opinion a programmer would have, though. “Well actually, the post is available anyway if you just drop down to the command-line and type curl and…” I was thinking about this again watching Bluesky scramble to add blocking a few weeks ago. We try to be thoughtful and not reactionary, so this was really something we should have taken care of earlier.
This is all a long way of saying that our initial support for blocking is rolling out this week on the web and the API, and in other apps to follow. Blocking someone will prevent your posts from showing up in their timeline. There may be tweaks and other options added to this later.
Great game and series. Didn’t really feel like a sweep with the Lakers in each game until late. Congrats to the Nuggets. 🏀
Checking out the Kagi search engine, via Daring Fireball. I remember hearing about this but never tried it. Looks clean, fast. I don’t think I’m at the point of wanting to pay for web search quite yet. So tired of ads, though.
One reason web development appeals to me is that while it can be complicated, it doesn’t have to be. You can build for the web like it’s 1995. For native apps, the complexity is required with tools, code signing, stores. Thinking about this as I wait for my code to be crunched and uploaded to Apple.
Did not expect to be installing a new version of Movable Type on EC2 this morning for testing, but here we are. Looks about the same as it did a decade ago. Nice to see it still works and is supported, though.
We shipped Micro.blog 1.7 for Android, available on Google Play. This syncs up the release with the features from the new iOS version. Lots of new stuff, like managing posts, uploads, username auto-complete, and external blogs.
Posted links for all of today’s videos on micro.camp. Thanks again to our Micro Camp presenters! I still need to edit the keynote so that will go up on Monday.
Great discount on MarsEdit today! From Daniel Jalkut:
I usually only offer discounts of 10% or 20%, but in celebration of Micro.camp 2023 I’m offering a 50% discount on MarsEdit. Use this link and see the 50% discount when you continue to checkout: redsweater.com/store/
Ever since I read that Bluesky has about 1.9 million folks on the waiting list, I’ve been thinking about what happens as more invites roll out. By comparison: Mastodon has over 7 million users, with 1 million on a single server. Plus a bunch more across the non-Mastodon fediverse.
Micro Camp 2023 is coming up soon! May 19th - 20th. We’ve posted the topics for the second day’s presentations.
If you missed it earlier from @news:
We are monitoring some performance problems because of unexpected server load. Thanks for your patience.
I’m continuing to troubleshoot (and optimize) slow blog publishing a cross-posting today. Almost back to normal but not quite.
Posted episode 556 of Core Intuition. We talk about tipping in Apple Stores, using ChatGPT, and whether Apple has missed “the year of AI” because they thought it was “the year of AR”.
Too many guns. After yesterday’s shooting in Allen, Greg Abbot “offered the full support of the State of Texas”… So that means he’ll work to ban assault weapons, right? That’s the kind of support we need.
Easy to get caught up in the excitement about the coronation. We are so stuck in divisive partisan debates over here that it’s hard to imagine the U.S. being that united around anything. 🇬🇧
I recorded a video on YouTube that goes through how I personally use Micro.blog for my own blog. It’s a little long and rambling, about 25 minutes, but it covers a bunch of features that folks might find useful.
Created a new blog on my Micro.blog account today, a placeholder for something new. Found a couple bugs in the process. I should do this more often… So easy to forget about the onboarding experience, or lack thereof.
This year’s NBA playoffs have been great. So many close games, ignoring a couple blowouts like last night’s Lakers/Warriors. With the Spurs out of contention early and their players scattered to different teams, I’ve been enjoying the postseason more than usual, finding new teams to root for. 🏀
Jack Dorsey gives $10 million to Nostr and related projects. Setting aside opinions on his leadership at Twitter, it feels significant that these funds are not VC-style investments. Presumably the reward is seeing interesting technology flourish, not profit.
Wondering what the Bluesky team has in mind for private messaging, if anything. Mastodon’s DMs have always felt awkward to me, both the user experience (hard to distinguish public and private posts) and the technical bits (any admin can read your messages).
Finished the first pass of rethinking how incoming direct messages work in Micro.blog. I still believe that most social networks should not reinvent the wheel with messaging, because it’s unlikely to be as secure as dedicated services like iMessage and WhatsApp. But we roll with what we’ve got.
Looking at this spam, I think our approach to accepting Mastodon DMs needs to change in Micro.blog. We forward them via email because we don’t have a private messaging system. But someone shouldn’t be able to intrude in your inbox. My fault. Going to rethink this today.
Eugen Rochko and team are fighting spammers at mastodon.social:
We’re aware of the spam attack hitting mastodon.social right now and our full moderation and DevOps teams are on the case mitigating any way we can (incl. switching to approval-mode registrations)
Haven’t seen this affect Micro.blog yet, but if anyone notices any unwanted @-mentions or other problems, let us know.
Update: Spoke too soon, definitely hitting us too. 🙁
Almost done with book edits. The task of manually reformatting all the footnotes and layout for the print edition was dragging me down, so figured out how to automate it with print CSS tools like Prince. Wow, going to save days or weeks of work.
Enjoyed the first episode of Whitehouse Plumbers. Also, Woody Harrelson and Matthew McConaughey might be half-brothers?! They need to go on Finding Your Roots.
Mastodon has added support for showing styled text in the new version deployed on mastodon.social. Looks good with bold and italics in blog posts federated from Micro.blog.
Maybe the most surprising thing to me about Bluesky’s early success is the “fun” aspect. I’m not very fun online — my microblog posts are often work-related or serious — but it seems clear there was a post-Twitter void here that Bluesky is filling. Casey Newton writes on Platformer:
Bluesky should continue to cultivate the sense that it is weirder and funnier than Twitter. That means leaning into some of the eye-rolling terms that users are insisting on, including skeets.
Noticed today while reviewing code that the first GitHub commit for Micro.blog was about 9 years ago. So much has happened since then, but also hardly anything. Software is never done because the world and people are always changing.
Left my headphones at home by accident. Now need to plan my whole day around which coffee shops probably have the best music on. ☕️
Not content with banning native third-party apps, Twitter has continued to cripple their API and move to paid plans for very basic access. I was committed to support Twitter cross-posting as long as possible because there are still Micro.blog customers who want to keep a foot in the Twitter world. But we knew it couldn’t last forever.
July 15th will be our last day to support cross-posting blog posts to Twitter. Even though Twitter has been effectively dead to me since I stopped tweeting in 2012, I’m a little sad to finally have to cut the platform off.
I picked July 15th to give people a couple months to wind down their use of Twitter. We now have to pay Twitter for API access, and that is the longest I can justify doing so.
It’s all another reminder that centralized platforms with closed APIs can’t last. While it’s easy to blame Elon Musk, the writing has been on the wall for a decade.
For more of the Twitter history that brought us to this point, see the chapter in my book called Leaving Twitter. Newly updated for Elon.
So, what’s next?
End of an era. Seeya on the open web.
Core Intuition episode 555! We talk all about Bluesky. (And Mastodon and Nostr and Micro.blog.)
Today is the day that Twitter said they would shut off the old API and force upgrades to the new plans. But they say a lot of things. I haven’t paid yet. Also confused why April 29th (Saturday) and not May 1st (Monday).
I’ve done a little work now with the XRPC layer of the AT Protocol, supporting cross-posting to Bluesky from Micro.blog. This post is about what I’ve learned.
(As an aside, there have been questions about whether Micro.blog supporting Bluesky means we believe in everything they’re doing. No, right now I’m mostly interested in the technology. It’s still too early for judgements on the Bluesky leadership, user experience, or ultimately how this is all going to fit together with other social web protocols.)
Bluesky authenticates with a username and password. For third-party apps, the password can be an app-specific password. I hope that eventually Bluesky will support IndieAuth, a flavor of OAuth designed for signing in to web sites that should also work well for a distributed service like Bluesky.
The HTTP POST with JSON for signing in looks like this:
POST /xrpc/com.atproto.server.createSessionContent-Type: application/json{ "identifier": "email-address-here", "password": "password-here"}
You’ll get back an access token and refresh token. Sessions do not last very long, only a couple hours last time I checked, so it’s important to keep the refresh token. The response looks like this:
{ "did": "did:plc:abcdef12345", "handle": "manton.org", "email": "email-address-here", "accessJwt": "abcdefghijklmnopqrstuvxyz", "refreshJwt": "zyxvutsrqponmlkjihgfedcba"}
The DID is a unique identifier for your account that is stored with posts on an AT Protocol server. Even if you change your handle, the DID persists and helps make data portable across servers.
When cross-posting from Micro.blog, I first try to use the auth token and if it fails, I use the refresh token to establish a new session. In this case, we pass the refresh token in the Authorization header:
POST /xrpc/com.atproto.server.refreshSessionAuthorization: Bearer zyxvutsrqponmlkjihgfedcba
Sending a simple text post to Bluesky looks like this. For the rest of these requests, we pass the usual access token for authorization:
POST /xrpc/com.atproto.repo.createRecordAuthorization: Bearer abcdefghijklmnopqrstuvxyzContent-Type: application/json{ "repo": "did:plc:abcdef12345", "collection": "app.bsky.feed.post", "validate": true, "record": { "text": "Hello world.", "createdAt": "2023-04-20T16:46:32+00:00" }}
It can get more complicated. To include a photo with the post, first upload it to storage as a blob. In my early testing, there were low limits for photo file size, so Micro.blog scales photos down quite a bit before sending them over to Bluesky.
Here’s uploading the photo, passing the raw JPEG bytes in the content body:
POST /xrpc/com.atproto.repo.uploadBlobAuthorization: Bearer abcdefghijklmnopqrstuvxyzContent-Type: image/jpegimage-data-here
You’ll get back a media CID (Content ID) in the ref field that can be used to attach the photo to a new post. The response after uploading a photo looks like this:
{ "blob": { "$type": "blob", "ref": { "$link": "abcdefgh" }, "mimeType": "image/jpeg", "size": 200000 }}
Then when posting, use the embed field with an array of the uploaded media CIDs:
POST /xrpc/com.atproto.repo.createRecordAuthorization: Bearer abcdefghijklmnopqrstuvxyzContent-Type: application/json{ "repo": "did:plc:abcdef12345", "collection": "app.bsky.feed.post", "record": { "text": "Hello world with photo.", "createdAt": "2023-03-08T16:46:32+00:00", "embed": { "$type": "app.bsky.embed.images", "images": [ { "image": { "cid": "abcdefgh", "mimeType": "image/jpeg" }, "alt": "" } ] } }}
Bluesky also supports inline hyperlinks in the post text through “facets” that can be added to a post, similar to attaching a photo. I don’t love this because we already have HTML as a perfectly good way to format posts. I strongly believe that the social web should use HTML and HTTP wherever possible.
In Micro.blog, I automatically convert Markdown or HTML inline links to Bluesky’s facets. An example of linking the first word “Hello” in this post would look like this, using the character position and length of the word:
POST /xrpc/com.atproto.repo.createRecordAuthorization: Bearer abcdefghijklmnopqrstuvxyzContent-Type: application/json{ "repo": "did:plc:abcdef12345", "collection": "app.bsky.feed.post", "validate": true, "record": { "text": "Hello world with link.", "createdAt": "2023-04-20T16:46:32+00:00", "facets": [ { "features": [ { "uri": "https://manton.org/", "$type": "app.bsky.richtext.facet#link" } ], "index": { "byteStart": 0, "byteEnd": 5 } } ] }}
There is also a growing list of open source libraries for the AT Protocol. Unfortunately I wrote all my code before I realized this, so I stumbled through deciphering the API more than I needed to. Maybe this post will save you some time if you’re rolling your own thing.
Listening to Dithering today about game consoles… If you have 2 consoles, you have Playstation + Switch, or Xbox + Switch. If you have 2 social networks, maybe you have [insert popular network] + Micro.blog. The hard part is carving out a unique, invaluable niche.
We updated the Micro Camp web site for 2023. Register for free if you’d like to join us May 19-20. Everyone gets a new sticker too! Special thanks to @Burk for the sticker design.
Finished reading: Spinning Silver by Naomi Novik. I really enjoyed this story. First-person for multiple characters was a little awkward, though, and maybe held it back from what it could’ve been. 📚
The renewed interest in open, social web protocols has been a long time coming. It’s like we were in a drought for most of the 2010s, subsisting on the water leftover from the early blogosphere, and now it’s raining. Drink up, folks! The skies are blue and the future’s bright.
I’ve been impressed with Bluesky’s performance. It has inspired me to shave off a little time for some Micro.blog API requests. We usually think of “under a second” as fast enough, but 0.8 seconds vs. 0.4 seconds is actually pretty noticeable.
Continuing to tweak our Bluesky cross-posting support. Should work better with inline links in blog posts now.
Sometimes coding is hard, but not usually. It’s figuring out how something should work that takes all the time.
Just released a new 3.0 beta of Micro.blog for iOS. This includes a big change, borrowed from the 2.x versions: Markdown syntax highlighting when writing new posts. We are getting close to release. The only major feature left is WordPress posting support. TestFlight here to follow along.
I know I’ve written about this before, but it’s worth repeating: Micro.blog is constantly shifting priorities based on what people are talking about. If we only hear a feature request every few months instead of every week, it is probably going to drop off our radar, even if we want to do it.
I’m seeing lots of Bluesky takes that are a variation of: “Oh jeez, we just moved from Twitter to Mastodon, now there’s another new thing?” But indie microblogging is about moving away from centralized platforms to blogs and open web-friendly protocols. Anything in that spirit should be explored.
I’m always fascinated when our new AI bot overlords get really basic facts wrong. They know the answer, but can’t put it together until you press them on it. Here’s a quick transcript from ChatGPT that I ran into today.
Some technologies just keep coming back… Currently writing XML-RPC code, this time for JavaScript. Despite the new-ish JSON APIs in WordPress, not to mention Micropub, MetaWeblog is still the best way to talk to WordPress without any extra plugins or configuration.
U2 tickets for the Sphere in Vegas going on sale later this week. Need to somehow fit this into my plans for the fall.
Added a basic import in Micro.blog for folks migrating from Substack. For now, just blog posts. Still need to think through email address import for newsletters… Want to make sure it can’t be abused by spammers. (Substack’s HTML is so verbose. Tried to clean it up a little on import.)
This is not exactly a commentary on any specific platform, but you can just tell when the creators of a tool use their own stuff and engage with the community. The farther you get away from that, the less confidence users will have.
Today we enabled Bluesky as an option in Micro.blog. This adds to our existing cross-posting feature that supports platforms such as Mastodon, Tumblr, Medium, and Flickr. When you post to your blog, Micro.blog can copy the post to any of these platforms automatically.
As Twitter continues to implode, we are seeing a renewed interest in the open web and decentralized social media. It’s an exciting time. Mastodon and the larger fediverse have grown to nearly 9 million users. Micro.blog is part of that with its support for ActivityPub, so Mastodon users can follow and reply to Micro.blog users directly.
While Mastodon and ActivityPub have most of the attention, I’m not entirely sure how this next generation of open protocols is going to shake out. I like how Bluesky is focused on domain names and data portability, principles that are shared by the IndieWeb and Micro.blog. Whatever happens with Bluesky, I think there’s inspiration here that can benefit other platforms as well.
That’s why we’re adding support for Bluesky now, even before the Bluesky folks have rolled it out to everyone on their waiting list. Micro.blog has never been about a single protocol. It’s about putting your blog at the center of your online identity, the place where you can post short posts, longer essays, photos, podcasts, or whatever else you want to share.
It’s still early. I’ll be watching how Bluesky evolves. There will be challenges to potentially intertwine different approaches to federation. But now is not the time to build walls. Let’s try a few things, new ways to connect platforms, knowing some might not pan out, because that’s how the open web gets better.
Fox News in the, uhm, news today reminds me of last month when I was in Dallas. I worked from a coffee shop near my hotel one morning, Flying Horse Cafe. They had Fox News on the TV. Took me by surprise as an Austinite… No way you’d ever see that here, but oh yeah, I live in Texas.
Tantek Çelik blogged about Mastodon’s account migration and its post export, which is based on ActivityStreams. No other apps really import this format yet, not even Mastodon itself. He also mentions the Blog Archive Format and how useful it would be to convert between Mastodon and this format:
Such a library would make an excellent drop-in addition to any #ActivityPub implementation, allowing both export of posts, and also a browsable archive format, so you could visually double check when importing to another service that these were the old posts you were looking for.
I’ve taken a first pass at writing a Ruby script to convert Mastodon’s export to Blog Archive Format. It’s available as a GitHub Gist here. It’s not packaged as a general-purpose library but certainly could be adapted for that.
Direct posts import from Mastodon will be baked into Micro.blog soon. We already support several formats — WordPress, Medium, Tumblr, Ghost — and I learned a lot about how best to process large archives while building the new Twitter import.
HTML’s srcset is such a weird image attribute. Can’t help but feel there was a better way to handle this. (But no, I don’t have any obviously better ideas.)
Matt Baer blogs about the future of Write.as and WriteFreely — taking features that are currently separate products and integrating them into more of a suite:
At this point, I don’t think it makes sense for our self-hosted product to be chopped up into multiple components like our hosted tools are. Instead, I want to bring all those tools into a single application in WriteFreely.
Remark.as will also get fediverse replies. Sounds like a good direction.
It breaks my heart a little when I drive through a historic neighborhood to see old houses bulldozed to make room for modern mansion monstrosities. I know a house is just a thing, but it feels like erasing a bit of history that mattered to someone.
“Make no little plans. Make the biggest one you can think of, and spend the rest of your life carrying it out.” — Harry Truman
The bookmarks pages in Micro.blog haven’t felt quite right to me, so today I rolled out a small redesign that I think better integrates bookmarks, highlights, and links. (This is only for Micro.blog Premium subscribers. Premium adds web page archiving and making highlights in bookmarked pages.)

If it was starting to feel like Humane’s device would be overhyped or vaporware, I’m ready to put aside those concerns. It looks like they are onto something fascinating, both the projection and the AI language translation.
On this week’s episode of Core Intuition, we talk about the Mastodon API and upcoming new MarsEdit release. And of course, blogging.
One of those afternoons where I’m hopping between unrelated tasks. Currently revisiting how to best crunch through OpenStreetMap data.
Updated my code for Bluesky for the recent API endpoint changes. Looking forward to enabling this for Micro.blog folks.
Tantek Çelik blogs about yesterday’s The Verge article on ActivityPub, underscoring some of the IndieWeb principles that are covered. There’s really a lot in there and I’m glad to see the article getting so much attention. Thanks @pierce@mas.to!
The Verge has a long article by David Pierce today about ActivityPub. The quote from me about domain names doesn’t come across quite how I intended it… Yes, domain names are hard, but we need to make them much easier to deal with because they’re actually great.
I haven’t written a new React Native diary blog post in a while because there hasn’t been anything noteworthy. We’ve shipped new versions of Epilogue for iOS and Android. Micro.blog 3.0 for iOS is almost ready — also a rewrite for React Native.
We did hit one feature that I wanted to preserve from the previous version of Micro.blog: Markdown and HTML syntax highlighting when writing a new blog post. The best way to preserve this was to port the Objective-C code over to React Native. (This feature won’t be available on Android yet.)
The “native” in React Native is because it uses native iOS and Android controls, even though they are driven from a JavaScript engine. This means we can make our own native components, written in Swift or Objective-C.
There are a few pieces of code to make this work:
Here’s a snippet of the MBHighlightingTextView interface:
@interface MBHighlightingTextView : UITextView@property (copy, nonatomic) RCTBubblingEventBlock onChangeText;@property (copy, nonatomic) RCTBubblingEventBlock onSelectionChange;@endAnd the MBHighlightingTextManager interface:
@interface MBHighlightingTextManager : RCTViewManager <UITextViewDelegate>@endFor the MBHighlightingTextManager implementation, the important bits are the macros that define what properties we care about:
@implementation MBHighlightingTextManagerRCT\_EXPORT\_MODULE(MBHighlightingTextView)RCT\_EXPORT\_VIEW\_PROPERTY(onChangeText, RCTBubblingEventBlock)RCT\_EXPORT\_VIEW\_PROPERTY(onSelectionChange, RCTBubblingEventBlock)RCT\_CUSTOM\_VIEW\_PROPERTY(inputAccessoryViewID, NSString, MBHighlightingTextView){ if (json) { NSString* input\_id = [RCTConvert NSString:json]; // ... }}- (UIView *) view{ // make a new MBHighlightingTextView and return it // ...}@endFinally, the JavaScript side that loads the native component:
import * as React from 'react';import { requireNativeComponent } from 'react-native';const MBHighlightingTextView = requireNativeComponent("MBHighlightingTextView");export default class HighlightingText extends React.Component { render() {return ( <MBHighlightingTextView {...this.props} />) }}Now we can simply use <HighlightingText> in place of <TextInput> in our XML when laying out the UI. Handlers like the property onChangeText will be referenced from Objective-C so we can call them in response to methods from our UITextView delegate.
I’m leaving some code out in the above examples for readability. And I have a bunch of code still to write, working in a branch of our project on GitHub. But already the basics are working, after (frankly) a lot of trial and error and sifting through the documentation, Stack Overflow, and even asking ChatGPT, which knows a surprising amount of how this works.
Accidentally clicked on a phishing email. Ugh, must not be awake yet. Stopped short of signing in and giving them my password, though.
Got lost down the rabbit hole of W3C membership fees… Interesting scaled fee structure, in the United States from $2k/year to $77k/year depending on the member company’s revenue.
There are always more ideas than time. One of the things I’ve most enjoyed about building Micro.blog is that it’s a platform where many blog-related ideas can fit together. The “micro” was always a bit of an undersell.
I’ve been impatient for Bluesky to ship, but this interview with The Verge has helped convince me that it’s okay to wait. The API is still in flux. Already I need to go back and update some early experiments.
One of those just try random code until it works mornings. Not proud of it. Sometimes coding is less well-crafted and more stubborn persistence.
Shoutout to the guy holding a “thoughts and prayers ain’t working” sign downtown this morning. Banning assault weapons should not be controversial. It’s time.
This year I’ve become fascinated with my family tree. Just got back my DNA kit results. (Yes, there are privacy issues. I’m ignoring those for now.) So far it reveals just about what I expected. Still amazing.
Some great NBA playoff games over the weekend. Too many injuries, though. Can’t believe Tyler Herro hit that 3-point shot with a broken hand. Shooters gonna shoot. 🏀
We pushed a new Micro.blog beta out to TestFlight, improving blog selection to move the list of blogs to the toolbar area. Here’s a partial screenshot of what it looks like.

Didn’t get much feedback about my Substack blog post yesterday, so I started to doubt myself. I wrote it quickly and glossed over some details. But that’s how it is with blogs… Sometimes you put things out in the world and hardly anyone notices. That’s okay! Still worth it. On to the next post.
Another unexpected use for ChatGPT: asking it for examples of using command-line tools like rsync for specific scenarios. Faster than digging through a man page.
For folks trying Micro.blog’s Twitter import, note that the tweets page is just a web page, so you can add intro text or other formatting if you want to. I added a little intro to mine here to give some context.
Dave Winer writes about the Twitter API changes:
Corporate platforms always fail, given enough time. The Twitter API had a good run. Now the deck is clear, and there’s room to make some new stuff, or just take a break and smell the roses a bit, or go for a bike ride. 🤪
This seems like the right attitude to me too, even if it’s frustrating to deal with platforms failing. When one door closes, another opens.
Nilay Patel’s Decoder interview with Substack co-founder Chris Best is excellent. If you’ve only seen the excerpt where Chris declines to answer Nilay’s hypothetical moderation question, that clip was not taken out of context. It is exactly how the interview went, but a small part, and they cover a lot about Substack’s business and the founder’s approach to the web.
I’ve been interested in Substack since the beginning because I think they get a lot of things right:
It seems clear from listening to Chris that this focus on identity and portability is no accident. Substack believes in empowering writers, and giving them their own “island” on the web, largely free of platform rules. There is little need for content moderation because readers are actively choosing to subscribe to a writer, not stumbling on random viewpoints that may be offensive or controversial.
Enter Substack Notes:
This is a very different design than the rest of Substack. As it grows, Notes will have much more power to amplify viewpoints and be central to how users discover new writers. It will need to be moderated like a traditional social network. It will need some kind of lightweight following model instead of jumping straight to giving a writer your email address.
In the Kickstarter video for Micro.blog in 2017, I talked about how I viewed the distinction between the Micro.blog timeline (the social network) and the blogs we hosted (or that you can host elsewhere):
If we start to separate the publishing from the social network, it unlocks something. It empowers writers to feel like they own their work, even if that’s short posts. And it frees social networks to build a safe community, without worrying about censorship, because no matter what the networks do you can always post to a site with your name on it.
This has guided our approach to moderation all along. I expanded on it in several chapters of Indie Microblogging, especially the one called Open gardens. It remains a unique part of how Micro.blog works compared to pretty much every other platform.
Substack could adopt a similar philosophy with Notes. Instead, they seem stuck on… something. I’m honestly not sure why they haven’t thought this through in a little more detail.
I’m not rooting for Substack to fail, but I do think Notes needs changes. And while I’m offering unsolicited advice, they should drop the “building a new economic engine for culture” tag line. It means nothing. Forget about the VC money, the drama, whatever is happening with Twitter, and get heads down to build something that makes the web better.
New episode of Core Intuition is up! On episode 553 we talk about WWDC 2023 tickets, conferences, and Micro.blog’s new Twitter import feature.
We redesigned the Micro.blog home page this year and it’s so much better. Yet I still wonder if we’re telling the complete story about what Micro.blog can do. Full blogs. Social network. ActivityPub. Podcast hosting. Newsletters. Tweet import. Hugo. Cross-posting. More open APIs than any platform.
I’ve been keeping an eye on our OpenAI bill since we added automatic podcast transcripts for all podcasts hosted on Micro.blog. It’s working out great and sustainable. Micro.blog for podcasts is best for solo microcasts anyway. Perfect for quick transcripts and the way our hosting is structured.
Congrats to Rogue Amoeba on the major update to Farrago. They’ve done some really nice work in this app.
There’s a lot of talk about how AI can get facts wrong. That’s fair, but in my experience it’s correct most of the time. Even when it’s slightly off, there’s usually some useful truth in the answer. Much more frustrating is voice assistants who can’t even begin to give an answer.
More and more I find myself keeping ChatGPT open and asking it even dumb questions that Google or DuckDuckGo could answer just as well. “If it’s 1pm in California, what time is it in Poland?” Having an ad-free, simple response is nice. This is going to completely upend the search engine business.
I recorded a video on YouTube showing how Micro.blog’s new tweets archive import feature works. It’s 6 minutes long and I explain more about how the different parts fit together.
Daniel Jalkut blogs about Micro.blog’s new tweets import and how it can work with MarsEdit.
It’s not all about Elon Musk. Ben Thompson has made variations of this argument on Stratechery and Dithering, but I wanted to quote this segment from the Sharp Tech podcast where I thought Ben particularly nailed it:
Part of the irony of everyone getting upset about Elon Musk killing all the third-party Twitter apps is that that’s what Twitter’s management should have done a decade ago. If you’re going to go in that direction, go in that direction. Instead they didn’t have the guts to sort of follow through in their strategic decision to its logical endpoint.
I stopped posting to Twitter in 2012 exactly because of this strategy. I’ve said that Elon has greatly accelerated what was already the path for Twitter fading into silo irrelevance. I wish I could come up with a less violent analogy, but what comes to mind is Twitter leadership in 2012 loading the gun and pointing it at third-party apps, but it wasn’t until 2023 that anyone pulled the trigger.
Elon deservedly gets most of the blame for Twitter’s recent chaos. But I don’t think Twitter was going to last forever under any version of its clown car leadership over the last 15+ years. In the long run we will be thankful that Elon is effectively putting the company out of its misery. We’re going to see innovation on the open web as third-party developers realize they are the ones who have actually been given new life.
Share extension is back, and better! There’s a new beta of Micro.blog 3.0 for iOS with support for sharing photos and links from other apps. Grab it on TestFlight. Note that this is still a beta and there are a couple glitches, for example with cropping photos sometimes.
Substack Notes is interesting but they seem to have forgotten a valuable part of the rest of Substack: content ownership and portability. Your newsletter/blog can be at your own domain name, but “notes” are just another silo on someone else’s platform.
Today we launched a new feature: importing an archive of your tweets to Micro.blog. This is available to all paid subscriptions and can be accessed on the web under Posts → Import.
Very early Micro.blog customers may remember that we used to have a Twitter import feature alongside our traditional blog import from WordPress, Tumblr, and other platforms. We disabled this years ago because I kept hearing from people who realized that it was a mess importing tens of thousands of tweets into their new blog. I’ve taken that feedback to build this new feature into something that I think works much better.
There are a few unique twists with how this works:
You can see my own tweets on my blog here: manton.org/tweets
Structuring the tweet storage this way means we can leverage many of the powerful features built in to Micro.blog:
Because the storage is just blogs, you can use existing apps to manage the tweets and photos. For example, you can use MarsEdit to download and search all your tweets. It’s also easy to zap all your tweets and start over without touching your actual blog.
Some limitations: I’ve decided to only copy photos from the archive, not other types of media. If you have a lot of photos, expect this to take a long time as Micro.blog extracts the photos from your archive and uploads them to our servers. You can keep an eye on what it’s doing on Account → View logs. I expect we may tweak this as we get feedback from more people.
Enjoy! I hope this makes it a little easier to say goodbye to Twitter.
If you’ve procrastinated downloading your tweets archive from Twitter, I would do it now. It takes up to a day to get it, and who knows if it will change or break in the future.
Went to see Air. Loved it. So hard to make dialog in a movie like this not sound fake, but they pulled it off. Felt very real. Best movie I’ve seen in years. 🏀
ChatGPT continues to impress. I’ve started asking it programming questions just to save a few minutes here or there. For example, this question returned a detailed answer that was exactly correct:
I’m using Ruby and DataMapper with MySQL. How to get a list of unique years used in a database table “pages” with date field “posted\_at”?
🤯
Just posted a new Core Intuition. More on our favorite recent topics: the Twitter API shutdown and AI-generated images and text.
Love that feeling when I realize that previous me had already written code to do exactly what I need today. There’s a whole database table I forgot existed to solve this.
Wanted an illustration for an upcoming feature, and spent some time using DALL•E for the first time. Fascinating. Generated dozens of images, then drew some parts myself and put them together. I don’t think these models should be trained with copyrighted works, but credit is murky to me now.
The Fediverse Report continues their great summarization of recent hot topics. On trademarks, Eugen is certainly within his right to trademark Mastodon. I chose not to trademark Micro.blog because it’s too close to microblog, which is a word everyone can use. I also prefer “social web” to fediverse.
Fascinating discussion on the latest The Talk Show with @gruber@mastodon.social and @danielpunkass about AI. What does it mean for humanity when more tasks can be automated and fewer people need traditional jobs? As a developer, a lot of my time isn’t coding but thinking how something should work.
Blast from the past: video of my old iOS app Tweet Library. I forgot how much I loved this app. 📦
When I started building Micro.blog, I tried to limit dependencies on external platforms. The main connection is via cross-posting, which is an optional feature and not what I consider the core platform. So for example, I resisted integrating tweets into Micro.blog’s timeline, even as many people asked for it.
We are seeing now with Twitter’s implosion why that matters. I didn’t think Twitter was going to last forever, but Elon Musk has greatly accelerated Twitter’s fall beyond what I expected even when I was most pessimistic about massive, centralized platforms.
Even so, I find myself this week investing time into keeping Twitter cross-posting in Micro.blog going for a little longer. I’ve rewritten the API from version 1.1 to 2.0. Auth has to change to make that work, and an unfortunate side effect is that photo upload also has to change. I’m forced to simplify tweets so that they link back to your blog for photos.
Twitter’s paid API rollout have been chaotic. Bridgy developer Ryan Barrett found that Bridgy’s API access was shut off already, weeks ahead of the expected April 29th deadline:
The silver lining is, after all the chaos and destruction and flight to the fediverse, Twitter doesn’t feel nearly as important now as it did half a year ago.
Back in 2012 when I stopped using Twitter, I would never have guessed that 10+ years later I might be paying Twitter $100/month for the privilege of using the API. But I don’t like shutting off a feature without warning. The compromise I’ve come up with is to continue supporting Twitter cross-posting for a limited time.
Here’s where I see things going from here:
In a bit of “lemonade from lemons” good news, I’m working on something new for Twitter users that we can control. Tweet archive import! We had a version of this feature a few years ago in Micro.blog but had to disable it because it wasn’t quite right. I’m taking those lessons and also my experience building Tweet Library to make something that will last.
Did a first pass of rewriting all my Twitter API 1.1 code to 2.0. Halfway through I started to seriously question why I am bothering, given the limited lifespan of this code. It’s straightforward to push through, except for one wrinkle: Twitter never finished implementing media upload in 2.0! Sigh.
There’s a lot going on with the S-GPT shortcut. Very clever to have trigger words in the speech that help integrate with system tasks. I also keep imagining the potential for this when voice assistants are powered by it.
I’m sure a lot of Trump supporters are having a hard time processing what is going on with multiple potential charges against the former president. Doesn’t seem fair, right? Why was he impeached twice and always in legal trouble? But it’s simple: he was a corrupt president. 🇺🇸
Attempts to refill the bird feeders have resulted in squirrels taking over the backyard. They are relentless. I’m downstairs trying to work and keep getting distracted looking out the window.
Interesting to compare the main headlines from feed reader home pages:
Feedbin: “A nice place to read on the web” (Love it!)
Inoreader: “Take back control of your news feed” (Also good!)
Feedly: “Track insights across the web without having to read everything” (Enterprise-y!)
Molly White has a good post covering Feedly’s “protests” feature. But even ignoring all those problems, it didn’t seem like this belonged in an RSS reader. Even minor features should support a product’s main reason for existing, or its mission.
Grabbing coffee this morning before heading back to Austin, catching up on email. Still thinking about Taylor Swift last night. Incredible show. AT&T Stadium is massive… 70k people at the concert, times 3 nights here, so 210k people just for the Dallas / Fort Worth area.
Good write-up about FediForum from The Fediverse Report. On the $40 pricing, I was a little skeptical at first of excluding too many people, but the attendance size was just right. Great participation. For the fediverse to reach its potential, there should be a mix of business models.
If you use Drafts, check out this new action for Micro.blog. Post drafts, publish, choose your blog, cross-posting, and more options. Thanks @donnydavis!
The plug-in Search Space by @sod has been updated to 1.0. It’s a nice upgrade over the older search I wrote, searching blog posts, replies, and even the new podcast transcripts.
Taking the train up to Dallas tomorrow for a quick 24-hour trip. Initially was trying to save money in coach, but just upgraded to a roomette so I can more easily work and enjoy the trip. Hope when Brightline is finished with the Vegas line they can expand to Texas. 🚂
Posted Core Intuition 551! This episode covers the launch of Micro.blog’s new podcast transcripts feature, and more generally what AI is good for. A short show, just 22 minutes this week.
Wrote a help page with some more details about automatic podcast transcripts in Micro.blog, a new feature we shipped this week. Really happy with how this feature came together.
The new Twitter API tiers are about what was expected. Disappointing. For Micro.blog, we plan to support cross-posting for a limited number of months, to let folks wind down their use of Twitter. There’s no future on Twitter so all we can do is smooth over the shutdown for customers.
Just finished a quick demo of Micro.blog at FediForum. Might’ve talked too fast. The variety of demos is so interesting. Mastodon clients, Planetary, WordPress, Flipboard, and others. It’s an exciting time for the open web.
We’ve launched a new feature for Micro.blog Premium customers: automatic podcast episode transcripts, powered by OpenAI’s Whisper model. I’m excited about this because it’s one of the more practical, time-saving solutions coming out of the rise of AI. The automatic transcripts are so accurate they can be used as-is, or edited by hand as you have time.
I thought it would be clever to ask ChatGPT to write a blog post announcing this feature. You can see the result here. But I threw it out because I like writing my own blog posts!
At Micro.blog, we don’t usually reach for automation first. We curate the Discover section by hand, looking for posts that will provide a snapshot of activity on Micro.blog to help you find new people to follow. We don’t have trends and don’t have public likes or retweets. AI is going to reshuffle many tech products, but we’re never going to have an AI-driven algorithmic timeline. AI is a tool that we’ll only use when there is real benefit that aligns with our principles.
The new transcripts feature is available to anyone hosting their podcast on Micro.blog. When you upload a new MP3, Micro.blog will process it to generate a transcript. You can then edit the transcript or link it from your podcast page.
There is also a new Micro.blog plug-in to add a list of transcripts to your blog, as well as control options to disable transcription and link to the transcript from blog post. Search in the plug-in directory for “Transcripts” to install it.
There’s no extra charge for any of this. Micro.blog Premium has always been $10/month and it will continue to be priced that way. It includes podcast hosting and also email newsletters, bookmark archiving, web page highlights, and much more. We think it’s a great value.
NSDrinking tonight! 🍻 I’ll be there. I haven’t joined in a while, so will be nice to catch up with folks. Anyone’s welcome.
It’s pretty incredible how little has changed in podcast RSS feeds in 20 years. That’s a good thing. The podcast ecosystem is not exactly suffering because of any confusion or missing spec features.
I agree with the spirit of the Podcast Standards Project but I’m concerned about the details. The specification seems overly strict in a couple places (like guid) that will not be compatible with a bunch of feeds.
The automatic code reloading in React Native is still kind of wild to me. I committed some changes, pushed to GitHub, then switched branches to something else, and the UI updated while the app was running in the simulator. Surprised me even though I know it works that way.
Just pushed out another TestFlight beta of Micro.blog 3.0. This has some really nice new stuff for managing uploads. Also the return of basic photo filters! Getting closer. Still missing: share sheet.
I’ve been playing with Wavelength Messenger. Not to be confused with our own Micro.blog companion app for podcasts, also called Wavelength! I wish it was called something else, but ignoring that I think there’s a lot to like. John Gruber’s introduction is the best place to start.
FediForum is this week! On Thursday I’ll be demoing how Micro.blog fits into the fediverse, and I’ll join in other sessions when I can. You can see the schedule here.
Worked a bunch this weekend trying to decommission an EC2 server (hosting App.net archives!) by moving millions of little files to S3. Taking forever, often failing. I’ve been maintaining this for years and really want to turn the page on it, but can’t accept losing any data.
With yesterday’s podcast, we hit 550 episodes. Some listeners may have noticed that we’ve slowed down a little, recording every other week while there has been a lull in sponsors. Hoping we can do a few new secret member-only episodes this year.
On the latest Core Int, we talk about shifting deadlines for shipping Black Ink and the potential for integrating new AI tools in developing our apps.
I like this summary by @snarfed of why HTTP content negotiation is more trouble than it’s worth. Simple, different URLs for different things are easier to debug, copy/paste between apps, etc. I often look at Micro.blog’s JSON in a web browser, no special tools needed.
Great story from the @RogueAmoeba blog about a meeting with Adam Curry, Eddie Cue, and Steve Jobs that may have saved Audio Hijack.
We don’t use AWS for that much, but costs just about doubled last month with more CDN usage. I tweaked some settings to try to bring it down a little. 💰
Dunno if I’m late or early to this, but I’m playing with the OpenAI API. Impressive. The folks over there know what they’re doing.
Really didn’t want to be up at midnight still dealing with attacks on our servers, but here we are. Good news is I was able to optimize a few things that will be helpful going forward anyway.
Micro.blog was acting a little sluggish so I looked at the logs and of course the servers are being hammered again by “hackers” attempting to exploit security holes that don’t exist. Blocked a bunch of stuff and should be better now.
Great article in Texas Monthly about Community Impact, a hyper-local newspaper for neighborhoods around Austin, Dallas, San Antonio, and elsewhere.
I hadn’t been following Hachette v. Internet Archive closely, so spent a few minutes listening to Brewster Kahle’s statement. It seems part of a larger issue of whether we can own digital content or will have to rent it. The Internet Archive is such a force for good, glad they’re fighting this.
Watching some of the recent Microsoft Copilot demos and playing with Bing, I wonder what AI products they will roll out before everyone else can even attempt to catch up. Maybe a Microsoft voice assistant box? It would leapfrog Alexa and Siri.
I really enjoyed this episode of The Talk Show with guest Jason Kottke. Their talk of 404 links after years (and decades!) of blogging inspired me to expand our archiver in Micro.blog to make it easier to preserve a copy of web pages you link to. I recorded a YouTube video with the details.
The new beta of Micro.blog for iOS is coming along really well. We’re at the point where I can see the finish line, and I’m comfortable punting some more features into the next update.
Spurs eliminated from the playoffs early this year, but you couldn’t tell by watching the 2nd half of this Hawks/Spurs game. So fun to watch. 🏀
Listening to U2’s Songs of Surrender. I think I was expecting a kind of “Taylor’s Version”-style re-recording, but it’s more a new take like you’d hear at a concert. Love this. 🎵
Playing with FeedLand reminds me that Micro.blog doesn’t have OPML export. The reason is because some people might have private-ish RSS feeds that power their account. This is rare but I wanted to be careful about exposing the URLs. Need to first add OPML that only includes obviously-public feeds.
We’re enabling ActivityPub for everyone now, not just recent users. This is needed so that you can fully migrate followers away from Micro.blog if you want to in the future. It will cause email notifications for some folks who haven’t used Micro.blog in years, but I think it’s the best way forward.
Long day. Drove into hail somewhere before Denton, then through a thunderstorm between Waco and Austin. It started with lightning playing in the clouds and then the downpour was on us, destroying visibility as we crept down the highway with our hazard lights on. Kind of a Texas-sized welcome home.
I’ve been a software developer for about 30 years and ChatGPT is the first technology that I can barely comprehend. Still feels like magic. 🪄
Last day on the road as we make our way through a rainy highway 287 in the middle of nowhere.

Did not finish: Senlin Ascends by Josiah Bancroft. Just couldn’t get into it. Might try to pick it up again some other time in print instead of audiobook. 📚
I was reviewing a GitHub pull request today for a potential upcoming feature and was struck by how well it represents my workflow with Micro.blog for major new features. Start with some basic structure for the code, add more pieces, then fix bugs and polish it up. Screenshot:

Great milestone as Kottke.org hits 25 years. Jason writes about the early days:
The updates on weblogs & diaries were smaller but more frequent than on other personal sites — their velocity felt different, exhilarating.
Enjoyed Colorado this week. Heading back to Texas today… Going to miss my new morning routine of walking to the coffee shop with a view of the mountains in the background.
Pikes Peak from Garden of the Gods. For “horizon”, day 14 of the Micro.blog photo challenge.

Royal Gorge Route Railroad. Incredible views, good lunch. Makes me want to re-read From the River to the Sea which covered a lot of building the track here.

Shiny light at Palace Coffee in Amarillo, for day 12 of the photo challenge. Be kind. ☕️

There’s no lesson in impermanence like spray painting your message at Cadillac Ranch only to have it covered up by someone else 30 seconds later.

Posted this week’s Core Intuition, all about social networks and blogging. Bluesky, the AT Protocol, Micro.blog, WordPress, ActivityPub, and Nostr.
I can’t take Meta’s efforts at decentralization seriously while they don’t even have a usable API for posting to Facebook and Instagram. From Platformer:
Building a decentralized network could also give Meta the opportunity for its new app to interoperate with other social products — a previously unheard-of gesture from a company known for building some of the most lucrative walled gardens in the industry’s history.
Morning at Lamppost Coffee. As close to a ritual as I have, for day 10 of the photo challenge. ☕️

21 years ago today, my first blog post. A bunch of promising social networks have come and gone in that time. Often feels like very little is permanent, so make sure to have your own space on the web.
What an incredible milestone for @\_Davidsmith@mastodon.social: 100 million downloads of Widgetsmith. This part of his blog post resonates with me too:
The Indie Developer community has demonstrated time and time again the tremendous capability of the individual or small team. Showing that it doesn’t take massive teams with giant budgets to create things with enduring value.
Walked up to the coffee shop this morning. The side of the road everywhere still looks like this, leftover branches from the winter storm. Cleanup trucks starting to arrive, but it’s going to take a while.

Congrats @playdate@panic.com on the Catalog release! I’m updating my Playdate now. It’s the model that I still hope we’ll get for the iOS App Store one day: a curated store + side-loading for everything else.
Worked this morning at Cuvée Coffee. Bags of coffee beans for today’s prompt “whole” on the photo challenge. ☕️

New Micro.blog 3.0 beta going out to TestFlight folks now, adding username auto-complete. Still has a couple glitches but should be a nice improvement when you @-mention people. We are steadily working through re-implementing the features from 2.3 so we can ship 3.0 to the App Store.
Bluesky is starting to enable custom domains. This is exactly how things should work in terms of identity and portability. Micro.blog has a similar (but less ambitious) way to follow domain names. Would love to see Mastodon get inspiration from this.
Photos still rolling in every day for our March photo challenge. It’s fun to see some Mastodon posts in the mix too! Check out the grid view on the web for an overview of everything. Not too late to participate, follow @challenges for the prompt each day.
Stopped at a train crossing as an Amtrak went by. Because today’s photo prompt is “engineering”, thought of a train engineer and got this shot out the car window. 🚂

Two new iOS app updates to start the week: Sunlit 3.4.4 fixes setting alt text, and another Micro.blog 3.0 beta with support for saving and publishing drafts.
Looks like Mastodon will be getting expanded support for showing styles in posts. Micro.blog already sends bold, italics, and other basics to Mastodon, so this will be a nice improvement for folks reading in Mastodon.
In case anyone doesn’t notice the post on @news, there was an issue with loading photos from the CDN tonight after an HTTPS certificate expired. I’ve fixed it and also added the CDN to our monitoring so this won’t happen again.
I’m going to attend FediForum on March 30th (day 2) to show how Micro.blog and Mastodon work together. Should be interesting! Feels like 2023 is going to be different tech communities coming together in our shared post-Twitter world.
I’ve been trying the Bluesky beta (still private, but they have a waitlist). I’m open to supporting it because Micro.blog isn’t based on any single protocol. It’s a blogging platform and social network that connects with the web. ActivityPub, Micropub, WebSub, RSS, XML-RPC, whatever.
Thanks @Aywren for the kind words about Micro.blog and how it connects to the fediverse and other services. Love this line: “Micro.blog has the ability to connect everything together in a crazy good way.”
Solitude is coffee and a breakfast taco and my laptop, having the whole outside to myself for a little while. Lazarus Brewing. ☕️ (Also trying to do all my photo challenges in black and white for something new.)

Looking up at the sky as we’re expecting bad weather tonight. Wind is starting to pick up.

We went seriously down the genealogy rabbit hole last night, with a couple “oh wow” moments of discovery. Need to do a little more research at the library (print books! microfilm!) and then will try to write it up in a blog post.
John Gruber writing about the App Store / Twitter apps refund problem:
Consider the gut punch of losing your job — you stop earning income. It’s brutal. Now imagine that the way it worked when you get fired or laid off is that you’re also suddenly on the hook to pay back the last, say, 6 months of your income. That’s where Tapbots and The Iconfactory are.
Love seeing the photos coming in for the March photo challenge. My favorite view is this grid view of thumbnails. Related, I think it’s time we enable the CDN for all blogs by default. I’ll make that change later today and of course you can opt out.
I’ve said before I never want to change Micro.blog’s $5 standard hosting price. The best way to increase revenue is to get more customers and make our $10 plan valuable. But if we ever change it, I promise not to blame it on macroeconomic headwinds. Customers want clear and honest answers, not spin.
Good write-up on Six Colors about the updates to Twitterrific and Tweetbot, which let you opt out of getting a refund. Strongly recommend if you had a subscription to download the update and opt out. Just takes a few seconds and will really help those developers.
Day 1 of the Micro.blog photo challenge! Today’s word is “secure”. I noticed this keyhole covered up or filled in at the coffee shop.

It’s bad enough that Linode dropped their logo, but now prices are going up by 20%? I haven’t done the math but this is going to be a big hit to our Micro.blog hosting costs. Not happy.
Can’t believe it’s March already, at least for folks on the other side of the world. Reminder to Mastodon folks: you can follow and participate in the Micro.blog photo challenge by following @challenges@micro.blog. We’ll be sharing some more details as things get underway.
Loved the first book in this world so decided to get A Day of Fallen Night on release day. Still have a couple other books to finish first before I can start this. 📚

Last night, stayed up until 1am reading Assassin’s Quest. Felt like I was 17 years old instead of 47. 📚
With the big character limit change behind us, I had a free morning to work on anything. This is my favorite thing about being small. Added a new CSV export for highlights based on recent feedback.
Don’t sleep on our bookmarks and highlights feature. 🙂 It is going to grow into something special.
I uploaded a very short 21-second demo video to YouTube, showing the Mac app’s updated character counter for posts with block quotes. Same behavior across all platforms as described in this announcement post.
In 2014, as I was starting work on Micro.blog, I blogged about the properties of a microblog post, including the character length:
I picked 280 characters instead of App.net’s 256 characters because it’s slightly less nerdy, and feels right at exactly double Twitter’s 140. This should be thought of as more of a guideline than a rule, though — just something to shoot for.
After that, Twitter also doubled their character limit to 280 characters. Mastodon launched at 500 characters. In the years since, it has felt less symbolic for Micro.blog to stick to 280 characters. Thinking about a post-Twitter world, 280 actually now feels kind of wrong.
Micro.blog is based on real blogs, so you can have full-length blog posts with a title, categories, photos, inline links, podcasts, and anything else you’d expect blogs to have. Those full posts don’t have a limit. It’s the Micro.blog timeline that encourages the 280-character limit to make the timeline as readable as possible, not cluttered with long posts or “read more” links.
Today we’re making the next big change to how the timeline works: we’re “rounding up” the character limit to 300, and for short posts that contain a block quote, we’re doubling it to 600.
Unlike some social networks, Micro.blog’s character counter is for the text you will see in the final post. It strips out any Markdown or HTML tags when calculating the length, so there’s no extra cost to italic text or links. And with the 600 limit for quotes, it’s more consistent to use Micro.blog’s “Embed” link to paste in someone else’s post from the timeline and know it won’t be truncated.
This gives posts a little more room to breathe. The posts are still short enough that it’s not a significant change to the reading experience in the way that bumping it all the way to 500 would be. It feels right for Micro.blog.
Micro.blog on the web, the Mac app, Android app, and beta of Micro.blog 3.0 for iOS on TestFlight have all been updated with this new limit.
There’s still more to do. We plan to adopt this change for Micro.blog replies as well, which have always been treated differently than regular posts. Because that’s a more disruptive change, we’ll roll it out separately in the coming months. We have some ideas for improving the UI for long replies to tie replies back to your blog. That will take longer to get right.
Enjoy the extra 20 characters! Happy blogging.
We’re doing another photo challenge in March! Post a photo each day to your blog, inspired by prompts that we’ll post to Micro.blog.
New episode of Core Int: I’m the King of the World. We talk about @danielpunkass trying to ship Black Ink for iOS. Then we react to the latest news of Twitter’s Titanic-like slow sinking.
Actually made a to-do list to coordinate shipping a new feature on all platforms at once: web, macOS, iOS, Android. Takes a lot of juggling even for minor code changes.
Spending a little time this morning improving performance to combat “hackers” making a bunch of requests to our servers, as they attempt to exploit holes that don’t exist. A large percentage of our total hosted blog traffic is just 404s. Waste of internet bandwidth. 🙁
I’ve documented how Micro.blog works with the Micropub API’s syndicate-to parameter now that there’s more control over cross-posting. Always feels good to revisit an IndieWeb API.
From Platformer, this rings true especially for the Twitter API free vs. paid changes that never materialized:
Musk seems to announce a new thing coming “next week” all the time, and often those deadlines pass and whatever feature was allegedly coming is never heard of again.
It’s really cool what @lex has been doing with his Daily Lex podcast. I hoped we’d see this kind of thing when we built podcast hosting in Micro.blog. Recording even a short show nearly every day is hard… I’ve tried and want to get back into it.
Today we updated the web version of Micro.blog (and the Mac app) to provide better control over how new posts are routed to external services like Twitter, Mastodon, LinkedIn, etc. Just like showing blog categories, you can show checkboxes and uncheck which services you don’t want Micro.blog to cross-post to. This setting is remembered only for the current post and by default posts go out everywhere.
This is a fairly big change. I expect we’ll learn more as people actually use it. I wanted to get it out for the web and Mac first because we can ship those without waiting for approval from Apple and Google. Mobile versions will follow.
Some of the gotchas you might run across:
We’ve also expanded our support for the Micropub API to include syndicate-to fields. This is well-covered in the spec. The Mac app is open source and uses the same public API.
Finished reading: Ready Player One by Ernest Cline. So much fun. Still going to skip the movie, doesn’t seem possible to adapt without losing too much. 📚
Working on a couple new features. Some things we try to roll out across all platforms at once. Some it’s better to release for the web first, then follow up with native app implementations. Not an exact science, just depends on what feels foundational or optional.
Not a lot of words, big change:
Enabled spell checking as you type in new posts for desktop web browsers. For mobile, the best editing experience will still be our native iOS and Android apps.
Reading about Biden’s trip to Ukraine. Flight to Poland and then 10-hour train to Kyiv. Hoping we see some photos of the train… Fascinating everything that went into the trip. 🇺🇸
Micro Camp 2023 will be in May. Online-only this year. Email @jean if you’ve got an idea for a short talk you’d like to share with the Micro.blog community.
Rolling out some plumbing for future work. Some features are best deployed in phases… Database changes first, then other services bits, then finally clients. Nice to be able to see how things are running before launching for real.
I try not to complain about pricing because I know how annoying it can be when someone says $5 for Micro.blog is too much, but $12 for Meta Verified is way out of whack. Seems to be a new trend to charge for non-features.
This new Micro.blog plug-in from @sod is so clever. Post previews using your blog template!
Another week, another round of ActivityPub-related improvements! Over the last few months we’ve been filling in little details for Mastodon compatibility in Micro.blog. Were at the point where Micro.blog is a good fediverse citizen and has everything most people should need.
Today I rolled out initial support for setting a Mastodon profile header image. This is a feature that Micro.blog doesn’t currently have for its own profiles. Should it? I’m not sure, but in the meantime I didn’t want it to hold back anyone who likes profile headers on Mastodon.
You can upload a profile header in Micro.blog under Account → View Mastodon Details. When Mastodon users follow your account, they will see the header on Mastodon. Here’s a screenshot of part of the settings screen:
Micro.blog also does a better job of notifying followers on other servers when a profile photo updates. Mastodon generally has a different philosophy for storing images than Micro.blog does. Micro.blog loads most images as needed when they are viewed and caches them for a certain length of time, whereas Mastodon waits for a server to tell it that a profile or post has updated and then copies any images to its own server.
We could take most major features in Micro.blog and keep fine-tuning them indefinitely. Mastodon support is no exception, but I think this is a good time to pause. Next week I’m excited to revisit some pieces of the core Micro.blog platform that don’t necessary have anything to do with the fediverse.
Finished reading the last few chapters of Royal Assassin by Robin Hobb on the flight back to Austin. Can’t wait for the next one. 📚
Realized yesterday that a better per-post cross-posting setting is probably the most common Micro.bog feature request over the years. I think it’s time. Expect it soon-ish.
Hung out with a bunch of people yesterday who I mostly hadn’t met in person before, so now I’m replaying every conversation in my head to remember what idiotic things I probably said.
Of course the HTTPS cert for one of our CDNs would expire while I’m on an airplane. Thanks as always to @vincent for recovering things quickly.
At the beginning of each week, I make a short list of important tasks to work on. Always nice when it’s midweek and a bunch of things are done, sometimes everything. I’ve found this approach works well for me… Each week is a reset with achievable goals.
Every time I set up something in S3 or Cloudfront, I have to re-learn how it works. Users, bucket policies, CORS… Doesn’t matter if it was only a few weeks ago that I last configured something, or that I’ve used AWS for years. The UI is optimized for flexibility, not convenience.
Got some good replies that maybe I’m wrong about UFOs. But assuming we’re mostly alone, I still don’t know whether to be sad or inspired by it. No neighbors means it’s all on us to explore and eventually move to other planets. 👽 Preferably not with balloon power. 🎈
UFO speculation is funny. Aliens aren’t going to invade with balloon-powered airships! 🎈 I think we’re mostly alone. The universe is vast, but it’s not that much older than our own planet. Not enough time to develop another civilization and solve lightspeed travel. 👽
We pushed another TestFlight beta out for the Micro.blog rewrite. This adds post editing, which was one of the last things that I missed from the previous shipping version. @vincent continues to do good work on this, and I’ve even started contributing a little bit of code.
“I expect chaos.” — Me, writing in October just after Elon took control of Twitter.
One of my favorite things about blogging is looking back on what guidance might be hidden in old posts. Old blog posts are like a mission statement reality check. Yep, still on track.
I don’t have strong opinions about football rules like I do about basketball. I think my nitpick with last night’s game is that a 5-yard penalty also came with a free 1st down. Clock management is so critical late in the game that 1st downs shouldn’t be given out easily. 🏈
I love emoji, but I seem to have become grumpy about custom emoji (like Slack or Mastodon) because they don’t actually work anywhere else on the web. Maybe it’s time for me to let go and embrace the fun, despite the inconsistencies.
Posted @coreint episode 547 with a recap of last week’s ice storm in Austin, and then a long discussion about enabling Mastodon-compatible usernames in Micro.blog and what the impending Twitter API changes might mean for Micro.blog.
We’re caught up on Last of Us on HBO, and also started playing the game on PS4. I’ve been mostly in the Nintendo world for years, so I missed a lot of really good PlayStation games. Nice thing about waiting: it was only $10. 🕹️
Lots of NBA news. Poeltl back to the Raptors. Will miss him, loved having him on the Spurs. Durant to the Suns. And this is mind-boggling on the failed Brooklyn experiment:
Durant, Kyrie Irving and James Harden all arrived to conquer the NBA together, and they all left on the muscle of trade requests. They played a total of 16 games together.
Continuing to tweak how we handle Mastodon servers that are down. A lot of instances come and go. Micro.blog is better now about retrying connections but also noticing when a server is probably not coming back.
Excited as LeBron gets closer to the all-time points record. Should happen tonight or Thursday. I loved watching Kareem when I was growing up. Always a Spurs fan now, but it’s been a long time since the Spurs/Heat finals… LeBron has won me over. 🏀
Setting up more Micro.blog accounts today to be ActivityPub-enabled. Folks will get an email when this is enabled. It can be turned off, and we’ll likely be adding some more settings here too.
We’re going to be doing more regular TestFlight builds of Micro.blog 3.0 as we get more features filled in. If you want to follow along, check out @news for the latest links and other updates.
Several days ago, Twitter announced the API will no longer be free. Then Elon backtracked, saying maybe “good” bots will be free. We still have no idea. It’s stunning how badly they are handling… well, everything. 2k employees is still a lot! It’s not the staff, it’s the chaos.
Ahead of the Twitter API going paid-only, I’ve been looking into how much we’re actually using it. I’d like to keep offering Twitter cross-posting for the next X months to give Micro.blog customers an offramp. It’s hard to make business decisions with Elon’s erratic leadership.
Finished reading: The Dragon Republic by R. F. Kuang. Not sure I’m going to continue the series. There’s great stuff here but I’m no longer feeling much sympathy for the main character. 📚
Slowly getting back to normal after a few days without power. Lights came back on last night, and it was like a luxury… Fast internet. Heater. Hot showers. The only reminder of what happened is a yard full of tree branches. Just hoping most of our live oaks survive this. ❄️
Even though I’ve been personally done with Twitter for years, still sucks to see the API go paid-only. Feels similar to when we had to disable Facebook cross-posting from Micro.blog because Facebook continued to lock it down. But we’ll see… Curious about the price and terms.
Driving through the neighborhood and it’s like nothing we’ve seen here… For a moment I imagined a giant ice god, sweeping down with frost and fury, smashing trees. ❄️
We’ve lost more tree branches today than the last ice storm. Hearing the creak and fall, or scraping the roof… Not good. Power has been out most of the day, but we’ve got plenty of firewood. Sitting by the fire with a glass of wine and an e-book and pretending it’s all fine. ❄️
Woke to the sound of tree branches breaking under the weight of ice. No power. Made a fire. Sun starting to come up. ❄️

I know that 64-bit numbers are insanely large, but I still hate wasting database IDs. Bug caused hundreds of thousands of unnecessary database records. Oh well, onward.
Would love to know more about yesterday’s mastodon.social DDoS attack. So many people use that instance, when it’s slow we notice. In this case, it actually revealed a bug in Micro.blog, sending too many requests to Mastodon. Feel bad that it probably wasn’t helping their server.
Last night, instead of actually reading, I wasted a lot of time conflicted on whether I could finish reading an e-book before it was due at the library or if I should pause and read something else. Usually juggle 2-3 books (at least 1 audiobook)… So much to read. 📚
Finished reading: River of Stars by Guy Gavriel Kay. I’m sort of left without the right words, dumbfounded after finishing this. Really good. 📚
January is almost over. Micro.blog has been much more stable after the few glitches we had in November as Mastodon was blowing up. We’ve had ActivityPub support since 2018, but only needed to learn how to actually scale it recently. Progress.

When we started using @news more, I was worried about adding noise to people’s timeline, so I customized the feeds to only include “big” changes. That ended up being confusing. I’ve reverted it now so that the news.micro.blog home page, feeds, and timeline include all posts.
New episode of Core Intuition went up last night. Daniel reviews the redesigned Micro.blog home page. We talk about being a tiny company, open source licenses, and more.
For puzzled Mastodon users reading my posts, I keep forgetting about Mastodon ignoring blockquote tags. Need to update Micro.blog’s cross-posting and ActivityPub to automatically change the output to use regular quotes.
This is a really important point from Alan Jacobs:
Mastodon has certain virtues, at least for some, but let’s not attribute to it powers it does not have.
Federation is a step forward, but it does not solve everything. I think my post from 4 years ago holds up here.
One of the last missing pieces for Mastodon compatibility was improving DMs, which I rolled out yesterday. We don’t have DMs as a core feature on Micro.blog because I think private messaging needs to be handled very carefully, and not every social network should have its own messaging system. iMessage and Signal are better for this.
DMs just going into the void isn’t good either, though. The compromise we’ve settled on is that when someone from Mastodon sends you a DM, Micro.blog forwards that message to you in email. The email now includes a link to a form for you to send a reply back to Mastodon:

There is no message history and messages are deleted automatically after 60 days.
I’m often humming or whistling a song that is stuck in my head, and this morning for some reason it’s one from Bungie’s Myth. I think? Got lost just now down the rabbit hole of soundtracks on YouTube trying to figure out which theme and game it really was.
We released a new version of Epilogue for both iOS and Android. I’m finally getting these platforms in sync. I think our bet on React Native is paying off.
This version adds a new post screen to your reading goals. As you blog about books you finished reading, Epilogue keeps track of them. At the end of the year, you can use the new post screen to compose a blog post with all the books you’ve read. Each book cover links to your blog post about the book.
You can see what my books post for 2022 looks like here.
This uses a new Micro.blog plug-in called Book reading goals. If you don’t have the plug-in installed yet, Micro.blog will automatically install it when publishing your blog if needed. (Epilogue works with any blog that supports the Micropub API, but this feature is only for Micro.blog because of the plug-in.)
Here’s a screenshot of the new screen on iOS. You can edit the text before posting.
With this feature, I’ve completed the transition away from Goodreads, and don’t plan on using it going forward. Good luck with your reading goals in 2023!
Got a new game: The Great American Mail Race. Similar to Ticket to Ride so I knew we’d love it. The ink stamp to track your score is perfect.

Happy holidays! Hope everyone is as healthy as possible and enjoying the weekend. It has been a long year… Looking forward to some rest and thinking about 2023. 🎄
Still cold in Austin, and presumably everywhere. We burned through most of our firewood the last couple days, but thankful for no power outages or other problems in our area. 🎄
Mastodon client Mammoth also running their own server to make sign-up less confusing. Smart idea that I wonder if others will copy.
For the last Core Int of the year, @danielpunkass and I talk about blogging! The latest with Twitter, Matt Mullenweg, Mastodon, Micro.blog, and why blogging is the eternal tech of the web that will always come back in style.
The Android version of Epilogue has been lagging behind iOS, so I dusted it off this week and started a new open beta on Google Play. Still have a few tweaks to make and then will ship both Android and iOS after the holidays.
In 2023, I plan to advocate more for client apps to embrace the larger IndieWeb and fediverse. Mastodon going mainstream is a great step forward, but we don’t want a monoculture. A key IndieWeb principle is plurality: multiple apps with different codebases that can interoperate.
Sad but understandable that the Trail of Lights was cancelled tonight. We had tickets for tonight because we were slow getting ourselves organized. Everything is a little mixed up this year, trying to find time for old and new traditions. 🎄
Pushed another update to the beta Micro.blog iOS app (TestFlight link). Still planning to ship early-ish next year, but I use it as my default now. If it’s missing anything you need, just re-install the official release from the App Store.
Adding this to the travel list: Miniatur Wunderland in Hamburg, covered in the New York Times today. The world’s largest model railway. Looks amazing.
The year isn’t quite over yet, but the book I just started reading is going to take more than the next week to finish, so I think the books I read for 2022 is pretty much wrapped up.
During the pandemic I started to read much more than ever before. In 2021, I read 33 books, and this year I set a goal of 40 books, hitting it last week. I’m going to stick with that goal for next year too.
I’m also going to stop using Goodreads. Our Micro.blog companion app Epilogue does everything I need and it integrates with my blog, which is where I want my book reading progress.
I wrote a Micro.blog plug-in that makes it easy to add a list of books you’ve finished to your blog. So here it is below! Each book cover should link to the microblog post where I blogged about finishing the book.
The next version of Epilogue will have this feature built-in. I hope to get it approved by Apple and Google in time for the new year.
At Micro.blog we love books. We don’t love worrying about stats — no follower counts, no pressure! — but I’ve found that setting a personal reading goal helps me make time to read, and it’s fun to reflect on at the end of the year.
We’ve written a help article about the differences between Micro.blog and Mastodon. Hope it helps clarify a few things! I love our support for ActivityPub, but we’re trying to do something different too and don’t want to lose that.
No question Elon has gone way beyond our worst predictions for Twitter, but his “decisions by tweet” have added to the narrative that the company is chaotic and off course. Imagine App Store policies the same but Tim Cook firing off random edicts about side-loading or linking.
I agree with @benwerd to stop giving Twitter attention, but as the Micro.blog founder it’s kind of my job to comment. I’ve been wondering why Twitter anti-competitive behavior in 2012 didn’t resonate like 2022. People now have a single, impulsive leader to blame for everything.
Thinking of folks bailing on Twitter, I spent a little time clicking through old tweets from when I signed off in 2012. What I got wrong was jumping to another silo. Later went all-in on my blog, building Micro.blog, and embracing the IndieWeb. Those are the things that last.
We re-watched all the Harry Potter movies over the last week or so. Thinking about putting a books re-read on my list for next year… Haven’t read Deathly Hallows since it’s release. 📚
Twitter blocking links to Mastodon and other networks reminds me of when (10 years ago!) they also shut down Instagram’s “find friends on Twitter” feature. But you know what you can always link to in your profile? Your blog.
Finished reading: Legends & Lattes by Travis Baldree. I love fantasy books and I love coffee shops, so how can I not love this? Fun story. 📚
For years I’ve assumed Twitter won’t last forever, but Elon has really accelerated that timeline. Still stunning.
We just published episode 541 of Core Intuition. Talking about marketing for Micro.blog, influencers, the holidays, and an update on MarsEdit 5.
I haven’t been able to pin down exactly what I don’t like about AI-generated text and art, but I always got the sense that something wasn’t right about it. I like this post from Lois van Baarle, writing about artists protesting AI:
Many have compared image generators to human artists seeking out inspiration. Those two are not the same. My art is literally being fed into these generators through the datasets, and spat back out of a program that has no inherent sense of what is respectful to artists. As long as my art is literally integrated into the system used to create the images, it is commercial use of my art without my consent.
She’s an incredible artist with a very distinct style. If it was copied by a robot, you’d know. Go check out her Tumblr blog or books.
Good post from @dave about how blog posts without titles should be handled by feed readers. It seems so simple but doing this the right way is actually a big part of moving beyond Twitter.
I’m updating book.micro.blog with Elon’s impact on Twitter. Giving myself until the end of the year, then calling it done. For real this time. There will always be something new, but this is a good place to wrap it up.
Looks like mastodon.technology is officially no more. As part of the shutdown, the instance was sending thousands of ActivityPub “delete” messages, which I’m still not sure is correct if there’s no intent to delete an account. What if a closing instance has a million users? Hmm.
Does anyone at this coffee shop not have COVID? Maybe I’m stuck in the pandemic mindset, but if you’re coughing and blowing your nose repeatedly in public, stay home please. Sitting outside now. 🙂
I could write about rumored third-party iOS app stores but it would repeat what I’ve blogged about with sideloading for years. What’s new: many sideloading skeptics now support it. It is inevitable because it’s the only permanent fix to the exclusive distribution/payment problem.
Jack Dorsey wrote an interesting post (not a Twitter thread!) about a potential future for social media. I disagree with much of it, but I respect that he’s being thoughtful and self-critical.
Another clever Micro.blog plug-in from @sod called Bookmarks Shortcode. I’m trying this out now and it works well. I hadn’t thought about sharing my bookmarks publicly before, but I like the option.
Walked to the coffee shop despite likely rain today. Can’t find an umbrella. I bought one in Portland last month but then remembered that no one uses umbrellas in Portland. Accidentally left it in the rental van. ☔️
“Everything that we make, we try to make the web a better place.” — Matt Mullenweg in an interview on Decoder
Lately my job seems to be about making sure Mastodon doesn’t turn into a denial-of-service attack on my servers. 🙂 Sorry for the flakiness today, partially caused by how we were handling a flood of messages from Mastodon.technology’s impeding shutdown. Fixed the issue.
I made a video to show how Micro.blog and Mastodon work together. Hopefully this helps, but admittedly it’s all still pretty confusing, and I think we could explain it better. You can watch it on YouTube here.
Tested cross-posting from Micro.blog backwards and forwards today with test accounts. Photos, no photos, alt text, Twitter, Mastodon. Always works, so puzzled why it can be flaky for some people. Next up: more logging and upload retries.
Doing some database housekeeping this morning. One of our tables to keep track of Mastodon activities had grown out of control, introducing a little downtime last night. Should be running much better now.
I’ve been trying to walk up to the coffee shop every other day. Mostly quiet out as I headed back home, sky reflecting on the lake but no rain yet.

This bit from our news blog is probably worth highlighting here too. We’ve improved cross-posting in Micro.blog, now preserving alt text when sending photos to Twitter. Required a trip down the OAuth rabbit hole for a new endpoint and updating old code.
Still confused about the game Elon is playing with the so-called Twitter Files. I’m not seeing any obvious unethical behavior from the old team at Twitter. Just looks like Elon is trying to burn every bridge he crossed over to become CEO, including I expect with Jack Dorsey.
This week’s Core Intuition is up with discussion of the MarsEdit 5 release and ChatGPT. We go long on this one, about an hour, possibly because I can’t stop rambling incoherently about AI.
Finished reading: Babel by R. F. Kuang. Fantasy but only just barely, it’s really an alternative history about language, race, class, friendship. Brilliant. 📚
Just typed “blogged down” instead of “bogged down” in a message. Blogs on the brain, always. 🧠
Micro.blog has always tried to put all the important URLs for your blog at your own domain name if you have one, including URLs for photos you post to your blog. I like this because it’s consistent with prioritizing content ownership, and makes migrating photos to another blog host easier in the future. We like clean, simple URLs.
Today we’re adding an option to enable serving photos from a content delivery network. This will update your photo URLs to use the CDN, while your home page and other blog pages will still use your own domain name. As your blog grows, especially with years of uploaded photos, this can really improve performance as people visit your blog from all over the world.
To enable the CDN, click on Design and look for the “ Use content delivery network for images” checkbox:
There is no extra charge for this feature, and it’s included in all plans. Happy photo-blogging!
Brittney Griner finally released. Paul Whelan still held. It’s not exactly a fair prisoner exchange, but at least Brittney is out. 🏀
MarsEdit 5 is out! Features new Markdown highlighting and quick micropost window. Works great with Micro.blog. Congrats @danielpunkass!
Feeling pretty chill about the Georgia election. Watching the results with the least stress compared to any election in years. It’s going to be fine. 🇺🇸
Pushed out a new iOS beta of Micro.blog 3.0 with user search in Discover. Reminder for new folks joining the early TestFlight, still some missing features that we’ll put together before it ships next year. testflight.apple.com/join/lWxM…
Got a new feature ready to ship but gonna hold it until tomorrow morning. All the pieces are deployed, tested, just hidden in the UI, and always seems like a mistake to launch things late in the day.
I’ve renamed and expanded the help page about how Micro.blog works with Mastodon. Includes more answers to common questions.
ChatGPT is a video game. That’s okay, I like video games too! But I’m not going to get distracted into thinking it’s a productive use of work time. I’m enjoying the screenshots folks share and otherwise ignoring it. (Maybe I’ll regret this stance when the robots come for me…)
Weird dreams last night… I met with Elon Musk and we talked about curation, small developer teams, and how Micro.blog could carve out a nice market niche away from the Twitter chaos. And for some reason my iPhone clock kept mixing up AM and PM. Maybe a sign I need a break.
Set aside some time this morning to improve compatibility between Micro.blog’s bookshelves and Bookwyrm, but Bookwyrm federation seems flaky. Couldn’t follow other Mastodon accounts either from within bookwyrm.social. Took notes and will revisit later.
The more I watch Home Alone — especially Home Alone 2 — the more I just feel bad for the thieves. Kevin is torturing them. The kid is twisted and needs help. 🎄
For replies, Mastodon only links the username (e.g. just @manton), even for users on other servers. Micro.blog always links the full username with the instance name too (e.g. @manton@manton.org). A bit conflicted. Concise but problematic for common names, or verbose but correct?
On the latest Core Int, @danielpunkass and I talk about the App Store settlement and then follow up again about Twitter, Micro.blog, and Mastodon. Also: not being allowed to pump your own gas.
The 25 Days of omg.lol calendar is so nicely done. Today’s feature is feeds, both RSS and JSON Feed. Reminds me a little of our old 12 days of microblogging series, which we’ve been thinking about updating.
Mastodon has a feature to move accounts from one instance to another instance. I spent some time recently exploring how this works so that we could support it in Micro.blog. I used this to consolidate my ActivityPub presence from multiple Mastodon accounts to just @manton@manton.org, powered by my blog and Micro.blog.
From what I can tell, this feature is not well-documented. It does not exist in the ActivityPub spec. The “Move” activity examples in the companion ActivityStreams spec also do not cover moving accounts. So I’ll document some of the technical bits here in the hope that it’ll be helpful to other folks.
To move accounts, 2 things are required:
The Mastodon documentation says that aliases should be set up on both sides of the migration, but this does not seem to be required. In my testing, an alias is only needed on the new instance.
Because I wanted to move to Micro.blog, I added an alias in Micro.blog that references one of my old accounts: @manton@mastodon.social. You can find this in Micro.blog under Account → View Mastodon Details → Aliases.
Aliases are added to the ActivityPub profile information in the field alsoKnownAs. Here’s a snippet of my info:
{ "preferredUsername": "manton", "name": "Manton Reece", "alsoKnownAs": [ "https://mastodon.social/users/manton" ], …}
For debugging, I often use curl on the command line to poke around at people’s accounts. To see my full ActivityPub JSON, use something like this with the “actor” URL returned from WebFinger:
curl -L -H "Accept: application/activity+json" https://manton.org/activitypub/manton
The next step is to sign into the old Mastodon instance and tell it to move to Micro.blog. Mastodon will take a few actions when this starts:
The “Move” activity is sent to each follower’s inbox just like other activities such as “Create”. It includes a field target for the new instance that the user is moving to:
{ "actor": "https://mastodon.social/users/manton", "target": "https://manton.org/activitypub/manton", …}
Mastodon won’t add alsoKnownAs to your ActivityPub profile on the old instance, but instead it will add a similar field named movedTo with the new actor URL:
{ "preferredUsername": "manton", "name": "Manton Reece", "movedTo": "https://manton.org/activitypub/manton", …}
Updating your followers can take quite a while. Likely hours and possibly over a day, if you have hundreds or thousands of followers. It makes sense that this is a very low priority background task. You can watch the progress as Mastodon essentially decrements your follower count on the old instance.
Here’s what Mastodon now looks like for my account, to tell people that I’ve moved:
This is a fairly new feature in Mastodon, and I expect we’ll need to keep refining our support for it as there is more real-world usage. If you’re using Micro.blog, also remember that Micro.blog is not Mastodon. You can follow and reply to anyone on Mastodon, but you can’t use Mastodon-only clients like the upcoming Ivory from Tapbots.
What about moving in the opposite direction, away from Micro.blog to Mastodon? We’ll be adding that later. ActivityPub is only currently enabled for new Micro.blog users, or if you’ve manually enabled it, so I want to wait until we’ve enabled it for all users. Otherwise there will be no way to move Micro.blog-only followers.
John Gruber writing in his link to ooh.directory:
Mastodon is — deservedly! — getting a lot of attention as people re-evaluate their use of Twitter. But what I’m digging more in our current moment is renewed enthusiasm for blogging, and, on the consumption side, RSS feed reading.
I’ve been planning for this moment for years and the new activity around blogging might even be more than I had hoped for. Great to see.
Tripped over myself this morning when deploying a tiny change, breaking a few endpoints in Micro.blog temporarily. Sorry! Uptime has actually been really good this week. I think we’ve solved most of our performance problems with the new load.
Finished reading: The Lost Metal by Brandon Sanderson. Mistborn era 2 is a wrap. Really want to reread The Emperor’s Soul now. And not long until the secret project books. 📚
Reading the Twitter 2.0 blog post again, I don’t think it says enough to actually be a vision for the company. Some bits sound okay (“freedom of speech, but not freedom of reach”) and some seem actively misleading (“none of our policies have changed”, just our enforcement).
Micro.blog has a mini Goodreads-like feature built in. Why not! I love books and this helps me blog about what I’m reading. The bookshelves account page is one of my favorite things.
Following Mastodon accounts from Micro.blog almost feels like I’ve re-joined Twitter. It’s great to see posts from people I haven’t kept up with in years. The main downside: too many hashtags! Maybe I built Micro.blog just to escape from hashtag overuse and now they’re back. 😉
Great to see all the posts from folks participating in Microblogvember. I’ve added a new pin for the challenge. It should be redeemed on your Micro.blog account within the next couple days if you used at least 2/3 of the words this month.
Soccer is not my thing but everyone else’s excitement is contagious… Watching the last few minutes of United States / Iran. ⚽️
This interview with Will Smith on The Daily Show was really good. It goes just deep enough to be meaningful but still entertaining. Makes me think about not just what he did on Oscar night but also more broadly how we react to mistakes from stars or politicians. Who we forgive.
If you’re not following the full M.b changes feed, you may not notice the tweaks we’re rolling out nearly daily. One improvement I wanted to highlight: Micro.blog now notices when someone on Mastodon moves their account to a new instance, so you’ll still see their new posts.
Thinking about the simple truth in this phrase from @brentsimmons: “the web heals as Twitter gets sicker”
Drove by the new Tesla factory in Austin yesterday while coming back from Thanksgiving… The building is absolutely massive. I guess Elon thinks if he can grow a company to this kind of infrastructure, how hard could Twitter servers be?
Good discussion on last week’s ATP about Mastodon, apps, ActivityPub, moderation, and many more potential issues as everyone figures out what to do post-Twitter.
Jamie Zawinski: Do Not Use Services That Hate The Internet. This is where I say that Micro.blog is made by people who love the web. It’s possible for app-only networks (see: Glass) to evolve to work with the web, but it’s easier to start with open, web-first platforms.
Great to see 2 new plug-ins recently available on Micro.blog: “Cards Theme” by @ericgregorich, which styles posts with an outline like separate cards; and “Bookshelf shortcode” by @kottkrig, for making a page that includes one or more bookshelves.
Released an updated Micro.blog for macOS today with a few tweaks. More consistent progress indicators, better Mastodon username highlighting when writing a new post.
Another photo from our quick coffee stop in Opelousas. Old federal building, unused now, built in 1891.
Should’ve done this last week, but just added ⚽️ to the featured emoji menu in Micro.blog on the web.
It was nice to mostly take a break yesterday. I know Thanksgiving is just a United States thing, but I like that it’s non-offensive to everyone… Let’s just chill and reflect on what we’re thankful for. Now back to work! Coffee at Rêve in Lafayette and rolling out M.b fixes. ☕️
For the Thanksgiving edition of Core Intuition, we talked about… Twitter again! Does Elon know what he’s doing? Should I be CEO instead? Will MarsEdit 5 ship? Enjoy. 🦃
Quick test from MarsEdit 5’s new quick post window, using a global keyboard shortcut. Nice!
I was joking about this with my family but can’t stop thinking about it… Imagine a Sprinter van, outfitted with bed, kitchen, all the usual camper van upgrades. Now paint it gray and add an Amazon Prime logo. Easy parking anywhere without questions!
Nice thread here with holiday movie recommendations… About time to review my top Christmas movie list and see if it needs any updates.
We started using Cloudfront last week and tonight I nervously signed in to Amazon, realizing I had no idea how much we were going to be charged. Answer: $0, for now. Amazon’s pricing is so confusing. One of the reasons I prefer Linode.
With the news that Tumblr is planning ActivityPub support, a quick reminder that you can already follow any Tumblr user from Micro.blog. Just enter someone.tumblr.com in Micro.blog’s Discover search! I use this for following a few artists and writers.
My morning so far… Low tire pressure light, found a nail in a tire. Dropped the car off to get the tire replaced. Coffee nearby at Turnstile, watching server log files. 🙁
Spirited was way better than I expected. Need to watch it again closer to Christmas and see how it holds up. 🎄
Love this post from @jean about everything bagels and… social media! 🙂
To be fair, everything makes me think about social media at this unsettling and exciting moment.
It’s a rare opportunity. Inspired by what worked before, avoiding the missteps. I like our foundation.
Love the owl who moved into a tree in our backyard. @traci set up a tripod and moved the Nest camera, so expect more owl photos and maybe video if we can catch him in his evening routine.
We’re embarrassed with the recent Micro.blog server status. I rolled out more improvements today. We’ll get it fast again. New server coming online later this week too.
Registered for a new test account on Micro.blog to remind myself what the onboarding flow is like. It’s not great. “Welcome to M.b, here’s a totally blank page! Good luck!” Going to tweak a few little things so new users aren’t lost.
I thought Elon would wait a couple more weeks — until things got boring at Twitter — before letting Trump back. @danielpunkass and I talked about this a couple days ago on @coreint. This weekend has been busy… Remaining Twitter server folks must have their hands full too!
On our M.b news blog you can see the daily server tweaks as we deal with new load this week. Might have a handle on it now.
An appropriately cold day in Austin. Coffee and server troubleshooting while the rain falls outside. ☕️
Much of our web traffic is now Mastodon requests as posts are shuttled back and forth from Micro.blog and the rest of the web. This has taken a little bit of adjustment. Knock on wood, should be pretty stable right now. 🐘
Continuing to fix bugs and tweak servers. If you want the technical summary: those “503” errors were when the load balancer decided an app server was error-ing, but it could sometimes take out all the app servers, even if they were fine. Lots of new traffic from Mastodon users.
Merrick Garland seems really good at his job. If he says trust Jack Smith to make the call about whether to charge Trump, I’m good with that. 🇺🇸
As traffic increases, we’re experimenting with more caching outside of Micro.blog. Nice to see the huge difference it makes on the Bookshelves page if you have lots of book covers. Much faster.
David Heinemeier Hansson:
Whichever the outcome, the world wins. If Musk manages to fix Twitter, we’re left with a better Twitter. Great! If Musk manages to burn down Twitter, we’re left with a world free of Twitter. Great!
Slowly settling into a new routine back in Austin. Walking up to Lamppost Coffee every morning. In suburbia, no one walks anywhere unless they are walking their dog or exercising. Always feels a little weird. I love the quiet, but sometimes miss… people. ☕️
Last month we improved the ActivityPub support in Micro.blog and enabled it by default for new users. I think it’s about time to enable it for older users too, making it more opt-out than opt-in. Early notice that I’m thinking about flipping that switch next week.
We posted a new episode of Core Intuition today with yet more discussion of Twitter and related topics. My audio quality is still not great, clearly now an issue with my Mac settings rather than my mic. Will do more testing and fix for next week!
Reminded today that Brittney Griner has been held in Russia for 9 months and has apparently now been moved to a penal colony. Ridiculous. I know there’s a lot of injustice in the world but this is not complicated… She needs to come home. 🏀
Apologies for some of the recent “503” errors in Micro.blog. We’ve made some configuration tweaks today that should reduce or eliminate the problem.
I had my doubts about a no-replies timeline, but based on feedback we added a new setting for it under Account. It’s the kind of thing you have to try to know if it works for you. Harder to find new people and conversations, but good if you temporarily need a quiet timeline.
Epic vs. Apple continues! Good write-up over at Ars Technica, with quotes from lawyers in the appeal.
Rewatching last night’s Artemis launch. Amazing. Nice that they have a blog too (via @512px). 🚀
Last month I flew out to Portland and rented a van from Escape Campervans. The trip started because of meetings but it kept getting extended as I tacked on more places to visit. I posted some photos while I was on the road, which I’ll link again below, but I wanted to summarize a few thoughts now that the trip is over and I’m back in Austin.
It was a fantastic experience. I figured at the end of it, I’d either be completely burned out on the van lifestyle or ready to stay on the road. I’m glad to be home, but not burned out.
My daughter and son joined me for a few days at the beginning and end of the trip, too. It was great to share part of the experience with them and helped avoid loneliness while so long away.
Here are the main camping locations from the trip:
Stopped at many other parks, coffee shops, bookstores, and beaches along the way. I’m going to publish my check-in history later.
The timing wasn’t ideal because it felt like Twitter was imploding as I was on the road. There was a lot of new interest in Micro.blog. I worked a little every day, but some days not enough. Even so, having the flexibility to just pull over into a park and use my laptop on the table inside the van from anywhere was pretty great.
I can’t overstate how different it is to have a van to eat and work and sleep in compared to tent camping. It rained for a significant part of the trip, pretty much every day in Oregon, but it never ruined anything.
Feel very lucky to have been able to take this trip. I learned a lot of what to do and not do. Wasted some money on food I could never finish using. Spent a fortune on gas. Nervously navigated cities in a van larger than what I’m used to driving.
But the good days made it so worth it, and even with occasional extra stress of last-minute planning I felt that time slowed down… Awake with the sun, coffee and work, beautiful vistas, some driving, cooking dinner, popping open a can of wine, then reading and bed when it got dark. It was very freeing. I don’t think it was a midlife crisis, but I did feel a few years younger, reminding me of backpacking in Europe ages ago. After some months back at home, pretty sure I’ll be ready to get back out there.
Halfway through November, this month’s Micro.blog challenge continues… Sad to admit that while traveling I dropped off from this one. Not too late to participate or follow along, though! Check out @challenges.
Interesting post by @simon@simonwillison.net that Mastodon is just blogs. Except Mastodon’s design runs counter to blog features like domain names and custom designs. I’d say Mastodon is more Twitter-like than blog-like… Which is fine, but not the same as a blog-first platform.
Excited to jump into reading The Lost Metal by Brandon Sanderson, released today. Had a dream the other night where I met Brandon and he critiqued my book collection. 📚
I got the test printing of my book. Now I can think about final edits. Too long, still should probably cut some things.
Great post from @brentsimmons, After Twitter:
The internet’s town square should never have been one specific website with its own specific rules and incentives. It should have been, and should be, the web itself.
Had a conversation last night before the show that I can’t quite get out of my head… Long story short, makes me want to order a 23andMe DNA kit.
Not Frozen, although I’d like to see that too one day… Bono: Stories of Surrender. Incredible show. Couldn’t think of a better way to wrap up a couple weeks on the road.
One of my favorite places in the world: the Walt Disney Family Museum. Checked out the Jungle Book special exhibit, organized in large part from Andreas Deja’s collection. These are 4 animation drawings by Frank Thomas.
I always have to resist the temptation to compete with every platform. Micro.blog does so much but it also tries to solve specific problems within each niche of features. It’s a challenge to do just enough of the right things without creating the Microsoft Word of web platforms.
NetNewsWire with an update on the feature to follow Twitter from within the app:
We have no intention of removing this feature, despite Twitter’s troubles and poor prognosis. It’s more important than ever, we believe, since it helps people find their off-ramp from Twitter.
Kind of a bizarre camp location tonight, had my doubts as we were approaching on the road past shuttered houses and buildings from another era, but the view at sunset was worth it. Terminal 4 at Point San Pablo.
Experimenting with some new text on our home page, for new folks who are not signed in. We’ll keep iterating and tweaking until we get the messaging right. (Already regretting the jab against billionaires, probably will drop that.)
Posted a new message to our internal Basecamp with the title “Twitter implosion marketing” to brainstorm how to get the word out. Happy to hear ideas from the community too! If you like Micro.blog, let’s figure out how to tell people how it fits into the post-Twitter world.
More details from @vincent on today’s 3.0 beta update. The app is coming along nicely… I use it as my main Micro.blog app on iOS now, even if I have to reach for the mobile web version for some things.
Rolled out another change I forgot to make with this morning’s Mastodon changes: your “about me” text from Micro.blog now shows up for Mastodon users too. (Mastodon will cache profiles so may take a while to update everywhere.)
Released a new beta of Micro.blog 3.0 for iOS. It’s still early, several things aren’t wired up yet, but you can join via TestFlight here if you’d like to follow along.
We do a bunch of ActivityPub work in the background, and last night the queue was over 100,000 waiting items… So much new activity. Made a couple tweaks and this morning it’s back to 0.
We improved a few things with Mastodon support this week:
alt text for images to cross-post to Mastodon. 🎉I was hopeful for Beto until I went to early vote in Texas a couple weeks ago. No wait. No line. No one was there. Expect the turnout was terrible. Disappointed, but maybe nationally Democrats can hold on. 🇺🇸
Keeping the news off and planning to go to bed early and check election results in the morning. I have low expectations for the midterms, and win or lose I think I’ll sleep better if I ignore it. The protracted results 2 years ago over several days really messed with me. 🇺🇸
ActivityPub is notoriously chatty, and all the new activity has been dragging down some of Micro.blog’s background tasks. I’ll be rolling out a series of optimizations and Mastodon-related tweaks over the next couple of days.
New Brighton State Beach. Wi-fi at the park, 10 minutes to Verve Coffee… I may never leave.
A few days ago at Salt Point. After camping, detoured into San Francisco for a day of being a city tourist with reliable wi-fi.
Noticed some Micro.blog background queueing problems that could’ve significantly delayed a few things, such as deleting blog posts. Fixed and should be catching up now.
Election day! If you’re in the US, make a plan to vote today. I’ve been traveling and out of my usual routine of reading the news every day, which has actually been nice. 🇺🇸
On the latest Core Int, I catch up with Daniel from the road to talk about this week’s Twitter chaos and the upcoming MarsEdit 5.
Definitely still some quirks in our ActivityPub implementation, which I’ll be smoothing out as we notice problems. Getting better, though! So much new activity as people bail on Twitter. I’ve waited 10 years for this and it’s still remarkable to see it happen.
Maybe I didn’t pick the perfect time to take a road trip and work even more remotely than usual. Elon Musk chaos, hosting connectivity problems like we’ve never seen before… Knock on wood, hope that’s the end of it for a little while.
Woke up to rain and the wind howling and the notices that Micro.blog had a long outage overnight. Sadly a networking issue at Linode that was mostly out of our control. Sorry for the downtime.
Cool new service from @vincent for embedding “shoutouts” (could be like ads or other announcement-type things) on your web site: Shoutouts.lol. Confirmed it works well with Micro.blog-hosted blogs.
Continuing this vanlife adventure into the northwest, I’m at Coffee Girl in Astoria catching up on email and whatnot. I haven’t been brave enough to get out the camping stove in the rain and cold, so no feasts yet, just basic groceries and some fast food. ☕️
Figured there be some kind of view between Portland and the coast. Stopped about halfway, a nice break in the rain.
Multnomah Falls early this morning. A little cold and wet outside, had the place mostly to myself.
I’m in Oregon and then California for a little while, renting a van from the folks at Escape Campervans. Last night at Ainsworth State Park, falling asleep to the rain. Woke before dawn to drizzle and 41° and mild panic that they might not have hot showers. (They did.)
This is a little silly but I like to remind people this time of year that any microblog posts with “Halloween” or “pumpkin” get a secret Happy Halloween pin unlocked on their account. 🎃
Love this: Get Blogging! Concise introduction to blogging, different services, apps, reading blogs, and everything else.
Finished reading: An Echo of Things to Come by James Islington. There is a lot going on in this. Hope the next book in the series has a little less timeline jumping, but really good. 📚
I can’t tell how much of the “Elon asks programmers to print out source code” story is exaggerated, but it made me think about when I hired @vincent without ever seeing any of his source code! Can that be right? I guess I value the final output more than the bits to get there.
Skimming some tweets about Jack Dorsey, there is a lot of confusion about what Bluesky is. Most people are stuck into thinking about social network silos, where you jump from platform to platform. As Facebook and Twitter stumble, the future is more distributed and IndieWeb-ified.
We’re doing Microblogvember again! Jean has the details. Basically, a random word each day to help inspire a short blog post.
Updated the Micro.blog app for macOS to version 2.6, adding a new option in Discover for finding users, and a bug fix. If you’re already running it, choose “Check for Updates” to get the latest.
Of all the new TV shows out this year, Andor is at the top for me. Really good writing and characters. Even if you don’t like Star Wars or were burned out by Disney producing too many spin-offs, this one is in another league. 📺
Just published a new Core Int! @danielpunkass and I talk about Elon Musk actually buying Twitter, what the immediate and long-term fallout might be, Twitter’s Bluesky project, APIs, and network effects.
Dark outside. Early thunderstorm rolling through Austin. Not a precursor of the work day, I hope. ⛈️
Went to bed shortly after Elon fired Parag and a handful of execs, so I was wondering when I woke up if maybe all hell would’ve broken loose. But looks much the same over in Twitterland. Maybe a few weeks of calm before Trump is invited back? 🍿
We’re on the eve of the Elon Musk / Twitter deal closing. In his Dear Twitter Advertisers letter, Elon writes:
The reason I acquired Twitter is because it is important to the future of civilization to have a common digital town square, where a wide range of beliefs can be debated in a healthy manner, without resorting to violence. There is currently great danger that social media will splinter into far right wing and far left wing echo chambers that generate more hate and divide our society.
On first reading, this sounds pretty good. I agree that we shouldn’t be stuck in our own bubbles of misinformation. But the part Elon gets wrong is the premise that there should even be a “common digital town square” controlled by a single company. I reject that idea.
The common digital “square” should be the entire web, with a diverse set of platforms. There should be common APIs but many communities with their own rules, goals, and business models. Concentrating too much power in only a couple social media companies is what created the mess we’re in. The way out is more platforms, free to make the best decisions for their users knowing that there are options to leave and less lock-in for developers.
Twitter’s next few months or years should be interesting. Taking the company private is a good thing, to refocus the company and resources. But I expect chaos. Meanwhile, the mission of Micro.blog continues. Start a blog, get your short posts somewhere you control, and let’s get ready for a post-Twitter web.
Sounds like the Elon Musk / Twitter deal is now certain. We generally don’t try to capitalize on other company’s bad news, but maybe something special tomorrow to welcome new folks to Micro.blog? Subscription sale? Just thinking out loud. 💰
I missed that it has been 10 years since I stopped posting to @manton on Twitter. Still the right call. Would’ve been harder to do anything new if I hadn’t left.
Early voting is underway in Texas. Vote early if you can! We know it’s a long shot but glad to see Beto out there making a strong case for change. He’s run a good campaign. 🇺🇸
Reading this Gizmodo take (via @dave) on Apple’s in-app purchase rules change makes me wonder if Meta has ever considered a lawsuit. Unlike Epic, Facebook might not be able to survive without an iPhone app. Apple’s power is immense.
Spurs fans now confused after the 3-1 start. I still want to see them make a push for the playoffs and forget about tanking. Even the worst team in the NBA doesn’t really have a good chance at landing the top pick. Too risky to throw away a season that could be so much fun. 🏀
Lots of price increases out there… Apple Music: going up. YouTube Premium family plan: going up. WordPress.com pricing: rollercoaster. Micro.blog: still $5/month, maybe forever! But please feel free to opt-in to an increase for yourself by clicking Plans → Premium or Family. 🙂
We just posted a new Core Int. Daniel gives an update on MarsEdit 5 progress, we talk major vs. minor updates, marketing, and more.
For bloggers who don’t want to be easily found by Google, I updated the No robots plug-in today to also add a meta tag in addition to the robots.txt file. Should help tell Google really don’t index the blog. Just click Upgrade to get the latest version.
A bunch of people have signed up for next week’s Day in the Life photo challenge, but it would be great to see even more folks from the Micro.blog community participate. You just post one photo wherever you are on October 13th. We might do a book, so fill out this form too. 📷
Straightforward advice from @benwerd:
You should blog. Yes, you. It's really easy to get started. Use whatever platform you want. And you can subscribe to all your friends' updates too.
Ben Werdmuller https://werd.io/2022/you-should-blog-yes-you-its-really
Not an earth-shattering new feature, but I’ve been plugging holes in our books API and book covers, so it’s less likely to have a blank cover in Epilogue’s Discover tab. I think the books stuff is really coming along.
Looks like the Elon Musk / Twitter deal is back on. After so much uncertainty, to be back at this spot, I think it will happen. Expecting things to change gradually over there, and users looking at Micro.blog and other platforms again.
Walked up to the coffee shop to work today. It’s bulky item pickup day in our neighborhood. Felt a little sad for this print discarded with old wood on the curb.
This talk by Molly White called Blockchain Solutionism is excellent, given at UT Austin last month. Covers the blockchain, Web3 is going just great, uses for crypto, and Web3 solutions in search of a problem. “There are never purely technological solutions to societal problems.”
Finished updating book.micro.blog with the latest draft improvements. I’m going to package this into an ePub this week for backers and pre-orders, even though it’s not final. Then onward to review the test printing and make final changes.
My book is about 70 short chapters, and to keep track of editing I made a spreadsheet long ago with notes and color-coding: red for chapters that needed a lot of work, orange for small tweaks, and green for ready to go. Going to do another editing pass and call it done.
Spurs first preseason game isn’t going great, but still hoping for a fun season. Either this team is going to surprise everyone or at least there will be some cheap games to go see in San Antonio. 🏀
Acrobat Pro subscriptions going from $25/month to $30/month. I hate to complain about subscriptions, but this might be a little too much for the only thing I use it for: File → Export for my book PDF. Adobe’s gotta cover their Figma acquisition cost somehow.
The secret to getting feature requests immediately implemented in Micro.blog is to send them to be 5 minutes after I sit down with my coffee. ☕️
I was on the road, so missed the Beto/Abbott debate. Catching up with some of the video clips and news coverage. Really bizarre that there was no in-person audience. I know Dems especially in Texas don’t want to risk hoping, but… I think this election might be close.
Apple downgraded my iPhone trade-in from $300 back, to $75. Guess they noticed the tiny little scratch that I’ve been ignoring for years. Sigh.
NBA pre-season starts today! Glad to see NBA League Pass cut their yearly price in half, but still thinking about whether I really need it… We subscribe to way too many streaming services. 🏀
I often curl a URL and then pipe it to open in BBEdit. Great for looking at RSS feeds. I’ve been meaning to set up an alias or script to make this easier… Realized today that the bbedit command line can accept a URL! 🤯
MarsEdit updated today with a preference for showing the title field, plus other fixes.
Time for our next photo challenge! Coming up next month: A Day in the Life of Micro.blog 2022. Check out Jean’s blog post for the full story and a form to sign up. It’ll run 24 hours starting October 13. 📷
We posted this week’s Core Intuition, mostly about Meridian! @danielpunkass also gives me feedback about Micro.blog bookshelves and whether they should be more generalized.
Today we’re rolling out better support for attaching multiple photos to a post in Micro.blog on the web. The native apps have been able upload to multiple photos with a post for years, so it’s a little embarrassing that it has taken so long to get the web version updated too.
If you click on an attached photo, you will also see new options for removing the photo or setting a description for the photo, which is included in the HTML’s alt tag.
Attached photos are added at the end of a post. We think this streamlined approach to the UI is the best default for most people. If you want to mix the photos in between paragraphs of text, you can continue to use the “Copy HTML” button on the Uploads page and paste the img tag into your post. Our companion iOS app Sunlit also has more control over post layouts.
Note that these improvements do not change how photo posts are displayed in the Micro.blog timeline. Short posts with a single photo or a few photos are shown inline, and longer posts are truncated with a link back to your blog.
Enjoy! Happy photo-blogging.
We’ve updated Epilogue for Android, catching up with the features released for iOS. The old version for Android was admittedly a little broken… Should be working well now, including the new reading goals interface.
Game 3 of Vegas/Seattle WNBA semifinals was so good today. Wish I had been watching more of these teams earlier in the season. 🏀
Attempting to make my iPhone less frustratingly secure, I’ve tweaked some of the passcode settings. Don’t require attention. Added another Face ID. Let everything happen when locked that’s an option. Seems better.
Watching the locations/venues session video from IndieWebCamp Berlin. I wasn’t able to participate in this one, even remotely, but glad to see IndieWeb folks were able to get together.
Artemis launch scrubbed again. Disappointing, but we’ve waited decades to get back to the moon, so we can wait a little longer. Let’s get this right, NASA. 🚀
I had my doubts as Rings of Power started, but they won me over by the end of the first 2 episodes. It’s not how I would’ve made it — I’d love to see a new hand-drawn or stop-motion Lord of the Rings — but for what it is it’s excellent. Some beautiful scenes… Spared no expense.
Micro.blog for Android has been updated to version 1.1! Dark mode and other improvements. 🤖
I checked out Irie Bean Coffee for the first time and… people smoking cigarettes on the patio? Ashtrays? Like I had stepped back in time to 1990s Austin. They don’t care about your hipster third-wave coffee shop ambience and I kind of respect that. ☕️
Feeling nostalgic driving through south Austin today. 30+ years ago, walking along Riverside to Austin Books to pick up comics. Putting quarters into Donkey Kong in the lobby of an old hotel. So many memories of a lifetime ago.
Scheduled my updated variant booster for next week. Now extra paranoid that I’ll get COVID before then. 💉
We’ve been playing Root more. It took about 4 play-throughs and watching multiple how-to videos to finally get the rules right. Great game. 🎲
Feel like our companion app Epilogue has matured quite a bit. Started as a fun experiment, now one of my favorite little apps. I added its own page in the Help Center today so we can better keep track of version history.
When I was first working on the Micro.blog prototype, I was so worried that someone would launch a similar service before me or soon after. 5 years later, turns out no… There are a lot of interesting platforms but really nothing close to the breadth of what we’re trying to do.
September already? For today’s episode of Core Intuition, we talk about next week’s Apple event and other random topics like 5G.
Dusting off Android Studio. Upgraded a few things. The quality of the Android build tools is like Project Builder circa 2002. Really poor experience that Apple would never settle for, and Google shouldn’t either.
Epilogue 1.4 for iOS is now available on the App Store. Check out the blog post on the Epilogue microblog for screenshots of the new Goals tab.
Sounds like the Omicron variant booster could be available as soon as next week. I’m planning to get it. It’s a little awkward that they haven’t finished human trials, but I guess I trust it. It’s like a bug fix update to an app you already love. 💉
Sneak peek screenshot from @vincent of the next major update to Micro.blog for iOS. We’ll be starting a very early beta soon. A lot is changing for iOS, so it’ll take some time to get right.
The beta of Epilogue 1.4 with the new reading goals feature is out for iOS. Will probably ship it to everyone later this week.
As posted to news.micro.blog, I updated our API to keep track of reading goals. This was the last feature I was still using from Goodreads. When you blog about a book you’re reading, Micro.blog can automatically update your goal progress for the year. All blogs, all the time! 🙂
Our app Epilogue is the little happy place I go when I need to work on something fun and simple. But it’s not wasted procrastination time… It also contributes back to the larger goal of encouraging posting to your own blog. Sneak peek at next version.