Here's some background: I'm a little bit of a tinkerer. Nothing hardcore--but, I do fetishize older computers and anything outside the fringes of mainstream technology. When my kids were in 3rd grade (they're twins), I caught wind of the Kano Computer and decided to get one for their birthday. If you're not familiar with the Kano Computer, it's a Raspberry Pi based hardware setup designed to allow kids (and tinkerers) a hands on experience with "building" and understanding a computer. The kit came with a Pi 3 B+, an LCD monitor, a few USB accessories (keyboard, etc.) and an onboard rechargeable battery. Pre-installed was Kano OS -- a kid friendly operating system designed to give a simplified but immersive desktop experience.
As a desktop computer, though, the Pi 3 was a bit of a stretch--something my kids caught on to a bit faster than I would have liked. The OS didn't really allow for multitasking, and it wasn't really within the capability of the hardware either way: running Minecraft Pi when you've got YouTube and two other tabs open in Chrome wasn't really an option. My kids quickly outgrew the hardware and the OS; it wasn't long before they were on to low end Lenovo laptops running Ubuntu.
Side-note: they still hit limits with their hardware... and I've all but forbidden them to use Chrome (--Vivaldi for the win)! The Kano computer has now been repurposed as a RetroPie gaming console.
So, when the Pi Foundation announced the Raspberry Pi 4, with a whopping 8Gb of RAM and a processor that can clock to 1.5Ghz, I was intrigued. This is on par with the low-end laptops my kids run Ubuntu on. With a sticker price of about 88$, I recently decided I needed one--just for kicks (it was my birthday). I have no clear idea what I'll do with it; I just want to play around with it. And, of course, one of the first things I'll want to test out is it's ability to handle a solid workflow. This will likely become an ongoing blog series, but today I'd like to detail some first impressions. Will the Pi 4 be able to keep up with a web developer's workflow?
First Impressions - The Pi 4 Talks the Talk
After a few quick Amazon deliveries the computer is in working order. Readers with an eye for detail might notice below my subtle addition of a cooling fan to this beautiful computer. It's a sexy addition to the hardware profile, yes--but it was my first investment in testing the productivity of the SBC. Apparently the Raspberry Pi 4 can be overclocked to just over 2Ghz; something you probably won't want to do without "protection". This fan has a relatively quiet hum and the color-changing LED's make my Pi look like something straight out of r/BattleStations. I haven't overclocked the CPU yet, but the potential to do so helps bolster the Pi as a desktop contender.
Also notable on the SBC are the two USB3 ports. This will be another point of interest for anyone with an eye towards productivity. The read/write speed of the onboard microSD reader used to load the Pi's boot disk is considerably slower than the speed you could get from a solid state via USB3. It looks like the Pi will need a firmware update before it can boot from USB3, but it can certainly be done.
Another eye-catching feature on the Pi 4 is the ability to run two displays. For my personal workflow, this is an absolute must. If the Pi 4 doesn't actually have solid productivity potential, the support for two 4K displays seems largely moot, though.
Again, at first look, the Pi 4 certainly talks the talk of a desktop computer.
Walking the Walk - R Pi Software Woes...
The first step in testing productivity is, as you can guess, getting an OS installed. There is a somewhat large list of OSes for users to choose from. Which OS you choose to install on the Pi 4, however, will largely be dictated by two things:
- Your overall hardware setup, and..
- Your intended use
You'll likely find yourself up and running in shorter time if you can give thought to these things before you sit down with your Pi. I, for one, didn't give this even the slightest of thought... hence the following woes:
One of the first challenges I encountered in getting an OS installed was the limit placed by hardware. For my Pi 4, I had purchased a 4 inch LCD touchscreen; I had envisioned a productivity-centered palm sized SBC that I could whip out and log into at a coffee shop when not sitting at my work-desk--how cool would that be? Unfortunately, the LCD touchscreen needed very specific drivers which could only be used with a select set of OSes. Of the options on the table were Kali Linux, a security-centered OS that I've long wanted to play with, Ubuntu MATE, Raspbian (Raspberry Pi OS) and RetroPie (a gaming OS). After a day or so of playing with the driver in Kali Linux, however, it quickly became obvious that toggling between LCD and external displays wasn't really an option and touch capabilities were shoddy at best. If I can find a workaround, I may come back to the touchscreen; for the time being, though, I'm far more interested in testing the Pi's productivity.
"Use" is pretty well defined for me, despite not thinking about it at length. My workflow revolves around web development, and in order to optimize that work I need very specific tools. One of the biggest initial limits on the Pi's potential as a work-station, then, is the ARM-based CPU. Mainstream applications are largely built to run on mainstream architectures--i.e., intel and AMD based x86 chips. There's really no way around this. If you need the Pi to run very specific software, you may run into problems. I found rather quickly that Kali Linux, regardless of this reality, wasn't quite as flexible as I'd like. I've initially abandoned it for Ubuntu MATE--although, the jury is still out on whether that was a good idea: Raspbian (Raspberry PI OS) may ultimately be the best option. No matter what OS I settle on, the issue of app availability is pretty big for me. I'm not particularly interested in adapting to substitutes; if I can't get what I need on the computer, I'll abandon the goal of productivity and repurpose it as something else (a media streamer, for example).
I've yet to look at getting the bulk of my productivity apps onto the Pi, but I can tell in the initial OS setup that there are quite a few apps which will be affected by architecture support. So far, this seems like the largest hurdle in leveraging the device as a desktop computer.
This "availability" hurdle isn't necessarily unique to the Raspberry Pi, though. While I have no problem running the tools I need on my ThinkPad, the reality is that app availability has always been an issue with Linux. I've long resented the lack of an Acquia DevDesktop build for Linux (think Drupal-centric LAMP client streamlined for Acquia's cloud hosting--for anyone who isn't familiar); while I don't have any direct experience, I've also heard that video and audio editors are notably behind the curve on Linux. As software continually moves into the cloud, however, Linux becomes more and more accessible for the "average" user. MS Word compatible word-processors, for example, are essentially moot now that Google Docs is a thing.
In terms of hardware capability, it seems as though the Raspberry Pi 4 is finally crossing a threshold into the "mainstream". As the boards become more popular, I wouldn't be surprised if some of these software issues are ironed out. It may just be a matter of time.
I'll be sure to update here on the blog as I move forward with my own testing.