Gluon, Micro.blog and the next steps
Gluon has been going for quite a while, and it certainly shows – perhaps not for you, but certainly for me. It’s gone through several rewrites, especially in the early days. If I would have not done this I would not be where I am professionally today. It was a tremendous learning experience and I am so happy where I am at now.
If you’ve been following along you might have noticed that I am behind the new official Micro.blog app. This took everything I learned and basically just turned into a rewrite I always wanted to do. In a way, in its heart, is a lot of Gluon already, but so much better and thought out from the beginning – it started with zero code and we’ve built it out for over the last year (and a bit). We’ve also open sourced this, if you’re interested in building something or just fancy looking at the code.
Just like Gluon, the official app is built on React Native. This allows us to easily write an app for both iOS and Android at the same time with minimal OS specific code changes. The official app currently has near 100% feature parity between both versions – which just blows my mind that this is even possible.
I’ve poured my heart and soul into the official app, and it brings me tremendous joy to work on it. Working with Manton on this has been a great learning experience also and I am extremely humbled that I've been given the opportunity to work with him. He's one of the reasons I got interested in developing for iOS in the first place, and perhaps one day make a living doing exactly that.
Saying all that, I've tried so hard to keep up with Gluon development over the past year, but you probably noticed that it's fallen behind. It was not my intend.
I've been having discussions about what to do, throwing ideas around with Manton and Jean.
One idea was to create a "community" edition of the official app using a fork of it, a technical term of a copy, like a fork in the road where the you go separate ways, and perhaps one day meet again. This would then be built on and features from the community would be considered and added, whilst keeping the official app pristine and closer to the vision of keeping it simple (because it doesn't have to do everything). That also keeps the road open for other third-party apps to do things differently. On the plus side, that would enable some features to make it down to the official app.
The second idea was to move away from React Native for Gluon, and concentrate on a Swift UI based app (Apple's framework for creating native apps). Every year I get a little excited of what is possible... but that's a big learning curve, and I don't want to spend time learning it as I've had a bad experience with App Review in the past. Now if it's something I could use to write for both iOS and Android... maybe then... Then however I have to spend time with Swift (the programming language). I used to like it until version 3, heck I built and sold an iOS app then, but then it kinda just got a bit too verbose for me.
The third option was to just stop Gluon development and spent more time on the official app...
None of the options above scratch that itch though, so I am still in limbo.
Over the past few weeks you may have noticed that I was actively working on updating Gluon on iOS, with a few TestFlight releases. However this came at a cost. The cost of an aging codebase... and because of it, I lost that "developer happiness" feeling every time I open the code for it. I hang my head in shame a lot. Now, I do realise that I basically did a much better job (so I think) with the official Micro.blog app. Not the same mistakes as in Gluon!
I also tried to look into Android and update Gluon so it is at least maintained and kept up to date. However it's unmanageable right now, especially now that the codebase has drifted so far apart from the first version. It would take me days, perhaps even weeks, to get something out for Android right now.
I am also limited on what I can support. Gluon doesn't really make any money. I do have the occasional donation and some yearly subscriptions through Buy Me A Coffee, but they don't cover the costs of keeping everything shipshape. I believe Gluon brought in just under $800 over the many years with all your kind donations. That is roughly two days of paid work for me...
Then we have device support. I own an iPhone Mini... and an SE. My Android is aging, it's so slow. Simulators do not replace a real device, hence I send out so many little updates (especially to myself), because I like using it on a real device. I don't own an iPad, we gave it to the kid.
At the current state, Gluon is not feasible for me. Over the years I kept it afloat because I had income to cover development costs. But what costs? Good point. The costs are me sitting here working for free. However, it's not all doom and gloom and I think putting in the work is so important. If I didn't do it, then I would never have made the Micro.blog app. And for that I am eternally grateful. In a way, Gluon has brought me much success – and I recognise that.
But now I have to make hard decisions and think about where to spend my time.
Urghhhh, so if you got this far, you're probably fearing what I'm about to say. But perhaps I won't say it.
I have many ideas in my idea book for Gluon, I have a vision, and it would be shame to throw it all out. Gluon brought me a lot of luck and betterment through engagement and recognition of the community. Heck, I am even on the homepage of Micro.blog. Just blows my mind really.
On top, I do not want to copy the Micro.blog code, that would be wrong of me. I've been paid for that work, so doing a fork of the project would feel like a stab in the back. So I won't do it.
There are immediate hard decisions to take, which I will outline below... but first...
Ramble, ramble, ramble...
I'm starting from scratch. Starting from zero.
The reason is simple... I am fighting an uphill battle and I am unhappy with the little paper cuts throughout the app and the lack of ability for it to naturally expand into what I want to achieve.
I'm also freezing all current development that I've been working on the past few weeks.
If it’s worth having a better system, it might be worth shutting down the entire plant when the system breaks
This has been at the back of my mind most of this year and we're now in September.
The current version on the iOS App Store will continue to work, any server related things with Gluon will continue to work, feeds that Gluon uses will also continue to work. In fact, the server side of things is a building block for what I want to ultimately achieve – but again I am limited by the codebase, because it was never a part of the original vision.
So now to the hard decisions:
- Gluon for Android is no longer supported and maintained until I have completed the rewrite. I'll work to support this in tandem but will concentrate on iOS first. Please use the official Micro.blog app, it really is super great and I am proud of it... and you should totally use it. I might temporarily remove the app from Google Play.
- I am dropping support for iPads, or similar sized computers/tablets. I cannot support it. I don't have a test device, nor do I use one to truly know what I'm doing. I am sorry for this.
- The current version on TestFlight can still be used but will no longer be updated. Please use the iOS App Store version once the beta runs out in a few months. I would love to finish it, but there is still much work for me to do, and the current experience with the new timeline is nice but not as smooth as before – except that CPU usage is minimal = less energy.
- If you're on the TestFlight list, note that there will be a new list one day and I'll send details out later on in the development cycle.
Oof! That was hard.
My intention here is to regain laser focus on the core experience of what makes Gluon, Gluon. A complete reset.
I want something more polished and much more opinionated as before with focus on the timeline and the community. I want it to be a "premium" app without loosing some of the fun.
I don't have a timeline for when anything will get in the hands of select testers, but I'll communicate this closer to an early dev release.
I will take this slow, so please don't expect immediate updates. This will be over a few months, with the occasional sneak peek.
If you're a devout user of Gluon and have the audacity to test dev builds and give detailed and constructive feedback via email, please do get in touch when I send out the call for testers.
I announced Gluon back at the end of 2018, on November 2nd. That was nearly 5 years ago now. Much of the app still has a lot of the personality from the first version. What a journey it has been. Super wild!
Thanks for reading and understanding ✌️❤️