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 update (20181124.1) - Image Modals and new settings

Another day, another update to Gluon. I can't stop working on the app, it's a lot of fun for me and I'm learning heaps of great stuff!

Before I get started, I just want to extend a warm thank you to everyone that has left comments, emailed me and of course for everyone that decided to run the app on their phone. It really means a lot to me, so... Thank You!

Image Modal

In a previous build, released on Thursday, I added an image modal. I didn't say anything, but wanted to test it out in the field. So, now when you tap an image, you will be presented with a nice modal. If a post has multiple images, you'll be able to swipe left or right, zoom in, zoom out, you name it.

It was a bit tricky to get right, as I didn't want to reload any of the images when the modal opened. Another hurdle was to grab the image dimensions, before serving the image. Grabbing these, for some reason, was slow.

What I'm doing now is grab the dimensions and set the returned dimensions in local storage (cache), sorted by their URL. I also add to another local store, to record what URL I stored and when. More on why in a moment. As your timeline loads, and grabs images, it will both cache the image (as it downloads it) and also now sets the dimensions in cache. This is important. When you open the modal I didn't want to grab anything with another round trip over the internet to fetch any of the data again.

Of course, if data is missing, it will try and grab it all fresh.

All of this enables instant image loading when you tap on it, because in essence you already loaded the image in your feed.

Here is a screenshot of the modal, with a colourful image (image by @eli):

I'll be adding swipe to close to this also... didn't have the time just yet.

It was important for me to keep dimension cache to a minimum, as you might have a photo only timeline... after a few months that would be pretty big! To combat that problem I added a check, of the cache, to filter out everything that has been added more than 14 days ago. Granted, it's only a JSON list... but you know. 2 weeks is enough in my mind.

Have a play!

Settings - the beginning

If you have read my other blog posts, you could probably read between the lines that I'm going to add themes to the app. Today, I made the first step to customising the app to your needs. This is more an accessibility feature than a "theme" item, however it clears a path for many options that are applied to the app in real time.

I had to re-write parts of the app, especially the navigator, in order for this to work. I don't want to get too technical though, so I'll spare you. Happy to say that it works though!

With this task complete I was able to add the first user setting to the app: Content Font Size.

I'm happy with this as it proved that it can be done with ease and without a performance hit (on the production app - TestFlight and Android Alpha).

This was a quick addition to the Settings screen, so please excuse me as it still looks really bad. It will get better over time.

Here's how it looks:

Two, not so nice looking, buttons that enable you to increase or decrease to your choosing. The default size is 16 points. The minimum is 8 and there is no maximum. Of course, on top of this, you will also get any dynamic font sizing that you have set on iOS.

Here is another screenshot with bigger text:

The post preview is loaded randomly from the Discover feed. So, make sure you have at least looked at the discover section. I'm sure you did already... I'll make changes to this as I go, of course, and have a fallback to a more generic design if no posts have been found. It'll always grab the data from the post cache, so no round trips around the internet.

You can "Reload" a feed item that you see, just to try out other ones. Some may just contain images, so it'll be quite hard to see any changes.

Any changes you make to the content size will be reflected in real time. I know... something small... but for me that's cool!

Settings are saved locally, so they will always get applied if the app cold boots or does other things. The screens also receive all of the "Theme" data instantly, so changes will be quick.

Anyway, happy to have this working as now I can do more great stuff!

That's it for now.

As always there is a Trello board for up to date info on progress https://trello.com/b/GSIj8AVi and my dedicated section, on my site, about developing the app.

If you're interested in testing you can sign up via the TestFlight public link: https://testflight.apple.com/join/2sbnWuMK , or you can email me [email protected]. If you want to test the alpha build for Android, email me. And of course, you can reply via Micro.blog.

About to push out another update for Gluon. Gonna have a blog post for it too, but you'll probably receive the build before I finish writing the post. It's something small, however I'm happy that I took the time today.

React Higher-Order Components... what did I get myself into...

Pushed out a hot fix build for Gluon on both iOS and Android (20181121.2). Fixes glaring issues with HTML and images. Hopefully content looks much nicer now.

Parsing HTML... mind boggling at times...

Gluon for Micro.blog - New build is up (20181121.1)

I just pushed out an update to all TestFlight users and Android alpha testers.

Not a big release and mainly a behind the scene update. These updates are for both platforms unless otherwise stated.

What's changed:

  • Android - This now includes a better icon, loading splash screen and a correct name.
  • Images now render with correct aspect ratios, and if you're on iOS (for now) they also render within the post content as it is intended by the user. Android will do this soon, there is a bug... which I'm trying to figure out.
  • On initial login, Mentions and Favourites are now pre-loaded. Which means you can get to your posts quicker.
  • I tweaked the username styling, and now appears bolder.
  • Post content is slightly larger now.
  • Added bold styling when the HTML includes this. Makes it look nicer overall.
  • Fixed some other spacing issues (hopefully)

Here is a screenshot of the images inline (iOS only for now) with correct ratios:

The images, and the way they load, is still experimental and it needs tweaking. The process of checking the ratios is slow at the moment.

I'll be working on a few more things this week and can't wait to show you what is in store. It's a small feature, but I reckon useful to a few users. Especially now that I signed up for an extra Micro.blog account... oh wait... did I say that out loud?

Android build is still propagating (I love that word!), but should be there soon... I hope.

Enjoy and, as usual, check out Trello for a bug list and other things: https://trello.com/b/GSIj8AVi

Gluon for Micro.blog - Android Alpha Release

It's time to "alpha" release Gluon for Android... it's taking me longer than I hoped, however it's finally here for you to test.

The app is still a very work in progress for Android and I'm expecting loads of bugs and issues. There are many things still to work on to bring it in line with the iOS version. However, as of this moment, they both contain the same features across both platforms.

As my previous release, there is the same public board (via Trello) that allows you to see the progress and bugs: https://trello.com/b/GSIj8AVi

You'll need Oreo (Android 8.1) or higher and I will only support the app on the most recent version of Android. I know about "Pie" and this is the version I'm actively developing against.

Some glaring issues for Android that I'm aware of already, as I didn't implement these yet:

  • Launch screen is blank.
  • App icon not "round".
  • Login - you probably have to use your app token instead of using the link provided in the email, due to universal app linking. TBC.
  • Tested on Pixel 2 only and will only support the latest official Android builds.
  • This app is "alpha".

That's it I think. Knowing the above:

There won't be a public sign up, you will have to email me if you want to test it on Android. So, if you're interested: [email protected]. Update: Note that you'll have to provide me with the email you use for the Play Store.

Please do allow me a day or so to add you to the "alpha" list.

I'm going to keep an eye on how much, and quality of, feedback I receive from the Android community regarding Gluon. This will ultimately decide if it's worth for me to keep pursuing the platform. It's new for me and I'd like to make it work.

I just pushed a TestFlight update out for Gluon - build 20181112.1. There is a breaking change for older installs, so I have expired them. That won't happen in the future as I stopped using "over the air" updates. Another build will completely disable OTA updates (just in case).

Gluon - Weekend update

Today I worked on a few features I wanted to add over the weekend. Nothing too big, but will hopefully make it easier to use the app.

Actions

First, I added a long press action to any post (the post content), this brings up an Action Sheet on iOS with several options. Here it is:

These actions can be invoked anywhere where you see a post. I'll probably tweak the wording ever so slightly. If you have recommendations... reply to me via Micro.blog.

Reporting a user

The report functionality is a two step approach, so don't worry. It will show you an alert before actually doing anything! Here it is:

I thought it would be a good idea to also add the username to the button as I think it would make you think twice, or more. I'm going to tweak the message a bit to say that all reports will be reviewed by the Micro.blog team, just to make that a bit clearer.

Discover

In the discover section I added a small Easter egg... well... and Easter egg that appears every Monday!

I thought it would be a great idea to recommend the "Micro Monday" category when it's Monday, just to keep the discover section a bit more dynamic. Hopefully this will drive a bit more engagement within the community.

I'll probably change the wording, so any suggestions are welcome. Also, I'll make this an option to hide, in case people find it annoying. Hopefully not though!

Oh and I changed the post time labels to give you a relative date, again I'll make this a user option. I kinda like it as it's accurate enough. Doesn't need to be right on the second... right?

That's it for now. If you have the TestFlight version installed you can wait for the update to come out (Build 20181111.1) - it's been "Processing" for the past hour, so it might not be until tomorrow...

Just pushed out an update to Gluon TestFlight. Now I inline a "Reply" button for when you are in the Mentions section. Discover screen now allows you to browse via tag. I'm going to be adding a few more features to Discover πŸ˜„

A week ago today, I started developing Gluon. I'm happy with progress this week. Creativity is high and I had to grab the urge to make it! I've started planning features that I want to implement by next week and will work during the evening tomorrow and Sunday to get the Discover section up to scratch. Thank you all on the TestFlight so far, I really appreciate it!

Gluon - App Update 6 (or 7 if you include the last post)

It was a good day, although slow on the development front. I'm happy I got the TestFlight out today. Feels good! You can read about it here.

This evening/early morning (it's now 4 A.M. for me) I started work on getting the "Reply" functionality in. It's not there on the design front... but it works! I did have one failed attempt because I was encoding the HTML, but I didn't have to! Whoops.

Here is a screenshot of the in progress/still in design reply view:

That reminds me, I also implemented the conversation view. Here you will see the whole conversation with all replies to the given post. There is also a "reply" button for any post. This doesn't show for the actual user that is logged in.

I'll work on the controls even more as I'm not happy with the design. My main concern was replying, so I'm thrilled it works!

It's my intention to surface controls for replying, favouriting and deleting (if it's your post that you can delete) on a long press of the post on any screen. I'd like to hide as many controls as possible. I'll think of a few ways to tackle that though.

Tomorrow evening I'll work on better styling for the "Reply" screen and also get some other functionality added. I'd also like to tackle the image viewing... so it's a much better experience for everyone.

One step at a time 😁

Successfully added "Reply" functionality to Gluon. Now I just need to figure out the styling. If you'd like to test it before the official TestFlight build is out, you can go to "Settings" and tap "Update build and reload". Then when you tap on a post, you will know where to reply 😉 WiP!

Gonna take a stab at the reply feature for Gluon now. Colour me excited!

Gluon for Micro.blog - TestFlight

The time has come, the TestFlight build for Gluon is now available. I’m excited to get this into the hands of people.

This initial release is available for iOS. I’m going to be getting an Android build out next week and will announce this separately.

I have created a Trello Board for anyone interested to see what I’m working on, bugs and features. Here’s the link: https://trello.com/b/GSIj8AVi

If you find bugs, please email me at [email protected]… or [email protected]. They both work.

There are many things still outstanding and I will work on them in the coming days and week.

If you have messaged me with your details, you should now have the invite. If not, you can sign up to it using the public TestFlight invite URL:
https://testflight.apple.com/join/2sbnWuMK

Happy testing and please let me know what features you really want or where I can improve. Please remember this is an early build and has a few missing features.

Here are the notes from my TestFlight build:

-- -- --


Thanks for testing this early version of the Gluon.

Notes:

Replying and composing is not yet implemented.

Favouring posts is not implemented.

Please test the following:

1. App login with both email and/or token.

2. Browse feed, mentions, favourites and discover.

3. Tap on profile images to load info and posts.

4. Check for overall performance on loading each screen.

5. Navigate to other users followers.

6. Follow or unfollow (if you want).

7. Pull to Refresh on any screen - should update the feed/section in question.

8. Open links within posts.

9. Tap on a post and it will take you to a conversation view.

The app includes a settings screen, this is for test purpose only. You can do the following:

1. Logout - this will clear the secure storage of your user credentials and all posts data. This will also reload the app.

2. Clear posts - this clears all posts in your home feed.

3. Clear All Storage - this will clear all data stored on the device but will not clear the user token - this will reload the app.

4. Update build and reload - this will try and fetch the latest build and download it, it's magic, and I may ask you to do this sometimes if you're having issues which I'll hot fix. Note: this will only be available for the TestFlight builds.

-- -- --

I’ll be working on getting replies working and/or perhaps image viewing.

Happy testing.