ClayShirky says : 'We've been killing conversations about software with "That won't scale" for so long we've forgotten that scaling problems aren't inherently fatal. The N-squared problem is only a problem if N is large, and in social situations, N is usually not large. A reading group works better with 5 members than 15; a seminar works better with 15 than 25, much less 50, and so on.
And argues that we shouldn't always aim software at the mass-market. Many interesting applications are for small, social groups. (See RossMayfieldsThreeScalesOfNetwork, OnGranularity, IsMassNatural, BangTheRocksTogether)
Situated software isn't a technological strategy so much as an attitude about closeness of fit between software and its group of users, and a refusal to embrace scale, generality or completeness as unqualified virtues. Seen in this light, the obsession with personalization of Web School software is an apology for the obvious truth -- most web applications are impersonal by design, as they are built for a generic user. Allowing the user to customize the interface of a Web site might make it more useful, but it doesn't make it any more personal than the ATM putting your name on the screen while it spits out your money.
Situated software, by contrast, doesn't need to be personalized -- it is personal from its inception
(Maybe also relates to the notion of concreteness in DoesAbstractionScale?)
Now, though, I think we're starting to see a new software niche, where communities get form-fit tools for very particular needs, tools that fail most previous test of design quality or success, but which nevertheless function well, because they are so well situated in the community that uses them.
See also : TwoClassesOfInformationToolUsers
See also :
JonUdell on the scalability myth : http://weblog.infoworld.com/udell/2004/08/19.html#a1063
I think there is nothing to justify that new name - 'Situated Software' seems to be just software with a narrow target. The whole rant is just stating the obvious truth about targetting. Perhaps there is an argument that when programming is easier (with better hardware, languages and libraries) then it economic to target it on narrow groups, but that whole story is a bit overblown.
I don't know, I think there's a strong tendency of people trained as programmers to reject certain approaches because they're seen as "toys" or "not serious". Look at the criticisms of MySQL because it isn't a real ACID database. We're trained to do this in college ... to recognise the dangers of things that don't scale up. But we aren't trained to do the opposite : recognise when a solution is good enough. I quit my old job because I couldn't stand the frustration and waste of time and energy in trying to build medium-sized sites, in enterprise-level Java. But few of my colleagues could see this was absurd, even though some projects were taking four times as long as similar projects we'd done using the ACS.
So the essay is obvious, but it's a useful corrective to a certain bias in many a developer's thinking.
As for the name "situated", it does resonate with idea that was going around the ALife community in the 90's, that a lot of the "intelligence" a robot needed was really in the "goodness of fit" with it's environment. And I can see how this idea works in the context Clay is talking about.
The problem with that essay is that it is only a collection of facts with trivial theory - just compare it with WorseIsBetter (mentioned somewhere on that page) which I consider a much better explanation of those same facts because it covers a much bigger area.
Hmmm. I started to write : "I think they're saying different things. WorseIsBetter is a technological claim about what you should prioritise when developing. Shirky is making a sociological claim that ... " but then I started wondering.
Shirky is saying that he's observing people writing lots of little site-specific applications. And that he thinks this is growing. (And going to grow further in the future.) But there is also a sense that this is something he approves of, or is cheerleading. But that sounds like he's giving technology advice, which means it is pretty much a restating of WorseIsBetter. So Shirky is basically using / popularising WIB.
So maybe he really is restating WIB, just talking to a different audience. Whereas WIB is aimed directly at techies, Shirky is speaking to his wider pop- economics / network theory / tech-business readership.
I recommend the slashdot discussion on this. I bring here one characteristic quote:
: Shirky smokes crak (Score:4)
: by Safety Cap (253500) on Thursday April 01, @10:52AM (#8737117)
: (| http://master-developer.com/ | Last Journal: Wednesday February 25, @10:28AM)
: ...or has never worked in a business environment.
: I don't have enough fingers or toes to count the number of "small apps" that some wonk wrote to make life easier for a few folk (maybe an excel spreadsheet + macros) that ended up living long after their creator left the company. The people who use the app have no clue how to do the job manually, just how to run the macro ("Simply open whtzits.xls and click the "RUN" button"). Then something breaks or they need new functionality and it is YOUR job to wade though that crappy code rewrite it in a more suitable language/platform.
A good point - most sofware is such custom made software - that is what most of programmers do. And the reason they do it is the same as in the article - because big scale apps are sometimes too difficult.
Maybe that's true. But somehow we don't talk about it! We idealize planning and control and doing things properly and scaling-up. OK, there's one group who do talk about this : the ExtremeProgramming people. And that's gained a lot of traction among thoughtful software developers. But notice Shirky is coming from the web-development world, which is generally naive about software development. They're just coming out of their "thesis" phase in TheDialecticOfProgramming. They've been bitten by the scaling issues of bad code, and they're reaching for the obvious (wrong) solution.
But notice, that Shirky's argument has some originality. He's putting together the right granularity of development discusion, with a more explicit emphasis on the size of the user community. And although this isn't made explicit, he must have the RossMayfieldsThreeScalesOfNetwork stuff at the back of his mind. That isn't something in WorseIsBetter, TheArtOfUnixProgramming or any ExtremeProgramming or software development discourse I've come across. It comes directly out of the SocialNetworkAnalysis perspective of trying to analyse what is so important about networks, and discovering that small creative'' networks have an important role in the overall ecology.
One original thought for such a long article? Reading it is a waste of time! I gues this is the case when a social scientist is talking about software development - this is so outside of his area of knowlege. I think he should at least consult a software developer about his ideas before publishing them.
"One original thought for such a long article? Reading it is a waste of time!"
Sure, because it's not wiki ;-) (Though compare InDefenceOfLongSpecificDocuments)
But going back to your SlashDot quote, do you think that Shirky is wrong in what he says (As the SlashDot guy seems to be suggesting.)? Or is the problem just that he's over-rated and getting undue attention for something that a lot of people think and say?
Uh, I'm not a social scientist, I'm a software developer who switched to teaching, because software developers weren't talking enough about social characteristics.
And it's kind of hard to argue that the piece is a crypto-WIB when I call out WIB in the intro -- as I said in a comment elsewhere on the site:
"Yep, Worse is Better is sure a piece of it, as I mention in the intro, but I think you've put your finger on the difference, or rather extension -- the size of the group (with all the Mayfieldianism attached.)
"I'd go further, in fact, and say that it's not just the size but the coherence of the group that matters. 30 people on a subway car and 30 people in a startup have very different characteristics. The people in the subway car have too little in common to treat them as anything other than an aggregation of atomized users, but the 30 person company (or church group or sports team or chess club or...) has all sorts of interesting characteristics, including an implicit identity and reputation system, that the designers of software for that group can avail themselves of, if they are willing to forgo scale, generality and completeness in favor of treating the group as the user of the software, and working with that in mind."
Clay - I'd like to appologise for such a faux pas and add that I really appreciate your online works.
I can see the novelty of your thinking here perhaps it was just too scarcely spread for my short attention span.
Zbigniew : Never appologise! Intemporate flaming is what built the internet ;-)
I often launch into discussions with outrageous, vitriolic attacks on people, safe in the knowledge that SarcasmDoesntScale and I'll eventually be beaten back into sensible discussion. I reckon Shirky can trample over people's feelings when he has mind to. He probably gets much worse criticism than this, daily.
Amen -- never complain, never explain. No faux pas here.
I actually came here because I saw there was a discussion going on, and I think that the piece is more a statement of observation than principle, so I'm curious what arguments do and don't work for people.
What's clear to me is that in whatever followup I do, I need to be clearer about the effects high in the (metaphorical) stack, around the economics and social aspects of the changes, as opposed to the lower in the stack arguments about the code itself contained in WIB.
I reckon Shirky can trample over people's feelings when he has mind to. He probably gets much worse criticism than this, daily.
Oh yes, and what's more, I earned my asbestos undies on usenet, Back In The Day®, when people really knew how to launch an ad hominem attack. Zbibniew's posts are far too thoughtful (as well as not containing enough mipslelings and RANDOM CAPS) to count as a personal attack -- it's clearly about the content.