Friday, 12 November 2010

Stupid software

I have to despair at the state of consumer software these days. Nothing "Just works" any more.

Gone are the days when a car just worked or a toaster just worked or even a fridge.

We have air-con here in the office that is just plain stupid. One has an "auto" mode, i.e. set a temperature and heat or cool as needed - except that (a) it must have huge margins as it will sit there heating until way above the set temperature. You have to manually change hot/cold. (b) It is not bright enough to just turn off when temperature is close enough - it just heats or cools and always blows air. The other has no auto mode, but seems to turn to "hot" even when set to cold some times.

And the alarm system at the office is just mental beyond belief...

The latest really annoying thing is my camera at the house. After a s/w upgrade it is finally recording events and videos properly again (via NFS) but has randomly started emailing me to say storing images is taking too long. Well, it is very comprehensive software and has settings for this - and I turn them off, and yes - it still keeps emailing me every time a cat walks passed the house or some such.

WTF can people not make stuff that "just works"?!?!


  1. Because everyone only want to compete on price these days which drives out the "good" in favour of "cheap". (See the state of the ISP market for the same problem - clearly with exceptions :) )

  2. Because people don't buy "just works", they buy "ooh shiny" or "cheap.

    If people only bought things that work right, more companies would make it.

  3. It's this culture which has developed which means that stuff is tested by the consumers instead of at the factory/in development.

    My microwave, my tv and one of my HiFi's all have firmware bugs in them.

    As RE your AirCon does it have IR or COM interface? failing that hook up a PLC?

    That way you can bash out your own software and make it work properly... In our office have a PLC dev kit which i've been toying with the idea of taking home to control my boiler as it's either on or off without a thermostat!

  4. I agree wholeheartedly with the spirit of this post, but the specifics about AC units leaves me wondering why anyone complain about a problem without making a serious effort to actually fix it: for example by getting expert advice.

    Air conditioners, like so much technology often fail to perform as expected when improperly specified, installed, maintained or operated.

    This is not to say that some aren't better than others, they definitely are...

    It might seem that an AC unit is like a washing machine, you buy it and connect it up and it works, but it's not really the case. They are more like cars: you need the right one for your circumstances and you need to look after it properly. We know all cars aren't made equal, not even all washing machines are the same quality; there's a reason some manufacturers charge five times as much as others.

    Why can't an AC unit "just work"? The answer depends on your specific install. Problems can results from the shape and size of rooms, bad pipe runs, low gas, or clogged filters, but bad or inappropriate installation is more likely than a faulty unit.

    Personally, I have found Daikin units to be rock-solid, but you pay a premium for them over merely 'good' brands like Fujitsu or Panasonic. If the unit is decades old, or you have an LG or some no-name brand, well, you can't expect stellar performance.

    That said, when units seem to run flat-out all the time it's usually because they are under powered for the area they are in or the thermostat is in a bad location for the room.

  5. Indeed, but the air-con is professional install proper kit... It is (for a change) more than up to the task of heating or cooling as necessary even with a room full of people and computers. I suspect that is the biggest issue most people face as properly spec'd air-con is not cheap!

    My gripe is the broken logic on the controller - the software - not the very capable hardware.

  6. I see you didn't manage to find time yet to read that copy of Humility for Dummies!

  7. Could not find a copy, but a search shows up my blog and your comment as one of the top posts :-)

    Seriously though - the one "appliance" I have worked on and done the UI for, the FireBrick FB105, has a damn good UI and does "just work".

    Even if some of my web page apps are dodgy that does not really make anything I have said wrong...

  8. There certainly is a lot of bad software out there, especially device drivers, and there are reasons for that; why not discuss them? Poor quality drivers are not a new thing "these days", but it's easier to find examples now that there are so many more products around than there used to be.

    Sadly, drivers are not always a priority for chip manufacturers and the companies sticking these bits together don't *appear* to have the resources to get it right all the time. Why are they so difficult to get right? Do you think it could be partly related to the driver model in the OS? Or the DDK documentation? Or bad info from chip manufacturers? Or is it just down to the insanely short development times allowed?

    AC unit manufacturers on the other hand tend to have a decent knowledge of how to make a temperature controller, and any 'proper install' will be built on quality branded kit from companies that have considerable expertise in temperature controllers. Chances are if your kit doesn't work as you'd wish the problem is not in the controller algorithms or implementation, which will have been designed by competent professionals and extensively tested. Unlike web-cameras or wifi adapters, the model range isn't refreshed every month with the latest gadget.

    The AC behaviour mentioned in the initial post is not that of a properly specified and correctly installed unit, but it is bad behaviour many people will have experienced first hand from "professional" AC installs. There are complex reasons for these problems but they are very rarely caused by defects in temperature controller software in 'big brand' AC units. Building engineering and compromised installation decisions are usually the cause of problems with commercial quality AC. Shared buildings and buildings that weren't designed for AC from the outset create considerable obstacles to getting good results.

    Also, just because you have enough power to cool (or heat) your room does not mean you have enough to keep it stable, but the problem could just as well be wrong choice of settings, bad thermostat positioning, independent units fighting each other, or external factors creating changes in room temperature outside the unit's ability to cope.

    Of course, the most common reason for an AC unit doing stupid things is because somewhere there's a joker with a remote changing the settings to what they think they ought to be every five minutes :)

  9. Often chipset manufacturers will produce reference circuits or code in documentation but then people using the chips take them as is and use to make the board and drivers.

    But yes, some people have no bloody clue how a thermostat actually works and will set to lowest temp when they are "too hot" and highest temp when they are "too cold" rather than setting what temperature they want. Of course if the damn thing refuses to make the room the temperature you set, it is rather frustrating.

  10. "95% of everything is crud"
    -- Sturgeon's Law

    Fortunately, there *is* still a market for people like you to make things for people like us.

    Keep up the good work. :-)

  11. I blame Bill Gates.
    Back in the early 90s (when Windows was something that people tried just to see how it worked) people expected computers to "just work" - if you wrote a system and it didn't do the job, you fixed it! Workarounds were accepted in the short term while the problem bubbled to the top of the to-do list, but everyone expected bugs to be fixed.
    But somehow as well as persuading people that Windows was the "safe" option (I remember people asking me to justify why *not* to use it, at a time when there were plenty of decent operating systems around) they also somehow persuaded people that things didn't always do what you expected, and you just have to put up with it. And it spread as an attitude to the rest of the consumer market.
    Above all the other things they've done, this is the biggest reason why I detest M$!