4 ms·
The whole mess around this should be a reminder to us all that it's very, very hard to disentangle social problems from technical problems.
by sedev 14y ago
The whole mess around this should be a reminder to us all that it's very, very hard to disentangle social problems from technical problems.
- thwarted 14y agoIt's easy to disentangle them, they are not inheritenly related. What's hard is convincing some people that social problems don't have technical solutions. The attractiveness of the technical solution is that it is so much easier than the social solution that it just has to exist.
- SoftwareMaven 14y agoLike the password problem (eg people choosing "password123" as their password). That's an easy technical problem to solve (and in fact is solved). I can't understand why passwords are so easy to crack. It's only a matter of getting everyone to behave differently. <mild sarcasm/> I would argue that all of the really hard problems in software development[1] (and most technologies) are really hard because they are social in nature, and it is the social nature that makes them so hard. This is similar to the food production/distribution problem. We create enough food to feed the world, but, due to many geopolitical forces, we can't get the food to all the people that need it. No matter how good we get at growing and shipping food (the technical solution), there is some warlord somewhere who will steal it from his subjects (the social problem). 1. Not computer science. P==NP has nothing to do with Aunt Marge.
- sedev 14y agoThat's a great example, thanks for bringing that in. I was more thinking of community management since I'd just been skimming "Building Web Reputation Systems" again and its authors have quite a bit to say about the entanglement of social and technical problems. But like you say, there are a lot of domains where technical problems are entangled with social ones - it's just that those domains are software engineering as a practical discipline, not computer science as a branch of math. My favorite examples are time zones, Unicode, and country names/boundaries. How many time zones are there in the world? How many will there be next year? Your NTP server needs to know. How will you store humans' names that can't be expressed with the BMP alone? The iCloud servers need to know. Is Taiwan a country? How about Kurdistan? Where are the borders of India? Google Maps needs to know. There is plenty of software that won't have to deal with these problems ... but these problems can be huge headaches, and part of that is because of their nature as both social and technical problems.
- thwarted 14y agoIs Taiwan a country? How about Kurdistan? Where are the borders of India? Google Maps needs to know. Google Maps needing to know is the technical problem, sure. But representing borders is a reasonably solved technical problem. The social problem is people disagree about those things, and Google Maps representing that disagreement (if it can be represented at all) is a secondary concern to third-parties who just want to provide accurate maps. And there's nothing technical that can be done to solve that disagreement. You could very well provide localized Indian borders when viewing Google Maps (which is actually easier to do, and keep updated, with electronic maps than with print maps), or show the areas in dispute as being in dispute, but the issue is that the parties that disagree think everyone else should see it their way (thus the nature of disagreement).