Software Is Everywhere
"Software is eating the world." Have truer words ever been spoken other than these words by Marc Andreessen?
I've recently been immersed in a number of home automation projects (lights, heating/cooling, presence detection, and more). I was reflecting on what made all of these automations possible: the drastic increase in the amount of software present in the home. As I was reflecting on this, I realized how different my house is in this respect compared to the house I grew up in.
Now, I'm not saying I'm old. More like, the rate of digitization in the world around us has happened at such a pace that even in my short lifetime, the changes have been deep and wide.
This blog post is a tour of things in my house that are software operated that were not software operated in the house I grew up in. For my purposes here, I define "software operated" as any device that has software or firmware that is upgradable either by me or through an over-the-air process that the device or its cloud service initiates. I'm leaving out "obvious" items like laptops, tablets, and mobile phones.
Alarm clock⌗
My current bed-side alarm clock is a Logitech Squeezebox Radio. It's running a small Linux distribution and is controlled via an instance of the Logitech Media Server (LMS), itself running Linux. The Radio is fully programmable via the LMS, allowing setting multiple alarms, playing music, and more. There used to be a mobile app for interacting with Squeezebox players, but that went away a while ago as the Squeezebox platform is end of life. There was a time when I had a number of Squeezebox devices around, but I have long since jumped to Sonos. The Radio is the last one I have.
Growing up, my alarm clock was a simple digital clock. Unbelievably, you had to
remember to set the switch to the Off
position when you went to bed Friday
night to avoid being woken up early on Saturday! Gasp! And the clock was just
that: a clock. It had no concept of a calendar and didn't know the days of the
week.
Stereo⌗
Wi-Fi and wired Ethernet connectivity, small physical footprint, cloud connected, and of course, a mobile app. If I hadn't titled this section Stereo, you might've thought I was talking about a microwave (which itself could also be on this list), but I'm talking about my Sonos speakers. The app will occasionally show a prompt that a "system update" is ready which will reboot the speakers (I'll write that again: my speakers need to reboot) as the update is applied.
Growing up? AM/FM tuner. Infrared remote control. Dual tape deck. Six disk CD changer. What a system.
Headphones⌗
These days I'm using a pair of Bose QuietComfort headphones. While poking around in the Bose app on my iPhone, I found a software version number for the headphones. Sure enough, you can initiate a firmware update for the headphones. This is likely common practice now. Apple's AirPods are quite sophisticated and automatically receive firmware updates via Bluetooth.
I have no idea what I used growing up, but they certainly did not do anything like this. Wire, two speakers, some metal to hold it on your head. Job done.
Holiday light controllers⌗
I've built a handful of LED light controllers using ESP8266 and ESP32 micro controllers with the excellent WLED software. This software has a rich API, built-in scheduling, and support for multiple light patterns and colors. The lights are programmed to come on at sunset, and off at sun rise. I change the light patterns and colors from my mobile or tablet.
When I was growing up, our holiday light controller was two separate components: a timer named "mom" which would instruct an operator named "dad" to go physically plug the light strip in.
Irrigation controller⌗
My in-ground sprinklers are run via a controller that has a touch screen and connects to a cloud service. I can control irrigation via the touch screen, but primarily you use the company's app on my mobile phone and tablet.
We didn't have in-ground sprinklers growing up. We had a hose and a sprinkler. We also didn't have an LCD touch screen, Wi-Fi connectivity, or cloud services to set watering schedules.
Light bulbs⌗
I have a few Philips Hue bulbs in the house. You can turn these on/off, set brightness, adjust color, and more via the Hue app. Within the app, you can initiate software updates on the bulbs.
On a side note... if I ever find myself doubting that software is taking over the world, I just remind myself that light bulbs have software on them. Light bulbs!
Light switches⌗
I've installed a number of smart wall switches where I've wanted to control lights via software (on/off on a schedule, that sort of thing). I've installed the Tasmota firmware on them in order to open up control to third-party systems like Home Assistant.
Growing up? Click on. Click off. Or, you'd just deal with sitting in the dark.
Thermostat⌗
I now have a Daikin One+ Smart Thermostat. It connects to a cloud service, the cloud service exposes an API for programmatic access, and of course it has an app. The thermostat does over-the-air updates.
Growing up, I'm pretty sure our thermostat had mercury in it. You could pull the front cover off and see the bubble with mercury in it.
TV⌗
I have two TVs in the house. One runs Android TV and the other runs proprietary software. Both can connect to the Internet, use online streaming services, and perform software updates.
I remember the day we got our first flat screen TV when I was growing up (I was watching The Ghostbusters cartoon. IAAONG). It was sweet, sweet rear-projection goodness. Those ghosts never looked so good.