Vincent Ritter


All my blog posts for your viewing pleasure.

Short Stories: Into the sorrow of the Moon - Part 1

Baldwin was used to this shift. Moon travel has been commercialised, sending anyone with enough credits into an industrial class freighter metal death trap glorified into a big space bus. Mankind hasn’t perfected space travel yet. You needed more luck than science to make the journey. Yet, it drew enough interested and awe to make you forget the bustling life of Earth as soon as you left orbit. For some, like Baldwin, this was worth it to make it their living. Leave your troubles behind, some said.

This was Baldwin’s 57th trip making her one of the most experienced captains. She’s been lucky or, as she would say, unlucky. The Moon was still a 2 day journey from space dock and anything could happen before even setting foot onto the Lotus. Lotus was an old, yet trustworthy, industrial class space ship converted into a, so called, comfortable people transporter. She wasn’t pretty, and if a square piano could fly then this is what the Lotus was, a flying brick shaped piano in the vacuum of space. Lotus was the wrong name for her. Everyone knew that. Her creators didn’t see it that way. No one argued. After all it was bright minds from all mankind that even made space travel possible.

Baldwin’s shift started at 02:30 AM. Not an hour for a normal sane person. Crew rest after a trip is roughly 3 days, which is a luxury compared to other sectors. The corporates know the risks, so they let you have the time to make sure you said your goodbyes. The death rate for space travel was 1 in 10. It was a risky business. Baldwin had no one left to say goodbye to, but she did it anyway - it calmed her before the flight, gave her purpose to continue.

Like every shift day, Baldwin woke up before her time. She couldn’t sleep. Thoughts of mechanical issues close in her mind, planning contingencies, disappointment of unavailable equipment if something would have failed and the push to keep going if the ship had half the systems working than it should. The corporations couldn’t loose the money that civilians paid to get to the Moon. Everything was on thin margins. That also meant that spare parts were hard to come by. Everything was a rust bucket waiting to be crushed by a flake of dust in space.

There were 2 crew trips per day, taking anyone working the shift to space dock. Usually a small and cramped rust infested shuttle type craft. Best in class. 2 pilot seats, 16 seats for crew, engineers and occasionally scientists. There wasn’t much room to take luggage, a duffle bag is all you could throw into the back compartment, separated by a flimsy net. There was barely enough power to make it into orbit and keep everyone alive. The doors closed with a loud hiss, like air escaping from a thousand little holes. Baldwin’s ear drums popped as they shut. “Pressure check, air cyclers automatic” said one of the pilots as the pressure inside the cabin climbed a little higher than outside. This was to check that the pressure seals functioned. The air recyclers started humming and groaning trying to recycle carbon dioxide from 16 crew members. 2 seats were empty as a few spare parts had to be taken up, leaving not enough free weight to break out of the atmosphere if they were occupied. Everyone knew the disaster stories. They learned from early mistakes.

The two pilots sitting up front didn’t even look 20. This was normal. The demand for shuttle craft pilots was high. Re-entry to the atmosphere usually turned out fatal. Baldwin wasn’t bothered, she started when she was 14, gained her official credentials at 17 with more experience than most. If you made a few trips and came back alive, you got promoted and could opt-in to fly bigger and heavier craft.

There was nothing to prepare you for the shuttle journey, except to actually go on it and make it to the station. Nothing was pleasant about it. From low pressure in the cabin making you slightly hypoxic, the unpleasant harsh vibrations as you accelerated and hoped it wouldn’t all fall apart below your feet, to the sudden feeling of zero gravity after a high G orbit burn. If you had a big breakfast, forget about keeping it in. The air smelled like sick, mould and bleach.

This was no place to forget about life underneath. You couldn’t hear your own thoughts. Many crew members opted not to use ear protectors. After horror stories of exploding ear drums, you’d think twice. The company behind them released a new and improved model since. Reputation and trust is hard to gain after a stain of history like that. The pilots wore special space helmets and suits. If something would happen in the cabin they wouldn’t hear the screams, they would see a red flashing warning light on their control panel. Everyone would be dead by the time they turned around. The suits were heavy, so only the pilots could afford the weight penalty. For many of the crew behind, this was a normal day of work. They knew the risks.

Space dock looked like a rotating octopus in space with arms made of, what looked like, shipping containers. All different colours, nothing of taste and mostly resembled fragile rust waiting to break off as soon as you put weight on them. The station had 6 docking ports for larger ships like the Lotus and a few other scattered shuttle docks for crew transports and other small re-supply vessels. Built 30 years ago, it was the most robust station in the solar system. They called her Opportunity Station. A gateway to the stars. Or that was what they had in mind anyway. Nothing glamorous, but reliable.

The journey from Earth to Opportunity took 5 hours. 5 hours of hell. Hell for the pilots, hell for the 14 passengers that tried to hold in their food. Baldwin was amused at the sight of young pilots trying to throw up in a paper bag at high g. She made that mistake once.

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.


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 hosted blog
  • Picture viewer
  • Personal profile view

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

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.


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 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 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 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 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 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.

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.


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:

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


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:

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.