Vincent Ritter

← back to projects

Gluon for Micro.blog

A beautiful, nimble and customisable app purposely built for Micro.blog. Now archived. Thank you to all through the years ✌️❤️

Gluon is a highly opinionated, but customisable, cross platform app for Android and iOS for Micro.blog.

If you’d like to find out more, please visit the Gluon website. Or keep scrolling to read the development blog.

With Gluon, you can do the following:

Project posts JSON/RSS Feed...

Gluon speed improvements, Android update and Push Notifications

I’ve got an exciting update coming to Gluon, pretty much right now, and I’m super happy to share the juicy details with you.

“I’ve got the need… the need for speed”

Gluon was already fast, but I took time to work around a few edge cases and dramatically reduce the calls to the Micro.blog API. In the past, for convenience, I called the API every time you switched screens, this was to mitigate the, at the time, slowness of it. Manton worked hard on speed improvements and it shows. Now, I apply my own sort of cache to these calls and only load when I think it should, within reason. Of course, pull to refresh will always work to the way you want.

Now that the API call is less aggressive, it will also a bit faster to move around ever so slightly. This is thanks to way more less background activity.

I also worked on every screen to reduce the load times for those also. Conversations are quicker to load as I now check the API as soon as you tap on the timeline item. In the past this happened after you went on the screen.

There was also some code that I just didn’t need anymore, so I took it all out. Overall I shaved off around 100KB of code. Which is nice and makes me happy.

Overall, I think the app flies.

Push Notifications

This is one feature I’m super excited about! And I’m super happy to announce that proper push notifications are coming to Gluon. Today!

This is thanks to Manton and Micro.blog, who was super kind enough to put in the work to support third party apps. This will also include Icro and other iOS clients when they’re ready. Manton already posted a reply to Icro on this matter and can’t wait for it to come there also.

So, thank you Manton for the work and enabling developers to do this!

Push notifications are controlled from the Micro.blog end, so there is no third party involved. Whilst running my own server with logic would bring other benefits, it dramatically reduces my own overhead and I’m happy that there are uniform expectations on push notifications from the service.

Notifications are sent in the same fashion as per the official Micro.blog app. This means, non disruptive and come in quietly without sound. Suits me. The world is too loud and too busy anyway.

To enable push, just head to the settings screen and then “Push notifications”. Should be easy and without trouble.

Other tweaks

In general I cleared up a few styling points and made other improvements to screens throughout the app. Which clears a path for a slightly cleaner and simple look throughout.

Search now lives in the “Discover More” section and is removed from the tab bar. The tab bar looked very cluttered, so having a bit of zen back is nice.

Throughout the app, on iOS, you will always be able to get to your profile if needs be from the top bar. This used to be only some screens in the past. Now any top level screen will show it.

I made a further tweak to swipe back gestures in the app. I think it’s a good middle ground. A weird problem to have had… just one of those things I guess.

Android loving

All the above is iOS only… which brings me to my next topic. Android.

Whilst I was hoping for feature parity I’m now facing difficulty in bringing it across to Android. Let’s just call that a limitation of the framework I’m using… and I guess my understanding of Android too.

In the next few weeks I’ll be dedicating time just for the Android build to bring across all the latest changes whilst also tweaking it ever so slightly to bring Android only design styles and app layouts.

The current Android build still feels very Alpha to me so I’m hoping to get this to Beta level soon, where I’ll then open up the app for proper public beta testing.

Closing thoughts

Gluon is getting there, although I always think it’s never going to be in a finished state. I have particular goals with my apps but as the days go I also change my mind on things.

I’m aware there are features I still need to add for posting to Micro.blog and also third party websites. This will come… as I always keep saying.

I’m not in a rush to launch the app to the App Store and I’m happy to take my time. Too many times do I rush things.

Thank you to all my wonderful testers and your continued feedback and trust.

Going to be testing push notifications on Gluon. Please ignore my spam. Feel free to join though.

Currently digging the black theme with the yellow accent in Gluon. Any Gluon users have their favourite? Any accent colours you want adding?

Last night I tidied up a few things on Gluon. Simpler screens and logic, moved search to “Discover More” as an experiment, ultimately getting rid of clutter on the tab bar. Also managed to reduce the app size by 100KB. And added push! Coming soon 😊

Productive keynote. Worked on a basic push notification screen for Gluon.

Just pushed out build 8 (2019.1) for Gluon. This fixes an outstanding, and longterm, issue with swiping back out from a conversation or somewhere where feed items are showing.

Thank you to Matthew for bearing with me on this one! It still requires some tweaking but I hope this is an improvement already.

For any Gluon users… would it break your heart if I removed the multi account functionality? Does anyone use it? I’d like to rewrite all of it as it’s super buggy and I found a better way.

I’ve been doing some back and forth with Gluon lately. Haven’t felt much motivated to work on it as I’m thinking that I could dramatically reduce the visual clutter.

Also tried to work on an action bar… but it doesn’t really fit with my vision. I’ve got a few ideas I want to try… I think it’s for the better.

Will it ever be released? Some day… yes!

Just pushed out a small update for Gluon. Build 20190725.4.

  • Push Notifications and local background fetch for mentions have been removed. I removed this to clear the way for real push notifications. Hopefully I will have this ready in the coming weeks.
  • With the above taken care of, this also fixes a crash with background fetching… because I removed that functionality altogether.
  • Added a few more loading messages when you pull to refresh. Need to tidy these up as I go and make it more consistent across the different screens.
  • Added the new Emoji for Discover - I should really implement a check server-side so I can pull them easily.
  • Under the hood upgrades - was a bit of a pain… but I hope it’s working all OK.

I’ll touch on Push Notifications on a later date. It’s coming back for sure, so don’t worry! And no… I won’t charge for them on a subscription basis 🤣

Looks like I can’t work on Gluon… Xcode refusing to connect to my Simulator on Catalina…

Going to attempt to work on Gluon today, after a few weeks of downtime. Got a few small things to tackle, so I’ll do those to ease into it.

First steps for the Reply Toolbar coming to Gluon:

That’s a user toolbar, showing the users in the conversation you are replying to and then anyone you are following. Tap to add. Still experimental and more to come. But you can have it already 🤓

Final stretch before releasing Gluon. Feedback wanted.

It’s time to wrap up the development for Gluon. It’s especially important for me as I’m also going to share my new way forward in the coming weeks. But before I go ahead and share that, I want to complete the app (or at least write this post).

There are a few things I want to tackle before launch, namely:

  • Posting and reply screens to be re-written and make them way more awesome, that will also include image uploads and… “insert secret feature here”.
  • Posting to include MicroPub love - I promised this for launch, so I’m gonna do it.

There are many more little things that need to happen and be fixed, but they’re too boring for you to know about.

I’m also going to make progress on the Android version after the iOS release. It’s at 90% with feature parity so I’ll need a bit more time to work around some limitations that I’m hitting.

Saying that, there isn’t too much interest on yet another third-party Android app for Micro.blog (from what I gather). From what I see, and feel, everyone wants a first-party solution. I’m hoping this happens soon and also hope that Gluon showed that it can be done.

Use the email below to get an invite to Gluon for Android.

I don’t have a release date yet for iOS but will announce it as soon as I know more myself.

Feedback time

As I work on the specific tasks at hand, I’m looking at collecting the last round of feedback. So if you use it, please do let me know if something doesn’t work as expected or if you have any suggestions. You can reach me here: [email protected].

I do try and reply to everyone that emails me. If I missed someone… sorry!

Anyway, thanks so much for using the app and your feedback to date.

Another update for Gluon on iOS which I hope you enjoy.

  • Loading indicators are pretty much gone except the pull to refresh one. The app still does a few things in the background (for example prefetching the feed), however this is way better UX in my opinion.
  • Images Modal - the one you know and love from earlier builds. So instead of navigating out of the app, you’ll get a nice modal. Swipe left or right for more (if there are more), swipe down to close and your usual pinch-to-zoom action. Happy I managed to get that finally in.
  • The Photos tab is now named Media - this shows both images and videos from your timeline.

Thanks to Eli (@eli) for pointing out the many many loading indicators.

A quick note on loading:

The app, at the moment, pre-fetches the feeds when you navigate to each screen. This is for a few reasons. The main reason is that the Micro.blog API is a bit slow at times. So to avoid this and give you the illusion of quick loading it grabs the feed straight away. This means if you do a “pull to refresh” the feed is actually already being fetched in the background. I think, for now, this is the best answer to avoid the sometimes long loading times (they can vary between 1 and 6 seconds). And it gives you the feedback you need when you do do a pull-to-refresh.

Just pushed out another TestFlight build for Gluon. Here are the release notes:

  • Background Audio now continues to play when a video loads. So if you’re listening to a podcast or music, they’ll keep going!
  • When you do a “Pull to Refresh” you will now see the loading indicator at the top - as you would expect. Anything in the background or automatic will still trigger the little green and red spinner - but not the pull to refresh one.
  • List items now have the correct bullet point colour set depending on your theme.

Thanks again for all the feedback so far. Keep it coming!

Also… the dark theme looks out of date on iOS13 (for any of you running it). I’ll probably add a third true dark theme with a black background. The current one I’ll just name “Space Grey/Gray”.

I’ll update the Android build during the week as I need to tackle some specific Android issue that I didn’t have the time for.