Posts tagged with “web”

As Smart Phones Get Dumber, the Dumb Phones are Getting Smarter

Last week I wrote a rather critical blog post about a line of overpriced junk phones that someone decided to call Blind Shell. It seems that these are being sold on Amazon, or at least I can see a product description for at least one of them, but that still changes nothing. Their overall value can in no way even come close to justifying the prices they want for any of them, and the website is still riddled with enough typos to make a dictionary bleed. That said, I did mention in that post a rather interesting phone simply called a TCL Flip that my phone service provider cells unlocked with a SIM included for around $95 including taxes and shipping, about 30% of the base price before any tax or shipping of the least expensive Blind Shell phone that can be purchased in the States where I live, and the TCL is said to be compatible with every major network in the States, although Visible tells me it's incompatible with their network, but nothing I have ever tried has told me it's compatible, not even the Moto E4 that I know is compatible with the Verizon Wireless network. In any case, these are my findings after using the TCL Flip as my primary phone for about 5 days.

Full Disclosure

I do not receive any commission for most of the links I'm including in this post, but if you do happen to like the cell phone service on the "my phone service provider" link above and you purchase any plan with or without a phone, you will get $25 off your first bill, and I will get $25 off my next bill as well. Still, I don't believe in writing dishonest reviews to get paid, so this one will reflect my honest opinions, both good and bad.

I Can Still Buy a Flip Phone

People tried to tell me that I couldn't have it all, that I would have to learn to love the flat touch screens that grow larger and larger with each passing year, as buttons were becoming a thing of the past. But while this is largely true of full keyboards, the flip phone with a real number pad still exists in 2022, and it's not going anywhere. In fact, it's getting smarter and better as it matures. People also tried to tell me that the removable battery was a thing of the past. But I can prove them wrong once again. In fact, my TCL Flip has a removable and replaceable battery, an SD slot and another thing they told me was going away, a 3.5mm headphone jack. Oh yeah and by the way, it also includes a modern USB-C power/data port, so I have the best of both worlds right on my oldschool flip phone that actually has real buttons and no annoying touch screen to hang up my call if it gets too close to my cheek and the proximity sensor goes wonky, as they are known to do.

Unboxing

The first thing I noticed when I received my new TCL Flip was that it shipped in a very large box, but most phones I have purchased do seem to ship in boxes that are far larger than the phones inside. This one however held a smaller box, but one that was still rather large, although the SIM was inside of that box, a SIM I actually didn't need to use, although I can hold on to it in case I lose the one I have. Inside of that mid-size box was the box that held the phone, its battery and its USB cable and charger plug, and this box was surprisingly flat, although it was wide rather than being thick as many phone boxes are. Aside from the box in a box in a box thing though, the packaging is functional and keeps the phone and its included components protected during shipping, so I really can't complain, since it did arrive undamaged and in perfect working order.

The Charging Kit

First, it must be said that although this phone includes a modern two-way USB-C charging and data port, the other end of the cable and its wall wart are USB-A, like most desktop computers, so they only fit one way. Still, it is possible and relatively inexpensive to purchase a wall wart or a powerbank with USB-C output and a cable with USB-C on both ends, so the included cable is not a deal breaker at all. In fact, since my computer has only USB-A ports on it, I can use the included cable to transfer files to and from the phone with no difficulty.

A Little About the OS

This phone does not run Android or iOS, though I was able to see a little of the internal directory structure using adb, which does look a little like Android. This phone is in fact running a different OS known as KaiOS. Before I ever decided to try out this phone, I saw that KaiOS is supposed to have some accessibility features including a screen reader, though it is still a bit hard to find any documentation of its functionality. The main thing that sets KaiOS apart is the fact that it is forked from the now defunct Firefox OS, so apps use web technologies such as HTML5 and JavaScript, and are consequently very small, with the exception of assets such as images and audio that may be embedded in an app. Some have said that this can cause some performance issues, but although I will dive deeper into that below, I will say at this point that up to now, I haven't experienced as much lag or freezing overall as I thought I would on a phone that essentially runs atop a browser and a Linux kernel.

First Power On

Wow! Someone got it right! The first time I powered on my new phone, although it took about a minute to start setup, I heard a voice coming out of the phone that said: "To enable read out mode, press the left software key." Now this is something that I definitely was not expecting. Usually I have to look up documentation to find out just how I'm supposed to turn on the screen reader, but this phone just told me right away how to do it. The single drawback to this is that it uses the somewhat old SVox Pico voice that we came to know from Android Gingerbread, which although it doesn't bother me, may be unintelligible or less than tolerable for some. It's certainly no RHVoice or Speech Services by Google, but it definitely gets the job done, and is far better than some other voices I heard on small devices and even desktop computers both before and after Gingerbread phones. The setup process went very painlessly from there, having me connect to a wifi network by entering a password via the number pad, tap 2 for a, double-tap 3 for f, toggle uppercase/lowercase/numbers etc using the pound key, stuff like that, then following a few prompts that were mostly all spoken. The worst parts were when the notification about finding out what's in the Kai Store interrupted it asking me whether I wanted the default media location to be the SD card, which can be set later in settings if necessary, and then the little tutorial at the end that just tells me that the right soft key will take me to the next screen. It changes at the end to allow me to press the select button that is in the middle of the d-pad ring, which in this case acts as the OK button. No, I don't yet know what is on those screens, but it didn't seem to stop me from figuring out how to use the phone. After I hit that select button though, it took me right to the home screen, which told me the time and date. From there, I can tap the left soft key, the button in the upper left corner above the d-pad ring, to read my notifications, the select or OK key in the middle of the ring to go to "all apps," or the right soft key in the top right corner above the ring to open my contacts. Or I can just dial a number and press the button at the lower left of the d-pad ring to make a phone call. Yes, it is all set up in roughly 2 minutes, and although an account may be desirable to remotely lock or erase the phone if it gets lost or stolen, having the account is completely optional; it isn't needed even to download apps.

The Basic Apps

Some apps are already included on this phone. These include of course the phone that is part of the home screen, call log and contacts, messages, clock, calendar, the app store that they call the Kai Store, web browser, email, news, weather, FM radio, notes, camera and gallery, utilities that include a calculator, todo list and voice recorder, a music app, maps and YouTube. There are also a few games preinstalled, though I couldn't get those to talk to me, though a couple did make sound and play music.

The Phone

It makes sense to talk about this first, because I for one buy a phone to make and receive phone calls. I thought everybody did ... before this whole "smart phone" revolution got started πŸ˜‚. Using this phone is so dead simple, we're back to the days when a phone was really a phone. I dial a number, hear the touch tone sounds, hit the button near the lower left corner of the ring and it just calls the person whose number I dialed. To hang up, I can either hit the button at the lower right corner of the d-pad ring or just close the phone. Man I didn't know just how much I missed the good old days of the flip phone until I had one again. And it's so satisfying to close the flip on someone and let them hear that nice loud clicking sound that it makes 😈. But there are a few more things I can do while I'm on the phone as well. First, the OK key, middle of the d-pad ring, toggles the speakre phone and the left soft key, at the upper left corner above the d-pad, toggles mute. Those are most important, and work reliably, even letting me know via the screen reader what exactly I just did. The right soft key, upper right corner above the d-pad, offers some other options, including add call, hold call and messages. Yes, it is possible on this phone to text while talking, and it can even be done without having to look at the screen. What's more, a dying feature in Android works much better in KaiOS. This is the conference call. I was able to successfully call someone, add another call, merfge the two, then add another and merge it in. On my Android phone, once I merge two calls together, the add button goes away, so there is no longer a way to add a third call. This feature has been largely dead on Android at least since 9, and possibly earlier, with the exception of TextNow, which allows up to 5 participants in a conference call, instead of the usual 3. Perhaps there is a hidden Android setting that will allow more than 3 participants in a conference call, but I haven't seen it in the native dialer. It seems Google took this out of their phone dialer app. Good that KaiOS still has it. Better, I can once again merge the calls together when someone beeps in, then still get another beep in. I even successfully merged in the second beep. Everything on the KaiOS phone app works as expected, including VOLTE, also called HD voice calls, and some phone features work much better than they have since I had a Nokia 6682 Symbian Phone way back in the day, most notably conference calling. I also have 3 keys above the 1, 2, and 3 keys on the dialpad. These are "favorite contacts," "messages" and "clear." So if I dial something wrong anywhere, the clear key above 3 comes in really handy, as I can tap it once to backspace or hold it down to clear out everything. Favorite contacts, above 1, just gives me a short list of my selected favorite contacts that I can choose and call or text. Messages, above 2, of course opens the messaging app, which I will discuss below.

Contacts

I can still remember the old contacts app from the days of Gingerbread with a full keyboard that included either a d-pad or arrow keys. The contacts app on KaiOS phones is very similar, except that there is no touch screen input, only the d-pad, plus a search function that allows dialing in either a contact name or number and getting the results. Just like on Gingerbread, it does take partial names or numbers, and search results, unlike some reports I have seen, appear to come up very quickly. It's worth noting that I can search using either the T9 predictive dictionary or by tapping the pound key to cycle to capitalize, uppercase or lowercase and tapping out the letters individually, i.e. tapping 2 once for a, twice for b, tapping 5 twice for k, 3 times for l, etc. I decided some time back to store contacts only locally or via my NextCloud, so did not have Google contacts to sync, but I successfully copied my vcard file that has all my contacts on my computer and imported it from the SD card that I inserted when I inserted my SIM and battery. Because my contacts are stored in a vcard file stored on the SD card, I can reset my phone as much as I want and just import the file again to get my contacts back. KaiOS does not erase the SD card when resetting the phone, so everything I have stored there stays. Everything in the contacts app works as expected with the screen reader. I can call, message and compose email right from the app. I can also set speed dial numbers both from the contacts app settings and by holding down a previously unassigned number and selecting the contact to assign to it. Overall, this is a much more intuitive experience than working with the touch screen.

Messages

There's not much to say about the standard text messaging app other than the fact that IT WORKS! My text messages are read out to me, and composing is as easy as dialing in either a name or number, dialing in my message via T9 prediction, which actually works much better than it did on the Nokia 6682 that I like to say was probably about the best phone that I had used when I could get a screen reader working on it, before we had phones with full keyboards. I have needed to be aware of the partial words spoken at times with T9, and sometimes I still need to tap out individual letters, but overall, this is a joy to use, and can sometimes be faster even than Talkback's braille input, which somehow gets extra A's into my text, types B's when I want A's, and other things that make the experience less than ideal. I mean really, when I can quickly dial in "8447 47 2 8378" and "This is a test" comes out that quickly, and I don't have to hunt and peck e, ... v, ... e, ... r, ... y, ... space, ... s, ... i, ... n, ... g, ... l, ... e, ... space, ... l, ... e, ... t, ... t, ... e, ... r, or dealhtae bll the eaxtraa letters and dots, well, let me just say that T9 is much better than most of that crap, and it works nearly everywhere. Even passwords that have to be tapped out character by character are easier to enter than even the braille input that sometimes has to be spaced and backspaced to get the symbols right. The only thing I didn't try in the messaging app though was adding multiple recipients, though I suspect it will work in much the same way as adding only one person, although I did notice that group messages seem to come in under individual people's threads instead of showing up as a group, so replying to the group may be more difficult.

Email

This one needs a little work. Setting up an account was very easy, although I only set up my own email that I run myself; I did not try to set up Gmail with the email app, and I'm not sure how well that will work, considering the new limitations on Gmail IMAP access, which requires random generated app passwords now that I cannot choose myself. The problem I ran into with the email app is that I can only read parts of text email messages. HTML messages don't have their snippits read aloud, and opening either text or HTML messages only told me who the message was from, its subject and said "message body" without telling me what was in the message body. Scrolling to a link did change what the OK key does, and it opened the link I tested, but other than that, the email app, unless I missed something, seems less than usable in read out mode.

Clock

So I can't add alarms. This means I have to use what ships on the phone already. But there is a good enough selection of alarms. I just want to add one and can't do it from what I've seen, unless there is a secret way of doing this. Also, I have no ascending volume, meaning that it will not start quiet and get louder over a period of time, which is something I definitely like in an alarm. With this out of the way, the alarm clock works as expected and is highly usable with the screen reader. Timer and stopwatch are also usable, though in order to find out how much time is on the timer, I had to shift left to alarm or right to stopwatch then shift back, then close the phone so that it would read out the remaining time completely, otherwise it chatters and doesn't fully finish the time. Stopwatch does something similar, although it simply chatters as it runs, and stopping it reads out the elapsed time. Closing the phone also stops the chatter so that the stopwatch reads out the current elapsed time without stopping, and I can just open and close the phone to hear the time red out. Now going back to a running timer, I can also hear the remaining time just by opening and closing the phone, so the shift must only be done once after starting it I think. Sadly, it doesn't seem possible at this time to run multiple concurrent timers or save preset timers and name them. Still, the single timer works well enough in most situations.

Calendar

Again, I don't use Google on this phone, so I didn't see how well it integrates my Google calendar, which I rarely use, usually only if I'm invited to an event that goes through the Google calendar. And although the KaiOS calendar app is said to support caldav, it indicates the server is unavailable when I try to add my NextCloud calendar. So I use local calendar storage instead, which is still probably better than storing my calendar events even on my own server. The lack of a .ics calendar file import is a bit off-putting, but it is easy enough to create events I guess. This is probably best for those who don't have a "cloud" calendar and just want events on their local devices. I have seen that there may be apps that can be sideloaded that will add better caldav support, or that maybe updating certificates on the phone in some way will help get this working, but for now, either of these options is beyond the scope of this review, which is to say that I'm only really focusing on the stock apps, and will probably work with the technical stuff at a later time. For now, it's best to just use a Google calendar, which is probably fully supported, or don't do any syncing and just create and store calendar events on the phone itself.

The Utilities Folder

This includes a calculator, a todo list and an audio recorder. The calculator is your basic four-function calculator, and I got it to work perfectly. Numbers dial in just like dialing a phone, and the arrows on the d-pad perform operations: up subtracts, down adds, left divides and right multiplies. The left soft key clears the current value and the right soft key clears everything. The OK key reads the result of the calculation, although a bug makes the screen reader say "microphonetoggle" before reading the result at times. The recorder is very basic also, but does include two audio settings, 8KHz and 44.1KHz. It seems it records opus files, which is definitely a good thing, although it records only using one microphone where the phone actually has two. In order to keep the phone's speech out of the recording, I had to plug in headphones or use bluetooth. Covering the speaker temporarily also helps attenuate the speech, though it doesn't completely silence it the way a bluetooth connection or wired headphones would do. The screen stays on while recording, and closing the flip stops and saves the file. The only problem with this is possible battery life issues, since the backlight will stay on while recording. Audio recordings can be shared via bluetooth, messaging or email right from the recorder app. The todo list is a nightmare though. Of all the apps on the phone, this one is the least usable with the screen reader. I was able to I think create a couple of tasks, but could not figure out what in the world I was doing because the screen reader would not say enough. I did accidentally delete the tasks I had created, but accidentally deleting them means that I couldn't figure out how to delete them intentionally. Well, I think the right soft key followed by the down arrow, the OK key and the right soft key does it, but that was trial and error that did that, not actual feedback from the screen reader, so the todo list is a non-starter unless or until it can get an update that fixes its screen reader interaction.

Camera

I didn't play much with the still camera, but the video recorder is pretty nice. It does record in some sort of 3gp format that uses H.264 and AAC instead of the webm VP8/opus that I would like, but it records stereo audio from two very well-positioned microphones on each end of the open phone when the video resolution is high. The geek in me uses the video camera to record audio and just takes and copies the file to the computer, using ffmpeg to pull out the audio, deleting the rest, unless I want video. I only wish the audio recorder could record stereo opus files in the same way. I find the camera pretty easy to use. The left and right arrow keys change the mode between photo and video, or this can also be set using the right soft key options if you need the mode to be read out before changing it. The shutter or recorder is activated or toggled respectively using the OK key. It's only a 2MP camera, and it seems it has no flash, but although I can't really comment on the quality of the video, the audio is really not bad, especially since it records in stereo using both microphones.

The Browser

This is where accessibility gets a bit painful. It is in fact possible to browse the web in most cases, and I found that I was able to read my own website pretty well once I knew what I was doing. But still, unless I'm missing something, it's all trial and error. There is supposed to be some kind of accessibility cursor, or at least I saw mention of one, but unless it's the one that is on by default, I don't know how to activate it, and I had to read documentation on the shortcut keys elsewhere, as the window that pops up when I press the pound key tells me what they do, but doesn't read what key I'm supposed to press, and nothing mentions an accessibility cursor or screen reader cursor. The default cursor requires that I move left to right, down, right to left, down etc in order to hit what I want to read. Even my own website, which follows accessibility guidelines simply by not breaking them has a little trouble on the KaiOS browser due to the hit or miss nature of the arrow scrolling, which I would expect to more closely emulate tab, shift+tab, up and down or similar, but instead seems to only read an element when it stumbles upon it. This problem also affects other apps such as Youtube, since many such things are just websites that have been automatically pinned to the apps menu. The browser actually does allow pinning websites to the apps menu as well as to its own home screen, so if there is a website that you can get working well enough to use it effectively, you can always pin it to where you want it. Just be aware that the pinning option speaks, but where to pin does not, one of a small handful of similar bugs, but selecting the pin option and then pressing the OK key pins to the home screen of the browser, whereas selecting the pin option, hitting the down arrow key and then pressing OK will pin to the apps menu. In short, the browser works, but it needs a lot of work, unless I'm missing something.

News and Weather

Sadly, I can't get either of these apps talking properly or working properly. I was able to allow the weather app to access my location, but it's not offering me a weather forecast or conditions, and it still asks me for a city name, entering my city still seems to do nothing. The news app is doing nothing at all for me, and I didn't get BeMyEyes or Google Lookout from my Android phone on it to see whether it really was doing nothing or simply wasn't talking.

Note

The notepad app is working pretty well with the screen reader. I was able to write multiple notes, read them, share them, delete them, etc with no trouble at all. I would say editing is a bit problematic, as the arrows won't tell me what line or character my cursor is on, but as is expected on small screens, it's great for jotting down short text notes that can be shared via messages or email. Like any of the other apps where text can be written, long notes are also possible, just know that editing may be somewhat of a pain point in any app at this time.

FM Radio

Yes, since this phone still has a headphone jack, it does have a real FM radio. It seems to be just as sensitive as the FM radios on more expensive phones, and I was able to use it with the screen reader as well, although the d-pad would have made the radio easy enough to use even if it didn't work with the screen reader. It doesn't have more advanced functions like recording from FM, but it's not bad for what it is, a cheap but effective FM receiver built into a phone.

File Manager

This is the basic but functional and accessible file manager app. I can copy, move, delete and open any file on either internal storage or on the SD card. It sees all the same files I can see on the computer when I connect the phone. There's not much good or bad I can say, except that it works well.

Music

This is the most basic music app. It will play albums, artists, genres, etc, but it doesn't play from the folder structure of the SD card or internal storage. Still, it works with the screen reader, and all available options and settings speak. FOr folder playback, there is another player that can be downloaded from the store, and it also works well with the screen reader, as long as you don't mind ads popping up and having to use the clear button to back out of them from time to time.

Kai Store

There's not much in the KaiOS store at this time; it's mostly games. But most everything I tried worked really well, and nearly if not all options speak. I am especially fond of K-Music, which is the music player I mention above that allows me to play anything stored in only one specific folder if that is my choice, Radio Waves, which allows me to listen to radio stations from around the world and LibriVox Audiobooks, which is exactly what it says.

Conclusion

It's not perfect by any stretch, but about 80 to 90% of what I tried works well with the built-in screen reader. If like me, you wish that you had never seen a touch screen, you want something with real buttons, a headphone jack, an SD card slot and a removable battery that talks and has the ability to run apps, look no further. KaiOS will only get better with time, and the TCL Flip is one of the best KaiOS phones currently on the market, and is certainly one of the least expensive phones available unlocked in the States, although other KaiOS phones do exist in other countries as well. Yes, it's certainly missing some apps we could use, but with time, these may become available as well. If you're in the market for a dumb phone that is capable of becoming smarter, if you think today's smart phones are becoming so smart that they're actually getting dumber and you wish you could just go back to the basics, but you need your basic cheap flip phone to talk to you, I can now truly say leave the Blind Shell on the blind shelf and just get a TCL Flip for less than 30% of the price of the least expensive Blind Shell model available in the States. There are certainly some things I need the Android phone to do, but there's nothing better than being able to just open the phone, dial a number, start talking and then close it, or open the phone, send a text message and close it, all while being able to do more advanced things as well, and all with a voice that talks me through it all. Question: Android or iOS? Answer: KaiOS. I love my KaiPhone.


I'm back!

It's been a very long time since I posted to my blog, but I'm back 😊

I had been considering moving this blog away from WordPress for a long time as well, but I guess it took actually losing it to an unexplainable "critical error" to finally get me to make the switch.

The Problem

I wanted to upgrade my server from Ubuntu 20.04 to Ubuntu 22.04, which normally is an easy process. But I have been managing most of my server's functions through the ISPConfig3 hosting control panel, and unfortunately it still does not support the latest Ubuntu LTS release after 6 months. Looking for alternatives, which are few in number, I stumbled upon Hestia Control Panel, which is a fork, or could probably be better described as the continuation, of the venerable Vesta Control Panel, but Hestia Control Panel is still very actively developed, and it supports PHP 8.0 and 8.1 as well as Ubuntu 22.04 LTS. Testing Hestia Control Panel on a couple of non-production servers first, I found that I like the ease of install, the cleaner interface and even the user directory structure of Hestia Control Panel much better than the ISPConfig 3 control panel I have been using for many years. So I decided to upgrade and migrate both my shared host and the server where I run my own websites to Ubuntu 22.04 and the Hestia Control Panel.

I had a few minor hiccups getting my sites and services installed and working, mostly due to differences between ISPConfig's concept of clients where each web domain is a user vs Hestia's concept of users that are real Unix user accounts on the system with their own web and email domains, DNS zones, etc. But in the end, all went fairly smoothly, right up until the time I tried to restore my blog site. Imagine my frustration after I restored the files and the database, opened up the website and was greeted with:

Critical Error

There has been a critical error on your website. Please check your site admin email inbox for instructions.

along with a link to a page that was supposed to help me troubleshoot problems with WordPress, but that in reality took me nowhere at all. So I looked in my error logs and I was able to track the problem to a host of various function calls that had too few arguments. Crazy I know, but those arguments must have been aimed at me instead of the functions that wanted them, seeing as how every time I wanted to load the site, it argued with me instead of loading the page I wanted. So I tried deleting and recreating the database, deleting all my WordPress files and performing a clean install, telling it to use the database I already created. If I told it to use the database I had already created and imported from my backup, the same critical error greeted me. But if I deleted the database, told the panel installer to perform a clean install and create the database automatically and then tried to restore the backup to the existing database, opening and even reloading the page a number of times showed me the same sample that I saw after the clean install. Apparently restoring my backup had absolutely no effect after installation. Of course just deleting and recreating the database and restoring the backup at that point greeted me with the infamous critical error again.

So I decided I would try to outsmart WordPress by importing my RSS feed into it. In a flash of uncanny brilliance, I headed right over to the Wayback Machine, plugged in https://kyle.ga and wouldn't you know, the calendar popped up and I was able to open a recent copy of my blog that they kept for me. From there, I just opened up the link to the feed, which took me to another calendar where I could select the latest version they had, which happened to be last built near the end of April 2016, which included my latest post up to now.

But wouldn't you know, the fun was far from over. I once again deleted the database and files and performed a fresh WordPress install. I then logged into my admin page and proceded to install the RSS import plugin. All went perfectly until I actually imported my feed. At this point, I received a rather nasty-looking email about something going wrong, and right there on the admin page, sitting pretty as you please was this really helpful message:

Critical Error

There has been a critical error on your website. Please check your site admin email inbox for instructions.

I know that insanity is doing the same thing many times expecting the same result, but call me crazy, I went through the whole process one more time, and you guessed it, the same pretty words appeared on my admin page and I got the same helpful email. So after 10 long and somewhat productive years, I have decided to break it off with WordPress. Buh-bye! It's not me, it's you! Let's not even be friends, OK?

Getting New Blogging Software

Imagine my surprise at how hard it is to find free and open source blogging software that is not WordPress, and is easy to install and use, with the added requirement that I need to be able to import the feed that the Wayback Machine preserved for me.

Ghost

In looking for good alternatives to WordPress, of course the first thing I found was the very popular Ghost. But the problem is that although it is free and open source, the last thing they want is to make it easy to self-host, because that of course would cut into their revenue stream, which is derived from their hosting service, and since I'm already paying for hosting, I don't need to double my hosting cost just for a blog that I can host on what I already have. Yes, they do have an official Docker image, but I didn't find it easy at all to get Docker going, especially since that would require a reverse proxy to yet another web server and all. So it may be easier than I think, but that seemed to be a non-starter, so I left it alone.

The Flat-File CMS

I stumbled upon this thread on Reddit that was 5 years old, but was looking for exactly the same thing I needed, so I thought it could maybe still help. I was right. In one of the many comments, someone mentioned Grav, and I found that in my Hestia installer, so I thought I would give it a shot. It was last updated about 6 to 8 months ago, but it did win awards for being one of the best flat-file content management systems for several years, so I gave it a shot. Well, it does look OK,and I think I could have found a plugin or theme to make it look like a blog, but in order to edit pages and create posts, I have to log into the server over ssh or use my panel's file manager to edit files on the server itself, and then I didn't get very far with the admin dashboard, as it kept trying to sell proprietary "premium" addons to the tune of $50/year and up. So I really felt like they wanted the open source software to be a marketing platform to hopefully get me to buy anything that would be useful, without giving me the freedom to study, modify or share the useful parts ... no good. There are other flat-file CMS's that probably can be made into decent enough blogs, but although they didn't try to upsell, it looked like I wouldn't be able to edit my posts or pages on the website itself, or wouldn't be able to import my RSS feed, although I may possibly come back to this at a later date; perhaps I missed something.

Static Site Generators

This same thread mentioned several static site generators as well that I tested. I tried Hugo, Nikola, and Pelican. I decided to avoid Jekyll, since it seems too closely affiliated with Microsoft's Github; I don't think it's just hosted there, and ... well ... Ruby ... I'm not a fan. The nice thing about static site generators is that they run on my local computer and then I deploy the generated website to my server via rsync. This does mean though that although I can edit my posts and pages the way I want using the editor I want, much like the flat-file CMS, I am pretty much tied to the computer, as there is no way to edit my files from a web interface or an app. They do however all have servers that show me the entire site as I build it, so that I can edit things that show up wrong before deploying the website. The other nice thing is that I can completely blow away a site generated with one static site generator and replace it with the same site generated with another.

Hugo

Well, Hugo was rather nice, since its test server actually built my site immediately as I made any changes to the source files. This real-time build seems to be unique to Hugo, although deployment doesn't take it into account; it still requires a build. I did rather like the theme I chose, as I found one called Arabica, but Hugo seems to have a bit of a learning curve to get the site into a useful state. No, I don't want to have to manually download a theme, and I don't really want my whole site to be a git repository either. Having the options is nice, but I didn't want to have to start from zero and try to find stuff, I just wanted to look at the options available and have a place to start. Well, I stuck with it long enough to try to find out how to import my feed, and well, that was a bit more difficult than I liked as well, so I abandoned it for now.

Nikola

I started playing with this maybe a year or so back, but didn't really get into it much. I like Tesla, but I didn't wanna have to be Tesla to figure out my blogging software. Well, it turns out it's not so difficult as all that after all. It is a bit longer and more involved process than logging into my blog's admin panel, writing a post and submitting it, and it does still tie me to the computer to actually post something, but I do have the option to use a text editor on my phone, or even NextCloud Notes, to write my post anywhere, connect my phone to my computer, or sync it to my SkyDisk, and then just put the file in the right place on the computer and rebuild and deploy the website, which takes less than 5 seconds in total. The best thing about Nikola is that I was able to import my 10-year-old RSS feed that hasn't seen a post in 5 years right into it, and it very happilly copied every post in its original HTML format right where it needed to be. I will need to fix a few links probably, and there are some posts with no titles and it just wrote in "No Title" for those, but overall, it went very smoothly, and even the music I had recorded still plays with no issues at all. Thanks to the WayBack Machine preserving my feed for me, I have every post I wrote on my blog going all the way back to 2012, and they still even have the share buttons that I probably need to go ahead and remove, or replace with either a Nikola plugin or a theme mod that I'm certain is available. The only glitch I found was that after I imported my feed, I could only post in HTML format, as for some reason, installing the plugin somehow disabled the Markdown compiler. So I cheated a little and just created a new site configured for The Kyle File and moved all those posts from the old site to the new site, and I can write posts and pages in Markdown once more.

But now we have a problem. Nikola, like other static site generators, integrates with very few comment systems, and only two of them can be self-hosted. I tried for hours to get Commento working, even though they tell me it's supposed to "just work." Yeah so much for that. I guess if just works if you want to fool around with Docker and such, but their dependencies are so old that if you want to use it without all the container mess, it's impossible. I spent hours and hours trying to figure out why it was unable to authenticate to the Postgresql database it had me create, only to find out that it relied on a version of Postgresql that was like 3 years old, and couldn't even talk to the version in Ubuntu 22.04. So my only other choice was Isso. What a mess! I pounded on that thing for days trying to get it working, and no joy whatsoever. I even tried putting it on a different server, but no matter what I did, I only saw a comments header with nothing underneath it, and no way to write a new comment. Project abandoned. Seems Nikola makes great websites with nothing other than Markdown text, but if I want a blog and don't want to rely on a third-party proprietary comment system or an open source comment system that is near impossible to self-host, Nikola makes for a lackluster blog.

Pelican

Well, that was a non-starter. All I wanted to do was to import my feed. But anything that didn't have a title was simply thrown away. It didn't ask me what to do with it, it didn't even just create "No Title" or "Empty Title" posts. It simply trashed everything it didn't know what to do with. I spent all of 10 minutes on it before it went to bye-bye-ville.

Enter the Bird

The Reddit thread I have referenced here gave me one more option to try. It's not a flat-file CMS, nor is it a static site generator. It's just a plain old simple blog, although it can be extended to create all kinds of things. Its primary purpose though is blogging, so knowledge of theming is important to go beyond the blog. This really nice little web app is called Chyrp Lite. Although it does require a database, the first question it asks is whether your database is MySQL, Postgresql or SQLite3. So based on how easy it is to move an SQLite3 database from one computer to another, or to copy it, or whatever, since it's a file and doesn't require a TCP connection to a server in order to access it, I chose the SQLite3 database. The rest of the installation ran very smoothly, and my new blog site ran very fast. The main hurdles had yet to be jumped however: importing my feed and allowing comments.

Well, here I thought we were gonna have another non-starter when it came to importing the feed. There is an importer, but it wants an Atom feed, and all I had was RSS. Of course it complained about that, so I tried converting the feed to Atom. Same old story, it didn't like it. So I let Nikola, which had happily converted my RSS feed to separate HTML posts, generate an Atom feed for me. Strangely, Chyrp Lite didn't like that either. Either it had errors about invalid keys I couldn't understand, or it complained about the export file being invalid.

Then I remembered something very important. It seems I still had a blog at Tumblr that had apparently been kept updated all the way up to the time I stopped blogging in 2016. By this point, I saw that there was an extension to Chyrp Lite that is disabled by default that is a migrator from WordPress, Tumblr, TextPattern and Movable Type. Well, since I had Tumblr already, I gave it a shot. Bad, bad, bad! Nothing but errors! It complained about my Tumblr URL being invalid, even though I was logged in and looking right at it. I was ready to throw in the towel and get WordPress back, since I knew it could import from Tumblr.

WordPress Fails Again

I love my new hosting panel and the way it organizes things. I can put several full public_html.* directories inside the main folder of my web domain, and just rename the one I want to use to be called just public_html. If I want to go back to something I used previously, I just rename public_html to public_html.whatever and rename public_html.oldsite to public_html. So this is what I did. I renamed public_html to public_html.chyrplite and created a new empty public_html directory and let my Hestia Panel install WordPress for me. But then when I tried to import my Tumblr, it asked for keys that I already saw and was able to copy and paste, but it complained about the authorization signature not matching the expected value. Well, I thought this was due to the fact that when I initially connected The Kyle File, I had it on a different domain. So I went and registered a new app, just like WordPress told me I would need to do. Nope! Again, the new authorized signature didn't match the expected value. So I had one of two options as I saw it. I could rebuild one post at a time into Chyrp Lite from the backup that i was able to download successfully from Tumblr, or I could just put my Nikola site back up, say to heck with comments, and just never touch it again, leaving it up for historical purposes only, even though the Internet Archive already had a decent enough historical copy.

The Puzzle Is Solved

So I tried one more time to find a way to export Tumblr to something I could import into Chyrp Lite, since I had pretty much decided that this is what I wanted; despite its import issues, it really looked like the best of everything I had tried up to now. And so I somehow stumbled upon this article. Who would have thought that even though importing tumblr to self-hosted WordPress doesn't work, even though they have both been owned by the same company for nearly three years now, transferring Tumblr to wordpress.com would work so well? As it turns out, the feed I got from the Wayback Machine was only about a tenth of the posts that I had actually made over the years. So I successfully got my Tumblr imported into a WordPress site hosted at wordpress.com, but not visible to the public, and then immediately trashed the "Hello World" post they put on every site, and went in and got my media and my xml file. I was able to switch back to Chyrp Lite very easily, and then tried to import the WordPress xml. Well, it complained again, but this time it was because I had a trashed post that I didn't delete. I simply deleted the item from the xml file using a text editor, and the import was quite successful. After just a little more time to figure out why the comment form wasn't being displayed, I traced that to a permission issue, simply granted the permissions to my visitors that I wanted, that allows anyone to post a comment if they solve the easy math problem that pops up, and just like I wanted, comments appear in the moderation queue for me to approve, deny or delete. And even after all my posts have been imported, this blog runs much much faster than my WordPress blog. So now I can delete all my other attempts, along with my wordpress.com site, and maybe even my Tumblr as well, especially since my posts to Talkabout can show up on here as well, since it supports XMLRPC.

Conclusion

I know it's been quite a while, but I'm back on a blog, hosted on my own server using Chyrp Lite, and I don't think I'll be looking for new blogging software any time soon. It runs very fast, offers a fair number of client/server-based or file-based database options, it's clean and simple, easy to use, and most importantly, it follows w3c accessibility standards for use with assistive technologies right out of the box. What's not to love! I have 13-year-old posts that made it onto the new blog, and hope to be able to post for the next 13 years or more. Just keep my new favorite blog software updated and I'll be happy.

Update

In the original version of this article, I mentioned how difficult it was to self-host some software, e.g. Isso Comments and the Ghost blogging software. However, because Hestia Control Panel runs an out-of-the-box nginx reverse proxy to Apache configuration by default, it is much easier to set up non-PHP web software than I had initially thought. All I ended up having to do was to copy the nginx default templates for both regular http and for ssl, giving them the name I wanted, edit the ssl template to proxy pass to http://localhost:<port> specifying the port I chose for the web server built into the software I wanted to run, then choose that template in the advanced settings for the web domain. I was able to see Isso comments on a Nikola test blog, and I was able to very easily set up several other web applications written in Go, including gitea with very minimal difficulty. I did try Ghost initially once I figured out how this reverse proxy thing worked, but this still gave me nothing but trouble, as apparently the version of node.js available from the Ubuntu 22.04 repositories is far older than what Ghost requires, and I had already decided to run Chyrp Lite here, so I just didn't try much harder to get that working. Still, seeing how easy it really was to get the reverse proxy working as expected on my current setup opens up a whole new world of web applications I can run quite easily now. As I mentioned, I already spun up my very own gitea site, so I can move off Gitlab or just let it lay dormant now; I can manage my own git repositories, even for my websites, all on my own server, using entirely free open source software. As for the blog, I put too much time into exporting, migrating, importing and updating everything in Chyrp Lite to even continue looking at any other solutions, and I know that I have found the best for my needs already, so I'm definitely sticking with this. I'm just very happy that I am able to do much more with my server space than I initially thought possible; this experience has taught me much.


Web hosting re-evaluation: What should I do?

Would you believe it? As soon as I get my main website back up on a new host, the server it was on is once again online after having been down for 2 days. I really can’t complain though, the original server has been online longer than any other I’ve used.

So now I have several options. I can

a) switch the DNS A records for kyle.tk and picospeaker.tk back to the server I know to be reliable, with the exception of the last two days
b) leave those sites on the new host and transfer the rest, one per day until they are all transferred (I can only create one website per 24 hours, I guess to prevent spam)
c) use my dns service to provide failover, a to b or b to a in case something goes wrong again with either one, the main problem with that being the difference in the way the hosting providers handle mail
d) ditch the whole shared hosting idea and just buy a vps, maybe with a shared hosting DNS failover on a free host, likely a or b, as a backup for the important stuff

Thoughts, suggestions I haven't thought of, or recommendations for a reliable, inexpensive, small vps, preferably with unmetered bandwidth, anything else, leave a comment. Thanks.


Just got the audio on my website fixed up to use Opus with a Vorbis fallback. Yippee00 for free formats!


I really love working with Kloxo. Best hosting panel ever. Try it for your own site. http://hostingpad.tk