Developers, Your Software Doesn’t Work Unless it Does What I Want

14 April 2007

Sony IP CameraWe’ve been demoing some new IP-based cameras for two our satellite campuses, Plateau and University. They’re Sony SNC-RZ25N’s, meant for security applications, but work quite well for what we’re intending them for: Low-fidelity interactivity with the pastor/speaker.

The image quality is good, considering the settings and environment they’re set in. They have an 18x optical zoom, as well as an additional 12x digital zoom. They have automatic and manual settings for everything from white balance, to aperture, to pan/tilt/zoom, to codec, to bitrate, etc. I’m really impressed with the features, and quality.

What I’m not impressed with is the software. The cameras are controlled (and viewed) using a web-based interface that relies heavily on proprietary technologies from Microsoft; specifically ActiveX.

Here’s the crux of it. The cameras have two codec modes: JPEG and MPEG. In MPEG mode the video quality is better when using less bandwidth, but requires a PC and Internet Explorer to view and/or control. The viewer and controller load inside an ActiveX object, which cannot be loaded into FireFox or a Mac-based browser apparently.

In order to even view the feed outside IE/PC I have to set the mode to JPEG, which uses more bandwidth, returns a lower frame-rate and quality, and uses Java (via a web-based applet) instead of ActiveX.

For this last Sunday (Easter Sunday) I managed to pull the viewer – only in JPEG mode – into a custom-built page by embedding the Java applet. The result was near the desired effect, as I was able to set a background color and give the feed a label so people could tell which campus it was. (I was also able to embed both feeds into the same page, side-by-side, letting the pastor see both feeds simultaneously.)

I couldn’t embed the DirectX version of the viewer, otherwise all would be good. But it doesn’t matter: The bottom line is that even though these cameras live up to (and even exceed certain) expectations, the software interface doesn’t let me do what I want. In my mind, that’s a deal-breaker.

Developers, your software doesn’t work unless it does what I want.

In this case, all I want is the ability to display the camera feed in an alternate context. Since it’s a web-based viewer, I should, hypothetically, be able to embed the feed in any web page – or, at the very least, be able to customize the interface for displaying in an appropriate context.

It’s amazing to me that Sony shipped this camera in this state. The software is so bad it renders the hardware almost unusable. It’s obvious they didn’t consider such obvious applications as an embedded viewer – otherwise there’d at least be the ability, let alone documentation. Unfortunately, there’s neither, and I can’t help but think Sony wasn’t even concerned about the customers’ needs.

So, again: Developers, it doesn’t matter how long it takes you to create, how great it is, or how many features it includes, your software doesn’t work unless it does what your user wants it to do.