Did you notice that there is a quick access way to Generate Alt Text from the context menu on an image? (Link to the video embedded below).

Hope you like it!

Get Mimi from the App Store!

New version of Mimi Uploader is out 🎉

The latest version of Mimi Uploader is out, and with it brings a new alt text generation feature. You can now generate alt text for photos using machine learning (AI)! This is a powerful new feature that should reduce the friction in drafting alt text for your uploads. It’s been in beta for a few weeks and I wrote a detailed description of how it works in case you’re curious.

This feature is being offered exclusively to Supporters. I’m grateful to those of you that have signed up to Become a Supporter via the Settings screen in the last release. Thank you!

Also new in this release:

  • View your uploads for the last few years with some nice charts and groupings! Find the icon at the top of the Recent Uploads screen.
  • Export text adds an extra new line between images.
  • A new screen to check and manage your Supporter status.
  • Bug fixes and other small improvements.

Get it from the App Store!

Another beta update is out, now with a grid of the entire year’s uploads!

A smartphone displaying a photo uploads analytics screen rests on a wooden surface next to a crystal rock and under a decorative piece.

Caveat: This might take a while to generate, and may be too tiny if you have a lot of images!

A new beta for Mimi Uploader is now out with:

  • UI updates for alt text generation feature.
  • View your uploads for the year with some nice charts! Find the icon at the top of the Recent Uploads screen.

If you’re not in the beta, you can opt-in.

I look forward to your feedback. Thank you!

Looks like I really picked up the slack this month!

P.S. Coming soon to a beta near you!

Screenshot of a mobile phone displaying a user’s file uploads for the year 2023, with a total count of 167 uploads. Below the count, a bar chart breaks down the number of uploads by month, with varying heights representing different quantities per month.

You can now become a Mimi Uploader Supporter via an ongoing in-app subscription 🙏

The latest version of Mimi Uploader is now out in the App Store. It has an option to subscribe on an ongoing basis to become a Supporter.

By becoming a Supporter, you are providing for the development and maintenance of the app on an ongoing basis.

In the future, this will also provide access to features that have ongoing costs. You may have heard that the newest beta of the app has a feature for generating image description for alt text. This is powered by a third-party API and will be the first of such features.

You can sign up to support on the Settings screen by selecting the option labeled, “Become a Supporter”. There are three levels of payment. Pick the level that works for you. Whatever level you pick, you get the same access. And for all levels, you have my gratitude.

Get Mimi Uploader from the App Store!

Guess who thought, “I’ve heard all the stories about the complications of submitting subscriptions for review for the first time in an iOS app, so I’m sure I will have no issues.”

This guy.

Guess who was wrong.

This guy.

It’s me. I’m the problem it’s me.

(But it’s also App Store Connect)

I’ve been working on getting a subscription option set up in Mimi so folks can provide support for ongoing development with a sliding scale. Until that is live in the app store, I can’t launch the alt text generation feature, but it will remain available in the beta.

Gradually, then suddenly coming to the conclusion that the only way forward for Mimi Uploader is via a subscription model to support development and ongoing costs. And to offer that via various tiers to emulate a sliding scale for supporters.

It is tricky to make a subscription service or otherwise charge specifically for the AI image description feature even though it has ongoing cost. That’s because in many scenarios you don’t get the service you pay for, and it is out of my control. For example:

  • This API is in preview. It may be turned off and never become a regular API.
  • OpenAI currently rate limits the API use. Once several people are using this regularly, it is entirely possible to reach that limit.
  • OpenAI’s service may be down.

So a subscription, if offered, is about supporting the app, which in turn supports this feature, and more in the future, in a best-effort way. It cannot be a guarantee of service.

How do you feel about that?

Mimi Uploader Enters the Future

A new beta of Mimi Uploader is now out. It adds a new feature to generate a draft of an image description for use as alt text. An example is at the end of this post. This feature is opt-in. You have to ask for an image description to be generated each time. If you don’t then the app behaves as before.

Thank you for trying this out in the beta, which you can join at this link.

The way it works is that you tap the “Generate” button in the alt text editor. This sends a link to your previously uploaded photo to the service, which responds with the description. At the current time this feature only generates a description in English. Would you like to see an additional feature to translate the description into a different language? If so, please let me know the name of the language(s).

The API used for this feature is a paid service from a third-party. Each tap on “Generate” incurs a cost. If you would like to support this feature, in beta and afterwards, please give a donation directly, or drop a tip using the Settings page in the app. Many thanks to those of you who have already done so. All donations and tips are greatly appreciated.

As I prepare to launch this, I want to add that ever since I added the alt text feature, it’s sometimes been a barrier to me posting batches of photos because I wasn’t always ready to write all the descriptions. It felt like a chore sometimes. This feature greatly removes that friction. I see it as a positive step in my blogging (which often has batches of photos), as well as a more accessible web.

And now for an example illustrating this feature

Some weeks ago I shared the following photo:

Colorful morning sunrise in the background and silhouetted porch in the foreground. In between there is a silhouette of a Joshua Tree.

The alt text I wrote at the time was:

Colorful morning sunrise in the background and silhouetted porch in the foreground. In between there is a silhouette of a Joshua Tree.

Using this feature, the alt text generated was:

A picturesque sunset with vibrant shades of pink, orange, and blue over a desert landscape with silhouettes of Joshua trees. Foreground includes the silhouette of a barbecue grill and patio with hanging light bulbs under a corrugated metal awning.

I’m very impressed by this description. It is spot on for everything except confusing a photo of a sunrise for a sunset, which is something many people do as well.

Additionally, every alt text in this post full of photos was generated using this feature.

I hope you find this feature useful in your blogging as well. I look forward to your feedback.

A new round of beta for Mimi Uploader is about to start. This one adds a feature to generate alt text for a photo based on OpenAI’s GPT 4 Vision model, which is a paid service. So any cash you can throw in the tip-jar in the app store version of the app would be appreciated.

New version of Mimi Uploader is out 🎉

The latest version of Mimi Uploader is out. Here’s what’s new:

  • Support for RAW files and improved support for all formats.
  • Bug fixes and performance improvements.

Get it from the App Store!

A new beta for Mimi Uploader is now out with support for RAW files and improved support for all formats. Also included are some bug fixes and performance improvements.

If you’re not in the beta, you can opt-in.

I look forward to your feedback. Thank you!

The Story of Mimi Uploader So Far

This is about an iOS/iPadOS app I make, called Mimi Uploader.

The Past

This is all from memory, so let me apologize in advance for any errors/omissions.

The concept of Mimi Uploader as an app came about gradually. First I started using Micro.blog regularly. I like putting together sets of photos, so I often have posts with those. Soon thereafter I realized it was a pain to manage uploading a series of photos for a post. Thankfully Micro.blog provided an API. So I wrote a python script that would do that from the command line on my Mac, and that greatly eased the friction.

Some time later I noticed that very often I was taking the step of moving photos from my phone to my Mac (or over iCloud), exporting them, and then using the script to do the upload. Often even for single photos. This increased over time as I used my big camera less often and most of my photos came from the iPhone.

Now, I’m always looking for app ideas to try and improve my skills as a professional iOS developer. It was with that in mind that I started the side project that later came to be Mimi Uploader.

I didn’t want to make the app free as I was wary of supporting too many users and feature requests for a side project. This was just before subscriptions on iOS became a focus of Apple and a source of much consternation amongst the community. And I wasn’t ready to wade into that for this side project so I set it up as a one-time purchase for $4.99. Mimi has remained at that price since it started in early 2020.

As time passed, people in the community started to notice and recommend it, and even Micro.blog encouraged, supported, and promoted it, for which they all have my gratitude.

Since Mimi Uploader was a side project that helped me learn and acquire new skills on iOS I was glad to put in the time to maintain it when I had any to spare. And yes, the evolution of software platforms means that there is a constant need for that labor. At some point I thought that perhaps people want to support ongoing maintenance, so I added a tip jar in the app. And some people tipped some times, for which they have my gratitude as well.

Every enhancement has been implemented because I wanted it, or because someone in the community asked for it.

And now four years have passed in total.

The Present

Mimi Uploader remains a passion project that is at the mercy of my spare time and spare motivation. So I continue with maintenance and small enhancements every now and then.

I should also mention that in the intervening four years that march of software platform evolution has led to a plethora of ways to accomplish what Mimi does, further diminishing its utility.

The Future

I have no idea. What do you think?

Edited to add: This is not a call for feature requests. There’s already an extensive list of that.

New version of Mimi Uploader is out 🎉

The latest version of Mimi Uploader is out. Here’s what’s new:

  • Recent Uploads entries will scroll to first image that doesn’t have alt text. So as you add alt text to a large batch of images, you won’t have to scroll to the farthest one each time. Check it out in this video (also embedded below).
  • For accounts that have a tweets archive, do not show it as an upload destination.
  • Bug fixes and performance improvements.

Get it from the App Store!

A new beta for Mimi Uploader is about to come out. The main update is an improvement to the alt text editing workflow. Now, as you add text to each image in a batch, there’s some auto scrolling to make it convenient. Check it out in this video (also embedded below).

New version of Mimi Uploader is out 🎉

The latest version of Mimi Uploader is out. This one was a long time coming as the beta cycle started over two months ago. I just had several other things taking my time. Thank you for your patience.

Here’s what’s new:

  • Fix for alt text editor issue that caused editing text to go under the keyboard. Very annoying!
  • Redesigned Help screen. Won’t glare at you in dark mode anymore!
  • Bug fixes and performance improvements.

Get it from the App Store!

Hey folks, another beta cycle for Mimi Uploader is now commencing. I expect this to be mostly bug fixes. First fix is for that annoying issue in the alt text editor where the text you’re editing goes under the keyboard 😬

Mimi Uploader Now Supports Alt Text for Recent Uploads 🎉

Screenshots of the recent uploads screen showing the new layout and filters alongside the all new alt text editor screen.

You can now write alt text for any image in Recent Uploads. Tap on an image. Write the text. Hit Save. This is attached to the export snippet at the time of export.

  • Support for both export options, Markdown and HTML.
  • It can be filtered in the Recent Uploads with the filter button on the top right.
  • Not familiar with Alt Text? The editor includes a short summary with links to more information.
  • As part of this Recent Uploads has been redesigned to show every image in proper aspect ratio and with an indicator to show whether it has alt text attached.

Also in this release:

  • Fix for issue with image orientation being messed up when uploading in rare cases.
  • Small UI improvements related to the alt text feature.

Grateful to @maique, @pratik, @pcora, and others for help with testing and fixing issues in this release 🙏

Get it from the App Store!

Mimi Uploader beta is out with Alt Text support

Alt Text support is here in beta!

Screenshots of the recent uploads screen showing the new layout and filters alongside the all new alt text editor screen.

You can now write alt text for any image in Recent Uploads. Tap on an image. Write the text. Hit Save. This is attached to the export snippet at the time of export.

Notes about this feature:

  • Supported for both export options, Markdown and HTML.
  • It can be filtered in the Recent Uploads with the filter button on the top right.
  • Not familiar with Alt Text? The editor includes a short summary with links to more information.
  • As part of this Recent Uploads has been redesigned to show every image in proper aspect ratio and with an indicator to show whether it has alt text attached.

Want to try it out before launch? Join the beta!

This has been a big one 😅


Upload images using Mimi.

Mimi Uploader now offers more options for image processing and exporting 🎉

Two side by side screenshots of the new features.

  • You can now change the size of images you upload to any size you like. You can also change the JPG compression quality. These features can be found in the redesigned Image preferences screen in Settings -> Image.
  • Export preferences have a new option to wrap exported images in links to themselves. Find it in Settings -> Export.

You can find these in the new version that is out today.

I hope you like and use these features as much as I do. Let me know what you think 😊

P.S. Note that this release does not contain the support for Alt Text that I talked about a few weeks ago. I’m still working on that and should have that ready in the coming weeks.

👀 Another sneak peek of a new feature for Mimi Uploader. You will soon be able to change the upload image size and quality!

Screenshot of new feature in the app

Tweet with video of this in action


Upload images using Mimi.

Sneak peek at upcoming support for Alt Text in Mimi Uploader 👀

As you can see, this also necessitated a redesign on the Recent Uploads screen to make it a lot more dynamic.

Mimi Uploader 2022.0 is out with new features for Recent Uploads 🎉

Recent Uploads used to show only the uploads you make from Mimi Uploader. With the new update it will also show uploads made to your Micro.blog account from anywhere else.

Mimi is primarily a batch uploader and that is my favorite way of using it. I like to make blog posts that have a set of photos, and making that process smoother was the motivation to create Mimi in the first place. As such, each batch of photos shows up in Recent Uploads as a set.

The other uploads to a Micro.blog account are only accessible as individual images and are shown inline with the sets of Mimi uploads in the same reverse chronological list. A badge is used to indicate one type or another. There are other minor UI differences between the two types in the list, e.g. Mimi uploads shows a count of images. On the top right is a filter button that lets you filter for one type or another, if you choose to do so. The screenshots below show the new interface.

Screenshots showing interface changes described above.

Exporting still works the same way with a right swipe. Sets of uploads made from Mimi can still be deleted with a left swipe. As always this only deletes the batch from Mimi and doesn’t affect the uploaded images. Other uploads don’t offer the deletion because they are representing the images on Micro.blog and not an uploaded set.

I hope you like this update as much as I liked making it.


Upload images using Mimi.

Sneak peek at a new feature coming soon to Mimi Uploader

Recent Uploads currently shows the uploads you make from Mimi Uploader. After the next update it will also show uploads made to your Micro.blog account from anywhere else 🎉

Mimi is primarily a batch uploader and that is my favorite way of using it. I like to make blog posts that have a set of photos, and making that process smoother was the motivation to create Mimi in the first place. As such, each batch of photos shows up in Recent Uploads as a set.

The other uploads to a Micro.blog account are only accessible as individual images. So the UI challenge before me was how to show these other types of recent uploads. At first I started to make a new screen that listed all the uploads on an account but that wasn’t working, primary reason being that it was boring af. After mulling it over I came up with an interface that feels better as a part of Mimi, and that’s illustrated in the video below:

All uploads on the account show up inline with the sets of Mimi uploads in the same reverse chronological list that is in the current version. There are subtle UI differences between the two types in the list, e.g. the background color for each kind of post is different. On the top right is a filter button that lets you filter for one type or another, if you choose to do so.

Exporting still works the same way with a right swipe. Sets of uploads made from Mimi can still be deleted with a left swipe. As always this only deletes the batch from Mimi and doesn’t affect the uploaded images. Other uploads don’t offer the deletion because they are representing the images on Micro.blog and not an uploaded set. This may cause confusion but I currently don’t have a design to avoid that. Got ideas?

I should have a beta out by this weekend so you can try this feature out if you like. To get on the beta, sign up for it with TestFlight.