Building for the Tidbyt

After many, many long years of searching, it finally found me: a relevant social media advertisement. It was for the Tidbyt, a gorgeous retro display encased in wood that, among many other things, can show arrival times for the NYC subway.

On that day, after tapping the ad, I dug in to their website and realized there were more apps — and you can pretty easily write new ones yourself. I thought about it for a day or two. Then I went back and bought it from my computer.

After a small wait, mine finally arrived yesterday. I set it up within minutes via the accompanying smartphone app, and added all the screens I wanted to it. It was an incredibly smooth process. Then, of course, I started writing some code for it.

I knew this device would be perfect for passively displaying information that I’d otherwise have to go out of my way to find. The fact that it can update over the course of the day and doesn’t demand my attention is absolutely perfect for me — even if I still find myself glancing at it, just because it looks so good.

Write.as monitoring app

Naturally, the first use case I thought of was for viewing overall activity on Write.as. With this, I could get a general pulse on how many people were using the platform at any given time, and make an otherwise remote and hidden website come alive more for me.

So I wrote a small service that returns some stats on current usage: recent posts, users, and photos. Then I switched to my computer to work on the code for the Tidbyt app. Here’s what it looks like on my computer, using Tidbyt’s pixlet tool.

Development view of the Write.as Tidbyt app, showing 93 new posts, etc

The layout system they have in place is really easy to grasp — and the examples perfectly cover everything I’ve needed to do: adding images, base64-encoding them, and then pulling in data over HTTP.

It’s incredibly interesting to work with a display that’s only 64x32 pixels. For example when making this app, I’d started by resizing our standard “w.” logo, which turned out fine. But eventually I just redrew it, pixel by pixel, to make it more crisp.

The biggest hurdle was learning the workflow, which didn’t immediately match my expectations. First you write the app, use it to render a screen, and then push that image to the device. Since these apps don’t actually run on the device, I just set up a cronjob and a bash script on my computer to repeat this process for me every so often.

Website hit counter

Next, I thought about my personal site, baer.works. I have a hit counter on that site — a little program I wrote with a simple API. It took just a few minutes to pull in that number and turn it that into a screen I could display on my bookshelf. For a little extra style, I accompanied it with that site’s browser icon.

I’m also using that hit counter on another site, for the photography meetup / community I organize. So I combined both of those into a single screen, with colors from the Photo Stroll site added in. Here’s what it looks like in real life.

The Tidbyt on my bookshelf showing both hit counters, one above the other

Future

Two other ideas came to me while playing around with this device: an app to see revenue from Stripe — one I’d probably develop for the community — and one that displays headlines from an RSS feed. I was honestly surprised to find neither of these developed already.

The trouble with the RSS feed app is that Tidbyt doesn’t allow community apps with fully user-configurable URLs, to prevent abuse from their servers (since that’s where published apps run from). Of course this is reasonable, though unfortunate since more people might find this app useful. But I plan to build it for myself and share the source code anyway. Naturally, I want this app so I can see latest headlines from Read Write.as.

My last thought, since I have a few of these personal apps running now, is to make a desktop program that can manage and update multiple Tidbyt apps. It would (I assume) replicate what the Tidbyt backend does, and what my local cronjobs are doing, but make it easy to self-host and configure. All of this I’d plan to open source and share with the community.

Final thoughts

I’m a really huge fan of this trend away from multi-purpose computing devices — from this to the Freewrite to the reMarkable. We otherwise swim in do-everything computers daily; many of us own two or more, and marketers love them as places to find us and sell us more shit.

To me, single-purpose devices like this are a welcome respite from the trashpile that is modern, internet-connected computing. While less “capable,” in the salesman’s sense that every device must do everything, they feel more fitting to our finite human capacity for attention and focus. They give us connectivity and electro-powers without abusing us, as smartphone and app makers so often do.

It’s joyfully ironic, then, to discover a device like the Tidbyt through an Instagram ad, after that great advertising machine has successfully stalked me over the years and determined I might fit the audience for this product.

But the Tidbyt is a great device for connecting to the digital world without getting subsumed by it. It is what computing should be: grounded in reality (with its beautiful design), and completely focused on a clear, singular purpose. The fact that it’s easily programmable is what makes this a truly perfect device, and I’m looking forward to building more for it.

Discuss...