Architecture Astronauts


  1. I think that article will always be timeless.
    Whenever there are problems to be solved, there are people who will do the bare minimum, people who will abstract the right amount to build a general solution – and the people Spolsky's talking about, who'll keep right on abstracting until they've delivered A New Vision. The names of the overgeneralizations change (and it was amusing to see which of the mentioned overgeneral technologies I use daily, and which ones I'd forgotten the names of) but the principle stays the same.
    I assume from your comment that these folks plague the OSS community as badly as they do the Mothership here in Redmond?

    1. I don't really see it plaguing the OSS Linux community in my experience but I've seen it a lot in the Java community.

      1. Honestly, that makes sense. I'd expect that the astronauts thrive less in an environment where actually checking in new code to projects is valued as highly as I recall it being when I was involved in OSS.
        (I see a similar parallel here – we see a lot of the astronauts in development, where they're being judged on their Contibutions To The Software Design Methodology blah blah, and almost none in testing, where we write code to test things, and if we don't write code to test them, well, we're gonna be testing 'em by hand instead. It's hard to be fluffy and Get Stuff Accomplished.)

        1. heh maybe now i understand why they call that one conference "no fluff just stuff"

          1. *laughs* Yeah.

  2. Thanks
    Great post on a common problem.

  3. Anonymous says:

    nice link
    I've honestly never read that before.

  4. Anonymous says:

    Making fun of over-design
    Please do keep in mind that this is the same man who: <a href="… />
    Thinks Windows XP or Vista crashing to blue screen of death is the fault of application programmers.
    For the benefit of anyone non-technical reading this, it's a bit like saying "water flows uphill"
    Making fun of over-design, sure, easy target and he does it well, but please do keep your BS detectors finely calibrated while remaining aware he is writing for one reason and one reason only. Namely to promote the interests of his business.

    1. Re: Making fun of over-design

      Joel’s hidden or not-so-hidden agendas aside, the article cited is still a very good one that rings true for a lot of folks in the industry.

      1. Anonymous says:

        Re: Making fun of over-design
        I'm really bad at expressing my ideas at times. I know what I think but it doesn't come out quite right. The poor person reading my words had no idea what I'm really on about. This is obviously not their fault at all.
        I wonder if I can do better?
        Right so "Architecture Astronauts." These are people who want to use computers to bring people some fundamentally new service?
        Mostly people with such ambitions fail. Ha ha ha we all laugh at them. Often they are unworthy of respect. Often they belittle those of us who don't share their views and stick to something safer. They have big plans and they fail.
        But mercifully failure is not always the outcome.
        This post was brought to you by: IP, TCP, the arpanet imposed on the phone network and the www. All of these things were Big ideas from architecture astronauts. Imagine describing the technology of how those of us on this blog are discussing these ideas to a computer expert in say 1960. Could you be convincing or do you sound like one of Spolsky's Astronauts?
        As for young Joel he has been burned on this front. Git & Hg have rendered one of Joel's major products that he still sells and makes money with utterly obsolete. Distributed RCS? That sounds whacky. Astronauntsville.
        Yes mostly people with big ideas fail. Yes you always have to examine the arguments and the evidence from which they are reasoning. Yes you always have to try and pick holes and think of ways they might be wrong. Yes you should be aware the risk of failure is much larger than doing exactly what we've always done with a bit of polish on this bit right here. Yes you have to assess that risk. Yes if you deem that risk to high you should not commit your resources to the project. Yes you have to be aware that even if it's a good idea, with good people involved and all the right technical pieces in place it can still fail. Yes, do be careful. Yes that is the natural domain for the "B.S. Merchant" kind of parasite whose contribution is largely to their own career alone and we must be careful of them. GNOME has at least one of those as it is.
        If you don't do these things you can always do everything Joel's way.
        Pay Microsoft whatever they ask and pay Joel to polish this bit here for you. This would suit him. Replacing windows with linux and Joel's RCS with CVS is much the same solution and condemns us all to computers not improving much.
        It seems to me to be a tragedy if we just ignore all forms of genuine innovation because many times it will fail.
        Ok now there's nothing wrong with Joel's way. Polishing the pieces that need polish is a really good thing to do. It's needed, it's useful, it's wonderful, it's shiny and it's safe. I encourage people to do this. I do this myself. But it too can fail. Just as Joel is now painfully aware given how much better Git & Hg are than his RCS, which no amount of polish can ever rescue.
        Mindlessly playing it safe is a dangerous strategy. It's one that is in the interests of Joel's business. He's got products he'd like to sell to you. His market is entirely the most risk-averse. Encouraging this kind of risk-averse thinking is good for his business. It's not the only way to think. It will work maybe 99 times in 100. Corporate IT may not be all that interested in that 1 in a 100. In the world of Free software and especially for those of us without corporate masters we really are interested in that one. Massively. Gambling and losing on it should not discourage us from having another go. Risk assessment, cost benefit analysis in the context of the goals of the project etc. This is responsible management. Risk aversion is good. The degree of it requires thought. Risk assessment (this may be informal) is a must for any decision.
        The alarm bells ring very, very loudly for me concerning Joel Spolsky as this business of an operating system crash being the fault of an application is not a mistake he can really be making in good faith. The number of levels on which that is utterly wrong is profound. His expression is certainly better, clearer, funnier and more polished than mine.
        I wonder if that attempt is any better…

        1. Re: Making fun of over-design
          I wonder if your definition of architecture astronauts is a bit off from my definition. You say "people who want to use computers to bring people some fundamentally new service." That doesn't sound like an architecture astronaut to me. I take no issue with big, different innovative ideas. What I do take issue with is abstraction to the point of no usefulness, just for the sake of abstracting. It is that that I read from Joel's article. Architecture "astronaut"" because such folks try to make their designs so abstract that they try to make them applicable to bodies in space. Now I don't know if we are on the same page with this definition, but… While this kind of behavior perhaps may see an easy target to you, I don't think it is because I don't think they are easy to spot for non-technical people at all. I also see this kind of behavior far more often in Java-related applications than anywhere else, because I think the Java language itself really lends itself to these kinds of designs with polymorphism and such.
          I also think your argument about git and hg making Joel's products obsolete having any bearing on this article since it was written in 2001 at which point I don't believe git at least was written and at which point I'm not sure Joel's software was ready for sale (the latter may have been but I'm sure of the former not being available.) I really don't need a lesson in critical thinking from you.

          1. Anonymous says:

            Re: Making fun of over-design
            "I really don't need a lesson in critical thinking from you."
            🙁 This makes me sad. I was hoping to get an argument rather than a veiled "get lost" as I thought you'd posted the article because you wished to discuss it. (If not then why?) It seems I've wasted both of our time. Mentally delete everything I wrote and replace it with "Yeah, Joel, so true. Even today. Mindless abstraction is mindless and water is wet."
            Or maybe I misread. Maybe even you share this problem I have in cogent and clear expression of thought, where I at least, could really learn something from Joel. He does that very well indeed. Anyway I've always been of the view that one should criticise everything, preferably in discussion with someone who disagrees with you. I am frequently wrong and this time could be no different. So yes, let's just write it off.
            The very best of luck to you.

          2. Re: Making fun of over-design
            I think you misread that sentence. That was simply in response to sentence after sentence talking about Joel's background. I found the paragraph from you that it was in response to a bit patronizing and over-the-top thus I chose to respond to it with one pointed sentence.
            If I wanted you to get lost, I would not have spent the time I did reading & considering your replies and responding to them.
            I am not looking for mindless agreement and find it offensive that you would suggest that I am. Also, please don't be surprised if I don't respond positively to overly-loquacious and patronizing prose in my personal blog (or to the suggestion that I seek merely mindless positive affirmations in response here.) If you desire your expression of thought to be more clear and cogent I would strongly suggest trying to condense the amount of text you use to communicate your ideas.

      2. Anonymous says:

        Re: Making fun of over-design

        Ok maybe this spells it out better. Joel’s closing paragraph:

        “It’s nice that we can use XML now for the format on the wire. Whoopee. But that’s about as interesting to me as learning that my supermarket uses trucks to get things from the warehouse. Yawn. Mangos, that’s interesting. Tell me something new that I can do that I couldn’t do before, O Astronauts, or stay up there in space and don’t waste any more of my time.”

        Ok this is his example I can use (albeit with the unbeatable benefit of hindsight).
        One thing about xml down the wire.
        AJAX. Is that not enough like mangoes?
        This week’s Google maps are still pretty tasty. Plenty of other users, just not my area of expertise so I stick with the maps.

        1. Re: Making fun of over-design

          I think his point (which really rings true for me as an interaction designer) is that this technology is all well and good, but what are its practical applications? What can it do for me to make my life better?

          In XML’s case there are lots of examples. I’ve no idea if Joel was aware of them or not at the time of writing. But in many architecture astronaut cases, there are none, or the technology need a lot more work and a lot more development and planning to be able to support the most basic of utilitarian tasks.

        2. Anonymous says:

          Re: Making fun of over-design
          "AJAX. Is that not enough like mangoes?"
          Nothing like mangoes. AJAX is the truck carrying the mangoes.
          It makes no difference to the Google Maps user how the RPC messages are formatted.

      3. Anonymous says:

        Re: Making fun of over-design
        Ok so here's something interesting to watch which highlights what I mean.
        Van Jacobson discussing his ideas about how networking could work. <a href="… />
        I found it fascinating. I'm still not at all sure if he's right or indeed how he's wrong if he's wrong. One imagines this talk would hold no interest at all to Mr Spolsky because we have TCP/IP networks that function. And you can watch him abstract and then abstract what he just abstracted.
        I'm aware throwing Van Jacobson in as an example is a bit like arguing from authority in the sense that people will take him more seriously than J.Random Hacker because of what he's achieved in the past and the reputation that goes with it. I needed something truly speculative that people might not be wiling to dismiss utterly as nutty despite the intellectual challenge therein.
        Note also that he uses GNOME and cites the gnome-vfs as an example which might make it interesting to gnome-y kinds of people in terms of the thoughts it provokes even if you're sure his big picture approach is all wrong as Mr Spolsky would be.
        Now would you hang a large project that presently uses networking as it currently exists on this radical new idea? Absolutely not. That would be wholly irresponsible. (eg weigh in against removal of the gnome-vfs from the stack is the right thing, if it were seriously proposed).
        When you've seen the talk would you bet it's a reasonable risk to try to create some of the missing pieces he describes yourself? Would you decide it's far too risky and not sufficiently well thought through for anyone sane to get involved with? Or come to a view between those two exteremes somewhere?
        Or ignore it utterly without thinking too hard and make cruel fun of Van as an architecture astronaut?
        I hope not that latter.
        (See 3 replies now. Joel is a much more persuasive writer than I am but mercifully substance still trumps form so my attempt is not necessarily doomed.) 🙂

        1. Re: Making fun of over-design

          Maybe I’ll read this later. You’ve written quite a lot and your spacing / line wrapping makes it really difficult to read. Sorry I can’t give you a more intelligible reply right now.

  5. Excellent blog! I genuinely love how it' s easy on my eyes and also the details are well written. I am wondering how I could be notified whenever a new post has been made. I have subscribed to your rss feed which should do the trick! Have a nice day!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.