Murphy's Law, defensive design, and climate change

One issue upon which I have fairly starkly disagreed with fellow LP bloggers, and commenters, is on the potential for voluntary sacrifice to make any substantial difference to environmental problems, particularly climate change. In my view, strategies that maximise active involvement in emissions reduction schemes is less desireable, not more so. The best emissions reductions methods are, in my view, completely transparent, invisible, and involve the fewest number of people possible. But why such a misanthropic view of the process? Call it a professional mindset.

Murphy’s Law has spread far beyond roots in engineering culture. In the wider world, it’s evolved into a simple expression of malign fatalism – “Whatever can go wrong, will go wrong”. But there’s an essential implication lost in that simple reading. According to one story of the origin of the “law”, it originates with the installation of motion sensors on a rocket sled used by the US Navy to study the effects of acceleration on the human body. The plugs for the motion sensors allowed the sensors to be plugged in one of two ways. A test run was conducted; the motion sensors reported zero readings. A check revealed that that the sensors were plugged in the wrong way. Left there, that’s the “life sucks” version of Murphy’s Law. However, as the Wikipedia article recounts, there is a more optimistic interpretation. The testing program was, overall, a success, with the readings being obtained successfully without injuries to the human volunteers. Taking Murphy’s Law into account was held responsible for this success:

The phrase first received public attention during a press conference in which Stapp was asked how it was that nobody had been severely injured during the rocket sled tests. Stapp replied that it was because they always took Murphy’s Law under consideration; he then summarized the law and said that in general, it meant that it was important to consider all the possibilities (possible things that could go wrong) before doing a test and act to counteract them.

This idea – in a nutshell, design things to take into account humanity’s tendancy to make mistakes, and try to either make such mistakes impossible or minimize the consequences – is the principle of defensive design, and is virtually universal. At its most basic level, the mistake that led to the coining of the law – inserting plugs the wrong way – has been made increasingly difficult by successive generations of consumer electronics. Virtually every aspect of aviation safety is about dealing with the consequences of Murphy’s law – including everything from redundant flight controls to checklists. But nowhere is the mindset more pervasive than in the world of computer software.

Computer programmers don’t tend to agree on much. But there’s no disagreement on one point. The people who use their systems, are, ultimately, idiots, who must be protected from the consequences of their idiocy. While outside forces might push for extra doodads to be added to their software, programmers would like fewer features; the fewer features there are, the fewer chances the users have of stuffing up. Ideally, users should be given access to the absolute minimum set of features required to perform their tasks, with anything else left to professional administrators. You might think this attitude reeks of arrogance and contempt for the people who pay our wages. And, to some extent, you’d be right. But what you’d be missing is that programmers are also reminded – on a daily basis – that they, the supposed experts at making a computer do what they want it to do, make huge numbers of mistakes.

Maurice Wilkes, with whom I had the pleasure of a brief email correspondence a few years ago, was a true computing pioneer (read his Wikipedia bio for more information). His humbling discovery of the difficulty of avoiding mistakes in his work is one that every computer programmer discovers sooner or later:

“As soon as we started programming, we found out to our surprise that it wasn’t as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.”

Not only do we discover our own mistakes – or have other people do it for us – but we are regularly exposed to the mistakes of other programmers. The regularity with which I’ve looked at another programmer’s work and wondered “how could they have been so boneheaded” is quite astonishing. Accordingly, the entire field of software engineering is essentially devoted to coping with humanity’s talent for stuffing up, and catching those stuffups before they cause problems. The number of well-publicized failures that continue to plague the industry, after half a century of genuine improvements to practice, suggest that we have a long way to go.

Given that long history, is it any wonder I don’t put much stock in the idea that people – the same highly fallible people – will reliably do the right thing to reduce their emissions, when they’ll have to consciously decide to do the right thing, repeatedly, in the face of considerable incentives to do otherwise? That strikes me as a very risky approach. It might not be particularly touchy-feely – heck, it’s not particularly democratic – but I reckon it’s much safer to let people go on as they are where possible, and concentrate on technologies that require as few behavioural changes as can realistically be achieved. At least that’s one less possible way for the fight against climate change to go wrong.


« profile & posts archive

This author has written 747 posts for Larvatus Prodeo.

Return to: Homepage | Blog Index

37 responses to “Murphy's Law, defensive design, and climate change”

  1. Russell

    “it’s not particularly democratic – but I reckon it’s much safer to let people go on as they are where possible, and concentrate on technologies that require as few behavioural changes as can realistically be achieved”

    But don’t we need to encourage everyone to take more responsibility for the way we live – look at the obesity ‘epidemic’, the number of people on anti-depressants etc etc etc. Of course there are social and commercial aspects to individual problems, but I think we need more individual thinking and decision making, not less.

  2. Mercurius

    Way to miss Robert’s point, Russell.

    There are some, critical, systems for which individual thinking is the last thing that will help.

    I mean, I suppose we could, in deference to the sacred cow of individual responsibility, let baby food manufacturers put as much melamine as they want in the formula, and leave it up to rugged individuals’ thinking to choose the non-melamine-loaded variety. But Murphy’s Law says we’ll end up with a lot of dead babies if we do that. All it’ll take is lapse of concentration one night on the part of your average rugged individualist thinking shopper and, whoops, into the trolley goes the melamine-loaded baby formula.

    And we happen to live on a critical system called the earth, which is loaded with opportunities for Murphy’s Law to kill us all. So we banned the CFCs, we took the lead out of the petrol, we restricted the pesticides and we damn well regulated the food and water supply.

    Chances are that you and your friends and members of your family have been spared deformities or hideous injuries as a result of these terrible insults to individual thinking.

    we need to encourage everyone to take more responsibility for the way we live – look at the obesity ‘epidemic’, the number of people on anti-depressants etc etc

    BTW I think you need to do some individual thinking on your assumption that people who are obese or on anti-depressants are somehow “irresponsible”. I’ve known some extremely irresponsible people who are skinny and happy. So what are you getting at, exactly?

  3. dk.au

    Good post, Robert.

    There are a number of levels on which I find that last para problematic. (assuming this is also a sideways potshot at debates about public actions being additional to the actions of the White Paper etc.) So perhaps you can clarify for me a little:

    1) Rendering humans as cognitively lazy and accident prone is an ideological move, not a scientific one in any meaningful sense. I’m thinking ‘falsifiability’ more generally here and problematizations of climate change response being only able to be productively addressed on a case by case basis. Have the schemes we’ve tried so far worked? If not, why not?
    2) This means that I don’t think enthusing public engagement to be necessarily an end in itself. I’ve made pretty clear – and Possum passionately argued wrt the elasticities of petrol consumption – that much of people’s first response is built into their personal geographical (both in a social and physical sense) situation.
    3) BUT, having said all that, our response to climate change is based around expectations. There’s a circular logic to much of the arguments around pivotal issues like coal exports and demand elasticities: I say it’s so because [this or that institution or 'economic theory'] says it’s so. The most prominent example is TEEIs blackmailing the government into giving the free permits.

    In other words, we’re at a time when politics and economics are being ‘entangled anew’ to borrow from Michel Callon. So thinking of them as inherently separate is, for me, terrificly unhelpful; not least because any attempt to frame climate change as a purely technical/economic/scientific problem brings up social/political issues (eg. palm oil and marshland drainage, soy plantations etc.). In sum, it’s the governance, stupid.

  4. marks

    I guess it depends on how many people actually believe AGW existsts.

    If there are very few who really believe and most people are deniers, then system improvements aimed at invisible systems are the best. People can go on as they did before if they wish, but inbuilt systems will limit their emissions.

    OTOH if the converse is true, and most people really believe that the planet is in danger, then information on ‘how to’ coupled with that belief will result in action.

    Personally, I believe we should conserve finite resources, but my observation of how people use motor deities and power in general tend to indicate that the former is more likely than the latter, and that people believe in AGW as long as they don’t have to make anything more than token lifestyle changes.

    So I guess I would agree with RM’s post, but would suggest that if it were possible to convince people to change behaviour and act individually, then large and quick GG production could happen. (Just think that even if fifteen percent of people used public transport once per month, that would double PT usage – would once per month be so hard?).

  5. Russell

    No I didn’t miss Robert’s point. Of course we agree to do things collectively, but I noted Robert’s use of the word sacrifice and I’m afraid we’re all becoming incapable of making any small ‘sacrifices’ – even for our own good.
    It’s a very small sacrifice for most of us to switch to green power electricity. It’s good for us to walk to the shops now and then, it has all kinds of benefits if we use our gardens to grow as much food as we can. It’s better to adjust our diets and behaviour than take drugs for illnesses which can be controlled by diet and behaviour etc
    There’s a load of very strong counter messages coming from the media that encourage us into stupid self-defeating behaviour. Howabout we let the decision-makers know what we want by showing them what we do. People need genuine information and plenty of public discussion of the consequences of wrong behaviour – and encouragement that things will be better if they change. We might wait a long time for the government to fix things.

  6. Steve D

    As a programmer I have always maintained that the Strategic Defence Initiative or so-called Start Wars Missile Shield simply won’t work when it is needed.

    All it is going tot take is one simple typo or logic flaw in the millions of lines of code and those “defensive” missiles will at best miss their target (incoming missiles), or at worst, return to their point of origin – which would be interesting for sure.

  7. BilB

    The best (and most expensive) fault finding training is achieved in the preparation of programmes for CNC Lathes. In these machines any missplaced character or decimal point will send very heavy chunks of steel driven by powerful motors into one another’s path in the briefest flash of time. Kinetic energy in high speed shafting and chucking fixtures reduces man’s toughest steels to smoke and shavings instantly. And the consequences are never lost on the programmer, who rapidly develops error finding techniques, or another job.

  8. Robert Merkel

    Some interesting responses.

    I think with my post I’m trying to explore and recognize my own biases and prejudices. I’m not entirely convinced by my own argument.

    Just to take up one of DK’s points:

    Rendering humans as cognitively lazy and accident prone is an ideological move, not a scientific one in any meaningful sense.

    I agree. In the fairly narrow domain of the interaction of people with computers, it’s taken as almost axiomatic by harder-core IT people through decades of hard-won experience. But generalizing the observation more widely is not necessarily appropriate.

    Have the schemes we’ve tried so far worked? If not, why not?

    That’s a very good question. Environmental campaigns can work to some extent; clearly, the reductions in water consumption over the past decade around Australia are largely the result of people altering their behaviour. But carbon is much more difficult, because the result’s of one’s actions are far more complex. Will me buying a Prius in Australia just result in some Namibian farmer running their irrigation pump more, because petrol is that fraction cheaper?

    There’s clearly much more to discuss here, and I’ll try to get to it in time.

  9. Russell

    “Will me buying a Prius in Australia just result in some Namibian farmer running their irrigation pump more, because petrol is that fraction cheaper?”

    You can’t control that farmer in Nambia’s behaviour, but you can control yours. You can consume fewer resources and create less pollution – because it is the right thing to do. It’s also empowering.

  10. Robert Merkel

    Russell: but if my actions don’t actually result in less pollution going into the air, what’s the point?

    It’s a rather expensive empty gesture.

  11. derrida derider

    Missing the point again, Russell. You have controlled that Namibian farmer’s behaviour because your own abstention from petrol use has made petrol cheaper for him.

    Robert’s point is you need system-wide thinking – simply looking at your own actions in isolation from others’ is not going to be effective. And that system-wide thinking has to assume that humans are self-interested and short-sighted, because that’s what long experience shows they are.

    By gum, we’ll make an economist of Robert yet.

  12. Russell

    Robert, you can’t know, when you buy the car, what sort of equation this might result in re farm usage in Namibia! In the real world, you can be responsible for what you use – if nothing else you’re sending a signal to manufacturers to produce more fuel misers, and making visible to other road users that are alternatives to conventional fuel guzzlers.

  13. Craig Mc

    Of course the unspoken premise is that the people making limiting decisions are better qualified than the people they’re affecting.

  14. Robert Merkel

    Craig: that is the working assumption of IT people.

    Like I said, we’re an arrogant bunch.

    DD: I think where dk might disagree with that characterisation of human behaviour is that there’s also, perhaps, the herd-animal aspect. That is, if all my friends are installing a rainwater tank and biking to work, I’ll consider it too. That does seem to get lost sometimes. dk, am I putting words into your mouth?

  15. Russell

    Craig Mc – as they will at least be conscious that they are taking the responsibility for making a decision, have access to much better information than the general public, have to go through certain processes, and probably have experience in the area, they should be able to make better decisions. So, in theory they might be better qualified. It’s the other personal and political factors that influence them that’s the worry.

  16. Craig Mc

    It helps if decision makers eat their own dog food.

  17. Russell

    DD – I HAVE NOT controlled the Namibian’s behaviour – though he may have more choices of his own to make! Economists always think things are so simple – that it’s easy to measure the effect of doing this on that. It isn’t. You can’t know the effect of your decision on the Namibian because a thousand things other people are doing might affect him as well.

    If I, and several other virtuous citizens, while responsibly taking our lunchtime walks, refuse the offer of some drugs from a desperate pusher, and thereby cause him to drop the price enough that a passing, curious schoolboy can afford them and buys/uses them, am I responsible for the schoolboy taking the drugs? Is it that simple?

    Humans are not ONLY self-interested and short-sighted – history teaches us that as well.

  18. Robert Merkel

    Humans are not ONLY self-interested and short-sighted – history teaches us that as well.

    Sure. But I reckon relying on the selflessness and farsightedness of humans to be reflected in their daily lives is a pretty big risk to take.

  19. dk.au

    I think where dk might disagree with that characterisation of human behaviour is that there’s also, perhaps, the herd-animal aspect. That is, if all my friends are installing a rainwater tank and biking to work, I’ll consider it too. That does seem to get lost sometimes. dk, am I putting words into your mouth?

    Sociologists since at least Tarde have been been interested in processes of imitation. As he described it, the idea of distinct civilisations misses the thousands of interactions that took place through travel, diplomacy etc. shaping each culture in the process. Various structuralist formulations of society, Bordieu’s habitus etc. have all attempted to come to terms with this process. I’m sure you can think of various manifestations – viral marketing etc.

    Sociology has carved a niche for itself identifying these processes, but also ensuring they’re not naturalised or seen as inevitable. Durkheim’s ‘social facts’ were always part of history – not outside it – even if they were considered constraining on some level. Conversely, the Sociology of Science and Technology has examined all the social processes that go into shaping every day objects, complicating the idea of a linear process of innovation.

    I’m not sure whether this makes much sense, but the more general point is, again, to return to the specificity and individuality of problems like climate change. I think Isabelle Stengers is pretty insightful here:

    The contrast between technology and the power of Truth is an ethical one. With technology comes a sense of responsibility which Truth permits us to escape. Leibniz wrote that the only general moral advice he could give was “Dic cur hic” : Tell why you did choose to tell this, or to do this, on this precise occasion. Such advice does not imply that you have the power to define either the situation or your reasons.

  20. carbonsink

    The regularity with which I’ve looked at another programmer’s work and wondered “how could they have been so boneheaded” is quite astonishing.

    HAHAHAHA! Welcome to my life.

    It never ceases to amaze me how quite brilliant people will check in code that doesn’t even compile, let alone run correctly. In fact, I reckon the more brilliant the coder, the more careless they are.

    Oh yeah, on the climate change stuff, voluntary action is never going to work, especially with the global economy crashing. When you lose your job, 100% Green Power is a luxury you can no longer afford.

  21. Tyro Rex

    Actually Robert the principle of You Ain’t Gonna Need It is not only a defensive design principle to mitigate failure, but also, a highly cost-effective way to deliver better quality to the user. Quality here meaning best-purpose-fit at least-cost with minimum-bugs. Too many times users (or typically, ‘stake-holders’ that is management types somewhere in the budget approval process but nowhere in the actual user scenarios) imagine they’ll need features and more features and more useless, gold-plated features, that consume 80% of the cost and delivery 0% of the value.

  22. Tyro Rex

    It never ceases to amaze me how quite brilliant people will check in code that doesn’t even compile, let alone run correctly. In fact, I reckon the more brilliant the coder, the more careless they are.

    Domain-driven-design, Test-first & Test-Driven-Design, Continuous Integration, and pairing is just some of the mitigation against such unprofessionalism.

    Also, I’d argue brilliant coders aren’t careless (i.e. what you are seeing isn’t “brilliant” coding at all, just lazy, sloppy, unprofessional lack of care in one’s craftmanship).

  23. RobV

    I agree with most of the points in Robert’s post. One thing that concerns me about some kinds of popular thinking on issues like climate change is that sometimes proposed alternatives cater more to sentiment than reality. With our consumer culture, organisations that can make people feel they are doing the right thing by the environment are going to be handed the money, even if they are selling nothing more than false hopes. In an open market and with the free exchange of ideas that shouldn’t be much of a problem – but we also have media companies becoming increasingly monopolised and aligning their positions on topics with that of their advertisers, sometimes. It’s a similar problem to the spin cycles that have dominated politics and finance for the past few years, but this point is an over-generalisation.

    One story I was told was about how a bunch of kids in a school were told that a large tree on the school’s playground was going to be cut down and how they passionately tried to save the tree. They thought they were acting positively like greenies. The tree they were trying to save was a camphor laurel which is an imported tree that produces massive numbers of seeds and that has become a major bushland weed. They are lovely trees and at one stage in the past there was a program to have some of these trees planted in every school in that region. The kids were responding to a tree what they knew and loved, and that’s fine.

    It’s that local short-sightedness and taking to environmental issues in the same consumer spirit as closing a sale that is part of the problem. People pay for something and expect the money – with all the excitement of the buying and selling, and being treated as someone with worth (cash) to convince into a sale – to deliver the desired result. If there is no sale, there is no interest. It’s about the framework the public live in.

    Anyway, about computer programming – my first degree was in computing and didn’t like the experience of programming and debugging for weeks on end and watching the sun rise from the computer lab in the early mornings. Fun.

  24. Jacques Chester

    Robert — I like to tell people that computer scientists think about the limits of computers; software engineers think about the limits of humans.

    Computers are ultimately about as close to a perfectly deterministic real world system as its possible to find outside of Newtonian physics. Humans are about as far away as possible on the same scale of predictability and repetition. It’s a match made in hell, really.

    I am being inducted in some hairy code at work. So far I’ve found at least 5 candidates for DailyWTF stories. Curse my confidentiality agreement.

  25. BilB

    JC,

    I think that computers are the perfect complement for humans. I am a person who will make every mistake possible. Computers to me are my defense against myself. I am ultimately able to make complex solutions to problems through trial and error or by model modification. But when it comes to earning a living if the computer can’t be made to do it on my behalf, then I will have to go fishing to survive.

    Complex creative programming can only be done by a very special few people who have the ability to juggle huge amounts of information in their heads. It takes a mental athlete to pull of a huge a project as an individual, and, like athletes the brains ability to do this requires training which leads to specialisation. And I don’t believe that it is something that a person can do for many years of their life.

    The rest of us work around the edges or, with age, become project managers. The machinery programming that I do is extremely simple beside the many other forms of scientific and technical programming that you guys do. But errors are errors, and all are difficult to spot for all of the same raesons. Overfamiliarity, inability to break out a of a pattern of thinking, or the completely unexpected. I once spent 72 hous with only a few hours of sleep completing some PLC code that should have been simple, but kept returning random results. The problem turned out to be hardware not software. A capacitor with the wrong value. I think that Murphy is a Phurphy, but at times he feels so real.

  26. carbonsink

    Domain-driven-design, Test-first & Test-Driven-Design, Continuous Integration, and pairing is just some of the mitigation against such unprofessionalism.

    I would agree with all of that, and I have seen it first-hand inside a large American software corp. Unfortunately it is completely unaffordable in a small export focused software company operating in a brutal economic environment, where you are either battling a >90c dollar, or the worst downturn in 50 years.

    Also, I’d argue brilliant coders aren’t careless (i.e. what you are seeing isn’t “brilliant” coding at all, just lazy, sloppy, unprofessional lack of care in one’s craftmanship).

    Mate, I know brilliance. When you’ve worked with people who have written the core of most mainstream graphics apps, you get a fair idea of who can code. Unfortunately brilliance and fastidiousness do not always come in the same package.

  27. BilB

    Robert M,

    Your lower fuel consumption is more likely to have a larger local effect than a distant one. Does a wobble in our star effect a planet of another star system? It more certainly effects its own planets significantly. So your lower fuel consumption is likely to increase local fuel prices (demand and supply), while influencing other drivers into wondering what they are missing out on. A Namibian farmers energy consumption doesn’t even register visibly against our consumption, so it is our consumption that is the most important to modify. Do you like your new Prius?

  28. Robert Merkel

    I don’t have a Prius. I ride a bicycle to work, because the lane-splitting on the scooter just got too hairy, and I’m trying to improve my fitness (latterly, for a quest that I’ll be informing LP’ers about soon).

    Carbonsink: not trying in any way to tell you how to run a business in very tough conditions, but are you properly accounting for the cost of defects? Maybe not all those methodologies are appropriate for what you’re doing, but some might work.

  29. carbonsink

    Rob, right now I’m just trying to keep my core engineers employed. Its that bad.

  30. Tyro Rex

    Carbonsink, what Robert hints at is perfectly true – you can’t estimate the time it will take to fix a bug when you discover one. I understand that times are very tough (ask me about it – I’m a consultant) but really, using properly modern programming methods like test-driven-design and agile methods is THE cost-efficient way to write top-quality software.

    As to brilliance and it’s qualities, I just don’t buy it. Code without tests just isn’t working code in my view. In my experience the thing that separates a just-out-of-uni junior programmer from the grizzled-old-veterans isn’t actual technical skill or algorithmical brilliance at all – it’s an understanding the the hardest problems in software development are the HUMAN ones. And so I expect a senior programmer to know just why tests, good OO design, continuous integration, iterative development, short release cycles and the like are essential to the practice of software development.

    I recommend a great book called “Emergent Design : the evolutionary nature of professional software development” by Scott L Bain.

  31. RobV

    An introductory course on systems engineering in general as part of an undergraduate computer science degree would have helped to provide some awareness of the processes for putting together any kind of system efficiently. That discipline covers some of the the interfaces between the technical and human aspects of engineering and tries to turn managing a complex system into a more formal process. It would be cheaper than having to learn from experience. Most people commenting here sound like they are grizzled-old-veterans in their professions so they would consider most of those systems engineering processes common sense anyway.

  32. Chris (a different one)

    Unfortunately it is completely unaffordable in a small export focused software company operating in a brutal economic environment, where you are either battling a >90c dollar, or the worst downturn in 50 years.

    There are some fairly simple things that you can do which I think overall actually make development and definitely support cheaper in the long run. For example automated testing systems are pretty straightforward to setup these days (there are lots of open source tools around to help) which prevents developers from checking in code that doesn’t pass test suites. It runs the tests before exposing other developers to the changes. Every project should have a system like this where feasible.

    And in many cases developers do write test tests when debugging problems. You just need a system which makes it easy to capture these tests and add them to the regression testing system so bugs don’t creep back in. Very useful when you are a small team/company that can’t afford large test teams.

    Back to the wider question, one important philosophy of programming design is you should it hard for people to do the wrong thing. In terms of CO2 reduction one thing along this line is better labelling of CO2 used in the production and running of items. So not only would you for example see the amount of CO2 your car would use per km, but also how much is used in the production. If this sort of labelling was widely enough used, it would be much easier for people to make informed choices but what they purchase and use. They would be able to balance CO2 production versus the cost to them.

  33. carbonsink

    Chris (a different one) @ 32:

    I appreciate your comments, and I realise you are trying to help, but I have a very small team, and getting smaller every day. Our application integrates text, graphics, images, audio, video and animation. It includes a reasonably sophisticated programming language and compiler, a mini word processor, a source code editor … you name it, we’ve got it. Frankly its a miracle we’ve got as far as we have, and the product is robust as it is. Its not something that can be reliably tested using automated procedures. The same product in large software corporation would have a QA team of at least 30.

    We simply can’t afford that. We fly by the seat of our pants not by choice but out of necessity.

  34. Tyro Rex

    Carbonsink, I have to be explicit here – when *I* talking about testing I do not refer to a “QA department”, but actual unit tests, and yes functional tests, written by the actual same developers who write the actual code.

    As to affordability, what happens if your product cannot function because of a major bug that causes a total redesign of it’s major components? Don’t tell me it can’t happen, because if that’s the case you’ve discovered the most important principle of software development in the last 50 years.

    As a practicing agilist, I’ve heard all those excuses and more. I’ve never seen or even heard of a situation where they are actually valid. Ever. Agile development is all about practical outcomes.

  35. feral sparrowhawk

    Robert, I certainly agree that climate change results will depend primarily on government action. However, given the near guarantee that governments won’t act fast enough or hard enough I think personal actions can be important. There’s the point you make about imitation. However, I’d say what is more significant is the early adopter aspect. Mobile phones are only affordable because some idiots were willing to pay the extraordinary prices required for the first ones, which built a market, which brought the price down etc.

    I think a lot of the technologies we will need to deal with AGW are only going to get off the ground because some of us will put up the money for them before the governments get on board, bringing the price down to the point where governments see it as politically feasible to act. I don’t think it is at all stupid for environmental groups to encourage this process.

  36. carbonsink

    As to affordability, what happens if your product cannot function because of a major bug that causes a total redesign of it’s major components?

    What happens? You fix it, you release a new version, and you notify your users.

    If a redesign is required you schedule it for the next major version.

    In my experience reproducabilty is the biggest problem. If you can reproduce a bug its as good as fixed.

    I really don’t appreciate being portrayed as a cowboy. This is a business that’s been around for a decade and has over 300,000 customers. If the software was seriously broken, we’d know.

    We sell almost exclusively to the US and Europe. Words cannot describe how difficult business conditions are at the moment.

  37. Chris (a different one)

    carbonsink @ 33 – yes programs which are heavily UI based are a lot harder to test automatically. And I don’t mean to tell you how to run your business – I’ve worked in a small company before and I know how high the pressure can be to release new features to push new sales versus building infrastructure. And unfortunately the later projects leave introducing things like automated regression testing, the harder it is to implement.

Leave a Reply