MultiStreamer, a work in progress

Last Wednesday, in the midst of the poor weather, I discovered that the Montgomery County Fire & Rescue Service streams four of their many trunking talkgroups online. But VLC will only open one stream at a time, and while you can open multiple streams at once in QuickTime Player, it’s still sort of ungainly. It seemed to me that there had to be a better way; it would be nice to be able to save and restore lists of streams, and set the volume and balance per-stream, but also have a master control for all of the streams.
MultiStreamer screenshot

The result is depicted in the screenshot above; the code is available here on GitHub. All of the basic functionality actually works at this point, but there are still a number of items in the TODO file. The software uses Apple’s poorly-documented AppleScriptObjC framework, although there is also a bit of Objective-C in the codebase, mainly for interfacing with QuickTime (which is a C API) to do things that QTKit can’t. (As a result, it only runs as a 32-bit application, but this isn’t a serious drawback.)

Incidentally, this is the first application I’ve developed that compiled to native code in quite a long time—while I got my start developing applications using FutureBasic on the Mac (which produced native code), after that I learned Perl and PHP, followed by Java and then Python. All of those are languages which are either interpreted or which compile to bytecode. I have also dabbled in Erlang and even Visual Basic, and they, too, do not produce native code. While the AppleScript parts of this project are not compiled to native code, the Objective-C parts most certainly are.

On the Apple iPad

In some circles, it is considered unfashionable to criticize Apple, because apparently Jobs can do no wrong. This seems to have its roots in the wave of new Mac users who came to the Mac platform only after the iPod and iPhone became a pop-culture fad; for those of us who have been with Apple for longer, Apple is indeed capable of committing wrongs, and the iPad is one of them. For what it’s worth, I am far from being the only one to complain about the iPad.

First and foremost, the iPad commits the same errors as the iPhone—with its closed architecture and use of DRM, it’s defective by design. The real concern is that the iPad may be the beginning of a shift towards what John Gruber calls ‘automatic computers’ where, to continue Gruber’s automotive analogy, it’s as if the hood is welded shut (in fact, Jim Stogdill said the same thing). Computer users should have full control over their computers, right out of the box, and anything less is a sign of trouble to come. We’ve already been there with Amazon remotely wiping books from Kindles; a computer manufacturer having that level of control over my desktop—what I get to read, what I get to run, what I can do with my own property—is an unacceptable notion. As Alex Payne put it, the iPad signals the tinkerer’s sunset, a future where the average person simply can’t just fire up an IDE and start writing code, because the ability to create content, of whatever form, will be vested solely in the few corporations and media conglomerates who hold the cryptographic keys necessary to sign code so it will run on these future devices.

Then there’s the OS. Even if the iPhone OS were completely open, I question its utility on the iPad. People seem to have forgotten that a 1024×768 screen and 400 MHz processor were once decent specs for the full-blown version of OS X, not that many years ago. Of course, dumbing the device down with the iPhone OS is fine if you want something which is useful solely for consuming media—but what if you want your tablet to do more? Sure, Apple’s offering the iWork suite, but then you’re tied to Apple’s cloud, and besides, what if you don’t want iWork? It’s more than that, though; like the iPhone, the iPad can’t multitask. While multitasking might not make sense on an iPhone, it makes perfect sense on a more substantial device, like the iPad. What if you want to run a messaging client in the background while you work on something else, or flip back and forth between a mail client and a web browser? The iPad can’t do it.

On the subject of electronic books, I find it surprising that a company as visionary as Apple would continue to be stuck in the dead-end notion of electronic books, newspapers, and magazines being presented page-at-a-time, with the user ‘flipping’ pages. I have little more to say about electronic books, because most of the written content I consume nowadays starts out on the Web. I see no need to pay a publisher to take a web site, turn it into a book, and then sell me an electronic version of that book. That’s just asinine.