Skip to content

This is a submission for IndieNews, the IndieWeb news aggregator.

Bowl for Kittybox, a new Micropub client, is now released!

What is this?

This is meant to fill the niche of native desktop Micropub clients for those who prefer old-fashioned native applications instead of web apps or web apps packaged in a shrink-wrapped Google Chrome shell.

It's also a testing ground for my UX experiments. I believe Micropub provides a single well-oiled joint for blog posting, and that any user experience enhancements or additional features can simply live on top of it. The media endpoint standard is actually one of such enhancements — the Micropub endpoint does not strictly need to know about its existence, it can just understand links that the media endpoint gives to the client to insert into the post.

One of these experiments is Smart Summary — an optional summarization feature powered by a large language model. Hitting the Smart Summary button with a blog post in the editor pastes the post into an LLM and tells it to produce a one-sentence-summary. I rarely if ever filled the p-summary field, but now I guess I have no excuse.

I also plan to make Kittybox collapse long posts in the feed that have summaries, and make an optional query parameter to provide un-collapsed posts (for MF2 feeds?), and helping produce summaries ties nicely into this feature.

Of course, LLMs are not intelligent, cannot understand what they ingest and produce, and most importantly, have no conscience to feel guilty if they lie or mislead their user. So I recommend carefully proof-reading these summaries. Bowl will also under no circumstances support having LLMs write actual post content.

I don't want this!

This can be disabled when building, pass -Dllm=false to Meson when configuring. When disabled, all LLM integration code is completely purged from the binary, leaving it completely unaware of this technology's existence. (The settings schema, however, is unaffected. I may fix that in the future.)

What are the next steps?

When I add media support, I will also try to make another LLM integration, Alt Text Vision, that could quickly draft an alt-text for an image you upload. (Of course, the user will be given the opportunity to review the output.)

I also am thinking of creating a Microsub client that could summon Bowl to interact with posts. That may require Bowl to become D-Bus activatable and potentially support displaying several windows at once.

I am also thinking about offline support, being able to draft posts while offline and send them once internet connection is available. Micropub also has some extensions for working with drafts, and I can use that to allow syncing the drafts to your own website.

P.S.: When generating the summary for this post using Smart Summary, the LLM confused Bowl and Kittybox, and thought Kittybox is actually the Micropub client. This is a reminder to always double-check the text LLMs write for you.