A Fedi-Moving Day

I used Calckey as my primary fediverse server for 6 months. There were things I enjoyed about it, and then some things not so much.

I use YUNOHost for my backend, and due to that, was not able to update from Calckey to Firefish. I started looking into what I could do, but most the advice I saw dissuaded the changing of the server software on the same URL.

Near the end, most of the profile images were not loading. I was getting constant “Retry?” prompts, and errors and reloads.

Calckey is a pretty good software suite based on Misskey which too is pretty good. So I am pretty sure this was more on my end than theirs.

Still, with the errors, constantly reloading, it was time to move on.

I am not able to get YNH to install Mastodon. So I kept looking. Pleroma was there. I set up a test server and loaded my follows and gave it a week to play around with.

I prefer the Calckey UI. However, after I found the themes and played with them some, Pleroma grew on me more.

What it did bring to the table was the ability to use apps on my phone. The Calckey PWA did not meet my needs.

Calckey is fighting until the end, however. I am writing this stuck in a “Rate Exceeded” issue where I can’t move my account yet because the server won’t let me. Which is frustrating because I am, in fact, the server admin.

My pleroma is currently themed to look like Windows 95, something I am apparently still nostolgic for. Hopefully soon moving day will be complete.

A Quick Post on Electron to Tauri Conversion

I will start to say, I am by no means an expert on anything in this post.

Over the life-pause of 2020/2021 I started working on some text journaling tools to fill some gaps in my life caused by programs being abandoned and turned into subscription models.

One of the tools was made with Electron and Svelte, and I am quite proud of it and use it nearly daily for journaling and rapid notes.

I recently got a Framework laptop and run Fedora Linux (KDE) on it. Love it, it’s great. I was able to, after some reading, build the Electron app for Linux and use it there.

Recently I started re-investigating Tauri. Tauri is a stack similar to Electron in the sense that it uses web tech (HTML, CSS, Javascript) for the UI with a Node.js / web view foundation.

I had looked at Tauri when I started this app, but at the time Tauri was in Alpha and lacked several features I needed.

I thought, what would it take to port this Electron app to Tauri?

I started on Monday evening, starting with setting up the Tauri app template. It has a Svelte option and was easier to set up the two than Electron had been.

From there, however, the youth of Tauri started to show itself. Often the biggest speed-bump to getting things changed was the lack of documentation or examples.

Admittedly part of this is going to fall on me and my skillset.

It took two evenings to get things mostly set up. The Svelte UI worked just fine, and I didn’t have to change anything, save for a single CSS mod. It was really just the hooks back to the operating system that needed changed, and the quirks that came with it.

For example, the functions to write txt files in Electron call back to the backend, but can be called from the Svelte files.

In Tauri they live in the frontend with the right plugin loaded, which makes them easier to set up; however, they can’t live in the Svelte files, and so I had to make a util.js file to hold those type of functions. This wasn’t obvious from the documentation, and it took trial and error to figure out why this wasn’t working.

One of the advantages touted of Tauri is the smaller file size. The Electron app is about 65 megs. The .deb (Debian Linux file type) version of the app was 4.6 megs!

But. Because there has to be a but. Tauri does not export to RPM (Fedora Linux file type). Instead it does an appimage, which is an all in one file that runs on most Linux distributions. It was 80 megs in size.

Tauri did use less ram, 165 megs v 230 megs.

My port was only about 80%. It works, but lacks some things like a menu, spell check, remembering window size, things that I have no doubt could be set up with some more work, but were not as straight forward to set up as they had been on Electron. Again, this is probably a combination of my experience and the documentation.

I plan to write up the apps themselves independent of the framework, so more to follow.

How To Get me to try? Make it easy to leave

This is going to sound counter initiative to some business minded people, but the best way to get me to try something is to make it easy for me to leave that thing.

Easy to export my data. Easy to cancel the account; delete the account. Easy to cancel the subscription. Easy to leave.

Newspaper subscriptions are the top of the list for this. Would I subscribe to a newspaper and read it regularly? I have no idea because as a rule it seems you have to go through a very complicated process to cancel. Sign up is easy! Cancelling? Oh, you have to call a representative during ‘business hours’ who is going to take 30 minutes of your time (after the hold time) to try to talk you into staying before transferring you to the person who can cancel you.

sigh.

I was thinking about this when I was reading about iPhone tools to move from Android to iPhone. While the tool to make it easier to come over to your side is useful, it made me realize the other way would also be just as important.

What if I don’t like this thing? How can I get my stuff out? And if I can’t transfer, move, shutdown, delete, am I going to actually use the product, the software, the phone, to its fullest? No. I’m not going to risk it entering into my life.

If I am going to try your… thing, your service, your app, your online whatsit, there is a chance I am not going to like it. And that’s fine, not everything is for everyone.

But, if I can’t leave, I’m not going to come in. I can’t risk it.

By giving me the clear path to the exit door, rather than encouraging me to leave, it gives me a sense of security. If I don’t want to be here, I can go, so I am going to stick around for a bit and see how things are. I’m going to try this, honestly try it, because I know I can leave.

So show us the exits. Show us the door. Show us the way out. And you’ll be more likely to get us to come in.