5.9.8 Bug Fixes

The inevitable bug fix releases have gone out and I am hoping the version rolling out now is stable. Most bugs should be fixed. The largest bug being batch download not working.

A lot of bugs have been fixed, but there is still at least one large one left. Some people are experiencing an issue where tapping on an image in a thread takes them to the wrong image in the gallery. It does not happen on my test devices so tracking it down is taking a while.

Mimi 5.9.8 Release

The latest release of Mimi includes a fairly big overhaul of the gallery. Preloading media is one of the most requested features. The problem was in how I originally wrote the gallery. Large changes were required to decouple the downloader from swiping between images. While doing that, I converted the whole thing to a language called Kotlin which should help reduce crashes.

If you don’t like preloading, you can turn it off in the gallery settings. By default, it is only enabled when on wifi.

I have had a few bug reports come in for this release that I consider high priority. I will be fixing those as soon as I can. The most requested bug fix is to close the gallery when an image is tapped. That was an oversight on my part when rewriting the gallery. I will try to get it into the next release depending on how difficult it ends up being.


  • Added gallery preloading
  • Improved gallery grid image quality when preloading is available
  • Gallery grid is now square instead of waterfall
  • Muting and unmuting audio no longer restarts the video
  • Attempted fix of images not loading after browsing in the gallery for a while
    • This one never happened to me, but the rewrite should fix the issue. I would like to know if it still occurs.
  • Replaced the ViewPager component in the gallery with a RecyclerView.
    • This change should make swiping more smooth, but it may change how it feels slightly.
  • Replaced the ListView component in the replies dialog with a RecyclerView
    • You should not notice any change.
  • Fixed post number highlighting in the replies dialog
  • Fixed last read position in a thread
  • Fixed unread dot not appearing or disappearing at the right time
  • Fixed unread count in the navigation drawer not showing correctly

Version 5.9.0 Released

Version 5.9.0 of Mimi has been released on a slow roll out. It will start with a small percentage of users at first. If things look good, I can release it to everyone.


  • The app can save files to any SD card mounted
  • Updated Google support libraries
  • Updated how cookies are stored for chan pass login
  • Removed custom SSL implementation that may have caused issues on some devices
  • Require an SSL connection when fetching data
  • Removed legacy captcha support

There have been a few issues along the way. I am working to resolve them as soon as possible.

Mimi Reader is Open Source

Earlier today I pushed an open source version of Mimi Reader to GitHub. It has all of the ads and Crashlytics removed, but otherwise it’s the same app.

To build it, you may need the YouTube API library. It’s not in maven so it’s a static jar file that you can get from Google. Just drop it in the /libs directory after cloning the project. After that, open the project in Android Studio and build it.

Check it out!

Version 5.0 Released

The last few releases have included a lot of visual and backend changes. For whatever reason this is the one I decided to call 5.0.


What can you expect in the 4.9 and 5.0 versions?

  • Sliding drawer layout so you can choose between three different layouts
  • Tons of toolbar colors
  • Fully customizable post text color
  • Four sorting options for threads, including an option to invert your sort

Those are some of the new user-facing features. However, behind the scenes a lot more has changed. The largest is the integration of RxJava into my database access. Instead of using the ORMLite library, I have switched to a combination of ActiveAndroid with SQLBrite. This combination gives me a lot more control without losing the convenience of model objects. It should also provide a much better base to add more features that will require persistent storage. My plan is to implement thread hiding in a future release.

I just updated the app on the Google Play Store. It should be available in the next 24 hours.

Mimi 4.8.3 Released

With the 4.8 release, I changed how 4chan API requests were made from the app. The old system was called Volley. I used it throughout the app for most of the network requests. Everything from API calls to basic image downloading was done through Volley (backed by OkHttp). The app now uses a couple of libraries that are more specific but better at their jobs. The first library I implemented is called Retrofit. It makes all of the API calls incredibly easy. The second library is called Glide. It handles the basic image downloading so I don’t have to do it manually through Volley anymore.

Retrofit has a couple of different ways to implement it. The first is through a basic set of callbacks. Those work fine, but I decided to go with RxJava instead. With it I can do processing in the background easily and bring the results back to the main thread to be displayed.

The switch to Retrofit with RxJava and Glide has increased performance significantly. I’m still finding little areas of improvement, but the loading time for network calls has decreased significantly.

The 4.8.3 release has a few extra additions:

  • Direct share images!
  • Adding boards is easier
  • Starting a batch download is easier
  • Really added flags for /int/ this time
  • Fixed board not loading after adding it
  • Pull to refresh fixed when inside of threads
  • Fixed subjects not showing in threads
  • Added long press menu to links in posts
  • Bug fixes
  • Permissions fixes
  • Fixed issue with bookmarks not loading