The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

What is the "social interface"?


Software-software intersection? i.e. "Does it play well with others?"

Software in human status-definition? "You're still using THAT compiler? eeeewww!"

Software mediating human interaction?

Software role in society?

Software civil rights?

Tereza Snyder Send private email
Friday, September 03, 2004
Excellent question. I'm hoping to write a few articles if not a whole book about it.

Why did craigslist become hugely popular while hundreds of other attempts to do online classified ads failed?

Why is friendster so successful compared to other "clones" like orkut?

Why do people buy FogBugz when they've already got Bugzilla, and it's working, and it's free?

The answer to these and other questions comes down to social interface design.

User interface design = designing software taking into account the users who will be using it.

Social interface design = designing groupware taking into account the social situations it creates.

One tiny example: this new version of the discussion group software allows users to provide their homepage URL, because it lets people learn more about the person who posted a topic. This can have a profound influence on the social dynamic of the discussion group.

Another tiny example: FogBugz doesn't have a feature to get statistics on "which programmers make the most bugs" because the sociology of that feature is that it would turn every bug into a big argument, and because of social/human nature, bugs would stop getting into the bug tracking system.

A third tiny example: Usenet software makes it trivial to quote the post you're replying to, so long nitpicky flamewars became the norm.

Small changes in how software is designed, when that software is used with groups of people, can dramatically affect the culture and the sociology of that group. And the software will succeed or fail based on whether it conforms itself well to that sociology.

In the 1990s we designed features in order to make software easier to use. Now ease of use is a prerequisite -- it's just the admission price -- to be really successful you have to start to think about making software work from a social perspective.

Joel Spolsky Send private email
Friday, September 03, 2004
It seems to me, that on the web at least, the best interface is the most laissez faire one.
Craigslist is a good example of this. I think encouraging the naturally tendency of people to find their own uses for things promotes a wider acceptance. I see it here in Japan with cellphone adoption - no one twenty years ago would have pictured teenage girls as the market to capture. But teenage girls found uses for cellphones that no one else saw at first.
Friendster was much more successful early on, before they started doing things like deleting the Giant Squid account (and firing people for blogging).

I think there is a small element of luck to this, but also an element of skill in building an interface that doesn't impose too much on the user.
Matt Van Horn Send private email
Friday, September 03, 2004
> Usenet software makes it trivial to quote the post you're replying to, so long nitpicky flamewars became the norm.

I suppose if I quote this and critcise it I'd only prove the point, so I'll STFU. (I don't agree with your cause/effect though.)

Friday, September 03, 2004
Hi Joel,
This is a very interesting topic. Just a couple of comments/questions:

When you say:

“User interface design = designing software taking into account the users who will be using it.”

I think about prototyping. You call the users one by one and you ask them to give you their opinions about the interface and how they will use it.

When you say:

”Social interface design = designing groupware taking into account the social situations it creates.”

I think this is more complex.  How would you see/know the social situations that happen during software use? I don’t think interviews with clients are enough.  One thing comes to my mind.  Ethnography: the collection of data from people in their natural settings.  It is a very well known practice in sociology and anthropology, but now it has been expanding to information systems and software too. 
Developers spend time (weeks/months) observing how people really work. They can then see with their own eyes the social situations that occur and are able to produce better analysis - design documentation
Academically this looks promising but a little bit unrealistic.  Would a real software business afford sending developers to clients for months so they can understand their clients?

Cecilia (The PhD student)
Cecilia Loureiro Send private email
Friday, September 03, 2004
>Could a real software business afford to send developers to clients for months so they can understand their clients?

Depends on the size of the project, doesn't it?  Certainly, we recently completed a project where it was necessary to spend hours becoming domain experts (or at least gaining the ability to fake it <g>) in the way our client does business and how their corporate culture impacts that business.

One thing that many software developpers fail to understand is that the introduction of technology into any business process inevitably changes the character of that process.  It is our job to make sure that the change is both positive and effective, otherwise you end up with users that are constantly fighting the system.
Friday, September 03, 2004
A quick search on my HD shows a couple O'Reilly recordings in which he talks about social software. I don't know if it's easy to find on the net now, especially with Technetcast working badly, but there was a time when he frequently spread the idea of social software.

Google is in fact a piece of social software; people usually add to it passively simply by having spiderable pages. More obvious ones are Amazon and eBay. Wikis.

Tim O'Reilly - O'Reilly Radar.mp3
Tim O'Reilly - The Software Paradigm Shift.mp3
Tayssir John Gabbour Send private email
Friday, September 03, 2004
Cecilia: I'm glad you mentioned ethography. Yes, ethnography is exactly right.

To get social software to work you have to build it and test it in a social setting, and you have to have some training in ethnography or cultural anthropology to know what to look for. It's a lot more work than UI design, but the rewards are greater.

Two more examples: Napster had terrible UI design, but it became massively popular. UI design is nice but a bad UI won't stop people from using a compelling product that gets them something they want.

Another example: ebay was a masterstroke of social interface design. When ebay was starting up, everyone I knew said, "It will never work. Nobody is going to send money to someone sight-unseen on the Internet." They were wrong. The creators of ebay figured out something about anthropology that nobody else knew and made a fortune.
Joel Spolsky Send private email
Friday, September 03, 2004
Tayssir John Gabbour…
+ e-mail, blogs, bulleting boards, groupware, in fact any software that aids social interactions through a network. Would an ERP be a Social Software? If it helps managers and operators coordinate manufacturing activities, the answer could be yes.
Social software requires “social interface design” to take into account not only individual’s behaviour but the interaction between individuals when using the software.
Cecilia Loureiro Send private email
Friday, September 03, 2004
Just a harmless remark, but I'm reading this thread in "Design of software", whereas it could easily have been in "Human side of software". Or even "Business of software".
Friday, September 03, 2004
New and innovative (such as the ebay example Joel mentioned) could be missed by observing the status quo. Our customers keep trying to find a way to use their new system in a way that mimics what they were used to in their old system, instead of using the better but different features of their new system.

Slashdot doesn't seem to have a lot of fans here, but they have an interesting social network. On Slashdot your power (as a moderator) is a function of your social status (more posts that have been "modded up" by other moderators).
Tom H
Sunday, September 05, 2004
Joel: you are showing example of bad UI with using both
"Two more examples:"

There should be support for hilighting of people names you posting reply to, or you shouldn't use ":" like you do for second line.

And the more thing on support for quoting in forums software (I think you hate this topic ;) - if quoting is hiligted by software you could just skip it easily. But if people do quoting themselvs with ">" and '"' - you can't avoid reading them. So the current situation with quoting is wors then adding support for them :(

And ps. This article is offtopic already. Do the forum need "move article to.." ability for admins? What do you think? :)
Nekto Send private email
Tuesday, September 07, 2004

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz