The Benefits of Cross-Platform Development

xinjs-ui running on localhost on my Raspberry Pi 5, with Github Desktop in the foreground,

The Raspberry Pi 5 is about 40% as fast as an M1 Macbook Air, which means its not much slower than my old 2013 Mac Pro. I/O speeds aren’t great (I’m thinking of ordering an M.2 hat for mine to see how much better it gets). But, really, it’s fast enough for pretty serious work, and, as of a few months ago, it is pretty easy to get both Github Desktop and VS Code installed and running nicely.

So I thought I’d see if I could do dev work on xinjs and xinjs-ui on it.

It works, it’s perfectly fast, and I instantly found an error that never caused an issue on my Mac owing to Apple’s case-insensitive (by default) file system (and I haven’t been coding on Windows because I hate dealing with powershell… bunjs 1.1 might fix that). readme.md had to be changed to README.md in a couple of places.

Nice.

Only downside, the Raspberry keyboard is actively terrible.

Anyway, I thought I’d mention this because way back in the mid aughts I was writing adcode for Valueclick Media who had the (then common) “if it works on IE6 it’s fine” attitude to cross-platform which, as a Mac user, irked me (despite the fact that I appreciated the fact their ads crashed on my computers). I took to testing all my ad code on a Nintendo DS (which had a web-browser card that came with extra RAM and a version of Opera). Anyway, by making sure my code ran on this piece of junk, I could be pretty sure it would run anywhere.

Last year, when I first tested xinjs and xinjs-ui on the Raspberry Pi 400 I found issues that weren’t exposed by testing on Windows or Mac using Chrome, Safari, or Firefox. Now, of course, these issues wouldn’t affect the vast majority of users, but I’ve found that it always pays to make your code as robust as possible.