Vincent Ritter

📰 Blog

Posts about whatever is on my mind at the time regarding my projects and perhaps some specific topics. Can be updates, release notes and many others.

Note: Some older posts are no longer available. Thanks for understanding ✌️

Posts Follow me...

Adding something new to tinylytics soon, can you guess what it is? Only test data you see here btw 😄

Tinylytics embed option showing a hit counter, the webring and some flags (hint)

Maybe I shouldn’t subscribe to the “subscription cancelled” emails 😅 Fair few the last few days.

Huh, so I went from ~8GB available disk space to 220GB over the last day... Not complaining. Just a nice and sudden surprise it finally cleared itself up.

🧹 Accounts and services deleted today:

Straight from my idea book, a UI sketch. I love going back in time seeing what I wanted to do, but never did.

Just added the tinylytics webring documentation so you can embed the webring to your site. If you want to read more about the webring go here.

The Stripe Checkout flow these days (for a saved card):

  • Press "Pay".
  • Loading...
  • Confirm you are "human" and not a bot (sigh...).
  • Loading...
  • Confirm your card with TouchID, because last time it gave you an option to set that up and you were gullible enough to do it.
  • Press on "TouchID" button, new window/tab opens, press the same button again.
  • TouchID prompt. Place finger on Touch ID.
  • Window closes.
  • Loading... Thinking about it...
  • Now to confirm the payment with your bank.
  • Open bank app and press "approve"
  • Loading... More thinking time...
  • Loading...
  • Oh and payment went through!
  • Redirect to original site...
  • ... loading... waiting... (I know why this is happening at least, because they need to make sure the payment flow worked).
  • ... and DONE

I reckon this should just be "Press Pay, TouchID/Passkey, Done".

Whoops. Sorry to all folks using Gluon to get the latest photo challenge word. I made a small content mistake… unfortunately I am not near my laptop right now, so will fix it when I’m back.

Gluon, 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 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 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 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 Just blows my mind really.

On top, I do not want to copy the 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 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 ✌️❤️

Quick Sonoma update with the new Xcode: Gluon now works and the app built no problem on the first try. Happy days.

Last night I upgraded to Sonoma. All went A-OK and mostly everything works just like the day before.

The new Xcode is giving me problems running Gluon at the moment, maybe it's a sign for something more drastic...

Bought a new book today. I won’t share which one, because I’ll probably be called names again 😞

The intro hits a lot of points for me personally, especially growing up as a German born kid in England was terrible for me.


Bullies will always bully.

“Have a great day.”

Tuned in just in time.

Small tweak to this morning, because I didn't like all this whitespace coming through in the embed script...

Yikes! Well, no more:

A little bit more for me to do here, and you can guess what that might be 😁

Nice that Ruby on Rails includes a `escape_javascript` helper.

We're hoping to ship the next version of the app for Android this week also. This will bring it inline with iOS. Some exceptions, for now: Share Extension & syntax highlighting.

I am so happy we can work with React Native and work on one codebase ✌️❤️

I've got the tinylytics webring functionality built into my site and it works a treat.

Will get documentation into place tomorrow or Wednesday, or feel free to poke at the HTML 😉

Thank you all for submitting your sites so far (I've added them all) ✌️❤️

Introducing the Tinylytics Webring

This morning I worked on adding webring functionality to tinylytics and any site that’s active can opt in.

I wanted to add another fun little side thing and teased about this a few weeks ago… and here we go.

It’s basic right now and works very similar to everything you’re used to already (kudos, hit counter, etc).

Getting started is easy, just go to your site settings (select “edit…”) and then scroll to the Webring section. Tick the box and save. And that’s all there is to it.

That’ll trigger an email to myself to review the site and then allow it to show up in the webring.

It’s limited to personal sites only, so I won’t be able to accept any business websites, or service sites (like tinylytics, shoutouts and others).

It’s very important that sites are vetted to avoid abuse of this feature, and to avoid gaming the system.

Just want to keep it fun and light.

This feature just rolled out, and there is no documented way of surfacing the webring just yet on your site. That’s by design as I want to get a few sites up and running first so that we have a good sample size.

Later this week I’ll document how to get a random site shown from the webring.

It’s designed to be super light and fast, so it’ll always just get one randomly selected site to link to, and that’s it.

Here’s to random encounters. They make the world go around ❤️

Some quick tweaks to tinylytics this morning:

  • Tidied up the sites header area, which now includes a little info dropdown. Not so cluttered anymore. They link to the relevant setting section.
  • Added setting sections when editing the site so things are easier to find.
Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.

I just tried this by installing Gluon packages and it's incredibly fast. Just under 8 seconds for a `yarn install`, bun comes in at 2 seconds, with lock files.

With no lock files: yarn runs at 69 seconds and bun comes in at... 4 seconds 🤯

If it’s worth having a better system, it might be worth shutting down the entire plant when the system breaks

– Seth Godin, No Lunging

Kinda how I feel about Gluon right now as I battle the old codebase 😅😭

Ah yes, got the Paddle payout this morning 🥳

Oh and of course they charged me the "$15 SWIFT" fee which is only applicable in "some" countries. Go figure.

All of those million .lol domains I purchased last year are slowly coming up for renewal 😅

Hemispheric Views podcast subscription renewed ✅, Core Intuition podcast sub also renewed ✅. I also renewed the ATP one, because I really like John – he's incredibly gifted.

To have so many key advocates engage or encourage this kind of behavior, this kind of slander, and this kind of hooliganism against those who don't share their team colors is frankly embarrassing.

– DHH on, Open source hooliganism and the TypeScript meltdown.

That pretty much sums a lot of things in society these days, especially on social platforms and online debate.

Scratching my head on how I could do threaded conversations within Gluon... It's been in my head for a few months now...