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 - Experimental Local Push Notifications Update

I spent Friday writing the code to enable local push notifications and the weekend to see how well it worked. Whilst results vary depending on the device and the amount of times you use the app, it has been pretty solid and I’m super happy with these early results.

Here is a fun look at the things I do:

I pushed out a notification every single time I did a “background” update, so I would know if it would run the job in the background. Certain to say it did just that. I had hundreds.

The interesting thing is that I set a 30 minute interval for the background check, which on my main device turned out to be every 10 minutes. I presume this has to do with the “blackbox” code that Apple use to determine how often you use the app amongst other things . So the more you use it, the more frequently it checks (although I think 10 mins is the lowest it goes). For example my test device, the other iPhone, was running this every 1 - 3 hours, instead of every 10 minutes or 30. This is totally fine with me and is actually much better than an “instant” notification because it takes into account how much you use the app. Love that.

This morning, I turned on my phone, put it out of Airplane mode, walked to the shop and:

Very cool! It took roughly 30 mins after I turned the phone on, but that was totally fine with me. I don’t need anything real time.

In terms of battery life… I haven’t noticed anything that causes me to pull the feature in horror. Seems to be same as before.

TestFlight

Saying this, it still needs testing is not by any means finished yet. However, I will push this out in an update for everyone to try out. As I said, results will vary.

There is a small bug where you may launch the app and be presented with a login screen, I do believe I fixed that though. If it does happen… for now… just force close the app and launch it again (yup, I just said that). The joys of Alpha/Beta versions. More a beta than an alpha atm.

To enable notifications, just head to the “Mentions” tab and select the option at the top. I’ll be moving this to settings at some stage.

Anyway, I would love to have feedback from everyone that is giving it a try. Ideally I’d like to know how reliable it is. Personally it works pretty great and I don’t have a need for real time updates.

Also note that tapping on the notification doesn’t actually take you to the mention just yet. The mentions feed should be updated though.

This week

This week will be a little slower on the Gluon development front as I’m catching up with client work.

The main areas I want to concentrate on until the end of the month are:

  • Posting to a micro.blog hosted blog
  • Picture viewer
  • Personal profile view

Anyway, Happy Monday and I hope you enjoy this update.

The result of the first local push for a @-mention. I received two from Gluon because I send a blank push with details for the currently logged in user. I get them through every time a background task is run = many 😬

I’m testing local push notifications for Gluon. If anyone on Micro.blog could @-mention me, then that would be really awesome.

Gluon - initial reply functionality, more settings and an update on the Android build

I’m about to ship another update out for anyone using Gluon. This build (20190308.1) introduces a few things, the most important being the reply functionality.

Replying

The design is still edgy and needs much more work on it. However it works pretty well so far and I’m super happy. It also takes your selected font style and accent. Although I think there is too much of the “Accent” on the page, so I’ll tweak it. You can swipe left on any feed item and you’ll call up the reply screen. Here is a quick screenshot:

Depending on the theme, you’ll get the correct keyboard type too.

There is still much work to be done here and I want to style links and add things like markdown tags and autocomplete for users.

Anyway, I hope that this makes Gluon a little bit more useful to everyone.

More settings

I’ve added the ability to set your preference on avatar shape. So if you want them round you can do so.

Also, if I didn’t mention it here yet, I added the ability to reduce or increase the spacing between timeline items. Apparently the big space wasn’t for everyone, so now you can choose what you prefer. I’ll probably add more options around that as time goes.

I’ll use your currently used Account/Profile image… so don’t worry, it won’t be me you’re gonna see all the time.

And here is how the round avatars look:

I hope that this makes a few people happy.

An update on Android

It hasn’t gone as planned. I’m having problems with the production build not running. I know the reason, but I just didn’t have it in me to get to the bottom of it all.

I’m going to spend some dedicated time on this early next week as priority as I really like to get something to Android users.

Will keep everyone posted on progress.

Closing thoughts

It’s approaching 02:30 AM so it’s time to head to bed and relax… although I’m already in bed, coding, writing, for the past 3 hours.

Next week I’m going to work on posting and perhaps also conclude a few other areas like the user profile view and the “following” screen too. But we’ll see.

Thanks to everyone using Gluon already, for your kind words and really great feedback.

Gluon - working on cross platform push notifications

One feature that lacks on all third party apps for Micro.blog are push notifications. This is one reason I keep the official client handy.

This has me thinking on the best way to bring this functionality to Gluon, and I’d like to run it by anyone that is interested. This will be for cross-platform support and not only iOS, bringing it to only one would not float well with me.

Local push notifications

One thing that can be done on both iOS and Android is the ability to allow background tasks to run, within reason. I already set wheels in motion to enable this (if you’ve noticed that in the device settings). The latest TestFlight build has the ability to run background tasks, I just haven’t enabled it for anyone and of course you have to opt-in to this anyway.

You generally have the ability to run code and execute it, within a given timeframe, on device. This depends on platform and naturally iOS is way more restrictive, which is a good thing because it makes you think on how to do things more efficiently. The most frequent you can do this is 15 minutes… as long as the app hasn’t crashed or the user force closed it.

Whilst personally I don’t mind if it checks every hour or 2 or 3 or 4 or 5 for mentions, I know that a few people do want it to be a little more frequent than that. So I’ll allow an option for you to choose what suits your needs.

As a default I’ll check every hour. This triggers an API call to Micro.blog to your mentions feed, checks what’s new and advises you accordingly via a local push notification.

This, in my opinion is a great balance between complexity on my end, hassling Manton with more requests to add features to the API, and getting something cross platform with ease.

However, there is another option.

Remote push notifications

This one is more involved and has been already on my drawing board since last year… I just don’t have time to make all this happen though. Gluon makes no income for me, but I’ve been treating it like a full time job...

Long term, if viable, I’d love to remove local push and replace it with remote push notifications. As there is no ability to do anything on the Micro.blog API, for example sending a webhook to a specific client/address, so I would have to do something a bit more clever.

The plan here is to create a small “Gluon API” which acts as a server that checks for mentions at a good interval (every minute or two). Within the app you would be able to register for this service by a tap of a button. Here I would create device specific token to talk to the Gluon API and also pass along the Gluon login token that you get from logging in. I may talk to Manton to see if I can create a new one just for this purpose, so it can be easily revoked.

With this, the Gluon API will start checking your mentions feed. If it finds something it will use the correct push notification server for your registered devices (iOS or Android or both).

With remote push notifications I can make sure not to hammer battery life. Although, the local notifications shouldn’t use too much, but still.

Questions and commitment

The main question, really, is… does it matter that you instantly get a push notification? In my eyes, no. It distracts hugely from the day. I’d rather have one notification with a summary at a particular time of day or at a really slow interval. However everyone is different and uses Micro.blog for different purposes. So it’s difficult for me to judge on how important mentions are to everyone. Gluon is already highly opinionated as it is, although I’m flexible - as you can see with all the settings I’m adding.

In terms of commitment I’m unsure if it’s viable for me to pursue to build an API just for Gluon. I won’t know where Micro.blog will go and what features will be added. At the end of the day it’s not my platform and I’m taking a huge amount of time and effort already to hopefully make Gluon one of the best choices when it comes to third-party apps.

Experimenting with nice looking backgrounds for the profile view, using the profile image.

The Gluon Android Alpha 2.0 is propagating through the Play Store. I’m going to keep an eye on it to see when that updates. Once I’m happy I’m going to add everyone that emailed me. Google Play Store is super confusing, but I hope that it should just work for the existing list of users.

I’m adding swipe actions for “Favor” and “Reply”. I’ve got favourites working nicely and that also triggers a reload of the “Favorites” feed. Next up is replying, but not today. Here are the colours behind the table cell. Always nice to see.

Here’s a screenshot showing dark mode on Android, including a yellow accent. There are a few weird bugs still, but it’s totally usable at this stage. Nothing to stop me from not releasing it.

Gluon - opening more TestFlight spots, calling all Android testers

I’m extremely happy I took time to rebuild Gluon from scratch. It was totally worth it! Whilst there are still features missing from version 1.0 of the app, I think it has caught up and is ahead in pretty much everything.

TestFlight

I have opened more spots on TestFlight, which you can get to here if you want to help test the app. I get some great feedback, and I usually respond to everyone personally. Here is a direct link also if you want to copy and paste the URL: https://testflight.apple.com/join/2sbnWuMK

There were 100 spots initially, which have all been taken. A huge thank you to those who actively use Gluon 🤩

Android

With the iOS TestFlight back in swing, I’m looking for Android testers. I do already have a few emails, but please email me again: [email protected]

The Android version still needs some TLC, but I think it’s at 95% in sync with the iOS version. Pretty happy about that and thought that I would only be at 80%.

Gluon works all the way down to 7.1 - so let me know.

The biggest improvement compared to the last build is that the app now feels way faster than the last version. This was one of the many contributing factors that made me pull the app in the first place.

I’m panning to push the button on the Android build some time this week.

Rest of the week

This week I will be concentrating on Replying and Posting, with replies coming first. I may have another feature that I’ll pursue, but I’ll get to that. For the eagle eyed, you may know what that could be (hint: something was introduced in the last TestFlight build).

Again, a huge shoutout to everyone that is helping and also a huge thank you for all your amazing comments.

This week I’ll be working on Replying and Posting for Gluon. I have some ideas that I want to try. First up will be replying though.

I just completed the Appearance section of Gluon. You can also now choose a font that is used to display timeline items. I don’t apply the font app wide, but I could if enough wanted it. Too much of the same font doesn’t look great.

I just released Gluon build 20190301.4, which adds the ability to switch themes and accents instantly. Give it a go and choose a nice combo. I’m yet to style that section so please bear with me - you’ll be able to accents now though. If you want more accent colours, just let me know.

Also added a double tap to reload the current feed you’re on. Just double tap the tab bar icon and you’ll get a haptic feedback event, followed by a reload/fetch. Thanks to @nitinkhanna for this one.

I’m about to push out a new build for Gluon (20190228.3) . It will include a very early experimental “Appearance” option in Settings. When you change any values, you’ll have to press the “Reload App” button at the bottom. Wait 1 second before pressing that, otherwise the settings will not save.

Themes are Light and Dark - these change the overall skin of the app.

Accents will change link colours and colours in the tab bar and header areas.

I’ll be hopefully completing this tonight, and get it nice looking and reload on the fly (it’s nearly working but took it out for now for this build).

Working on a dark theme and also the ability to have different colour accents (for both light and dark). Let’s see if I can add it before the weekend.