Thinkflood Redeye follow-up: dependency management 101
So, why does it not surprise me that my problem with the Redeye turns out to be down to dependencies? And here people keep telling me dependency hell is a Linux problem... So I took a closer look at the crash reports Windows gave me when the 'installer' app crashed - Windows has something that's sort of like abrt/apport, but more black box-y - and noticed that, every time, it seemed to be crashing on a .NET function. Not the same one, but always a .NET function. Hmm. So I check Windows' Add/Remove Programs list (good God, anyone who thinks PackageKit is a bit ropey should remind themselves about that thing) and there's nothing to do with .NET there. Double hmm. So I go and get the .NET Framework (apparently this is what you call shared libraries in Microsoft-land) from microsoft.com, install it, and halle-freaking-lujah, finally, the 'installer' app manages to update the firmware on the box and change the network configuration. Apparently, this app requires the .NET framework, but nothing enforces the dependency in any way. It doesn't even check that it's present before trying to do anything, it just blows up. I reported this to Thinkflood, who told me "We don't provide checks for the .NET framework in the installer software because all versions of Windows that Microsoft currently still supports automatically have the .NET framework built in" - well, no, that's fairly clearly not true. Or if there was some kind of copy of the .NET framework hiding on my system, it wasn't recent enough or complete enough or _something_ for your app to work. Really. If you're going to write apps for an operating system with dependency management as insane/non-existent as Windows', check that stuff you need is present before trying to use it, guys. I'm sure that's Windows Coding 101. Anyway. After spending most of a day's spare time on that crap, I got the box up and running at last. It mostly seems to work, though both the web front end and Android app seem somewhat ropey - the Android app is apparently working okay on one device here (after a reinstall when it somehow got into a situation where it was crashing on launch), not working right on two other devices. The web front end mostly works, but when I left it open overnight, it quit loading buttons for Activities. Just all feels slightly 'Alpha 2', if you know what I mean. I wouldn't ship this stuff, and our product's free... Still can't recommend the product in all good conscience, but I can see there's a decent experience lurking there, in theory, underneath the stupid bugs and fragility. Frustrating. I'll be interested to see how the iOS front end works, as that seems to be the Preferred Experience. But I can't do that yet. I did get the cheap iPod Touch, and then, stupidly, did a factory reset on it. After which it sits at a screen ordering me to plug it in via USB and positively refuses to do anything until I do. Apparently, the vaunted Apple Easy To Use Experience includes forcing you to use a $30 cable to do initial setup of a device which has a perfectly serviceable wifi radio. Why do people put up with this crap?
Comments