Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I like that companies like Twitter and Facebook can push the boundaries of technology. But I wonder, what is the purpose of Twitter and Facebook? Why did they write that software and not something more useful?

Do you think developers have some kind of responsibility to work on technology that could further human progress or should they just develop anything that some users want?

For example, a bridge engineer or architect build things that may solve a tough problem and maybe there is an explicit need. But no one needs a Facebook account.

Note: Some have acknowledged that Twitter and Facebook can be used in emergency situations like with the Japan crisis. But this is after the fact that twitter became popular. I don't think the main purpose of Twitter is to facilitate finding missing people during a crisis.

share|improve this question

closed as not constructive by Yannis, GrandmasterB, David Thornley, Caleb, Walter Jan 9 '12 at 23:26

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Free will - no responsibility. You can do whatever you want with your career. – Job Jun 7 '11 at 1:49
Who makes this "useful" decision? Who -- specifically -- is empowered to declare something "useful" or "useless"? Isn't "utility" really a collective decision where every idea is accepted or rejected by people in general? – S.Lott Jun 7 '11 at 1:59
@Berlin Brown, You need to learn about Maslow's hierarchy of needs. – zzzzBov Jun 7 '11 at 4:23
I would bid on or apply for work on the this hypothetical cure for cancer project if the opportunity came up – user16764 Jun 7 '11 at 22:04
Who says Twitter and Facebook aren't useful? Movements like the Arab Spring and Occupy Wall Street seem to put them to pretty good use. And if I use them to keep in touch with friends, why is that not also useful? Twitter and Facebook have grown as much as they have precisely because people find them useful. Who are you to say nobody needs a FB account? Some people rely on them. – Caleb Jan 9 '12 at 23:15

"Everybody said 'Twitter's useless'. Well so's ice cream." - Biz Stone

You assume that not being critical means that something is useless. I wouldn't equate the guy who built the chair I'm sitting in as having done pointless work. Good programmers tend to solve their own problems, not just the imaginary needs of "the greater good".

share|improve this answer
That is a good point. And you can say the same thing with some scientists. Some may spend their lives analyzing decomposing bodies and others may look at cancer cures. But, I know that there are scientists that want to solve tough problems that further humanity. I don't know if that is the case in software. Or at least it isn't obvious. – berlinbrown2 Jun 7 '11 at 2:22
Software stop planes making bangs at 30000 ft, and keeps them in the air. What about the guys that write the code that runs yoy cars ABS brakes and airbags, the traffic lights, the premature baby incubator? Who writes this software, Pixies? – mattnz Jun 7 '11 at 9:41
Indeed, yes, @mattnz. The pixie software alliance have been producing critical systems for the last 50 years. ;-) – Matt Ellen Jun 7 '11 at 13:43

But I wonder, what is the purpose of Twitter and Facebook?

To make money. To meet the social interaction needs of humans. Humans are social animals and need some form of intimacy and friendship. These applications help people meet those needs.

Why did they write that software and not something more useful?

I disagree with the premise of this question. And my disagreement takes 2 parts.

Part 1:

No one can decide what is "more useful" for other people. That is one of the wonderful and terrible things about the free market: you can make stuff - good stuff, bad stuff, evil stuff, crap stuff. And the people who willingly hand over their money are the ones who are voting whether this stuff is good or not - not you; not me. This isn't the Soviet Union where some central committee sits around and decides what is more useful for the rest of mankind (or maybe just their small part of it). Don't forget that the Soviet Union ended up going out of business themselves.

The "free market" works (most of the time). Everything else works even worse. Churchill said "No one pretends that democracy is perfect or all-wise. Indeed, it has been said that democracy is the worst form of government except all those other forms that have been tried from time to time." And he was right about that. Don't forget that the free market is economic democracy.

Part 2:

I think you ought to learn about Maslow's hierarchy of needs. Applications like facebook and twitter fit into the "love and intimacy" tier of Maslow's model. As such, they fill a vital need in human wants and desires. That makes them very useful indeed.

Do you think developers have some kind of responsibility to work on technology that could further human progress or should they just develop anything that some users want?

No. Again, I think the premise of your question is wrong (the term physicists use is "not even wrong", logicians would use "false dilemma"). If you feel that you need to work on stuff that furthers human progress, then that means that you are working on the top level of Maslow's hierarchy: self actualization. To get there, all of your other needs have been met (enough).

Disclaimer: I use neither twitter nor facebook.

share|improve this answer
"No one can decide what is "more useful" for other people." I disagree. In certain fields, there is a determination by a body of qualified peers as to what is "useful" and what isn't. Software development doesn't have that same kind of rigor. – berlinbrown2 Jun 7 '11 at 3:31
@Berlin Brown, and which body of peers is qualified to tell you that your art is useless? – zzzzBov Jun 7 '11 at 4:26

We wouldn't even have computers if it weren't for a lot of experimentation with magnets that served "no explicit need".

share|improve this answer
There was no need but the older models of computation were not as "useful" or productive. Maybe we could have stuck with punch cards or pencil and paper or electronics that didn't have stored programs. But the computer survived because it was efficient and useful. – berlinbrown2 Jun 7 '11 at 2:14
Older models of computation? I'm talking about the guys who were waving magnets over loops of wire and taking notes. – benzado Jun 7 '11 at 3:19
I would say that the modern computing is based on mathematical logic and theories of computation. Alan Turing came up with the concept of the stored program computer. That didn't necessarily rely on a particular implementation. It could have used simple electronics or integrated circuits or pen and paper. Why did Alan Turing and Alonzo Church come up with their theories on computation? At the time, there were major wars going on. Alan Turing was asked by the government to break encoded messages. He was asked to use his experience with computation to help in the war effort. – berlinbrown2 Jun 7 '11 at 3:25
My point is that a lot of basic research that didn't seem very useful at the time (even by the researchers) has been directly responsible for some immensely useful things, and that there's no way to predict in advance what will lead to what. This fact renders the question "Should we focus on useful things?" meaningless. – benzado Jun 8 '11 at 0:26

Both Facebook and Twitter gave us new means of communicating. That is useful. Just look how it served in the Middle East during the Egyptian uprising. Twitter was critical to passing along information. It was so critical that they shut down the internet to thwart it's influence.

On to what we should be building, anything which helps us do something more easily or solves some pain point. You don't necessarily have to cure cancer, you just have to make someone else's life a little better in some small way.

share|improve this answer
+1: We didn't need the telephone, either. Further, the decision of "useful" is not easy to make. There are lots and lots of subtle issues with trying to decide what's "useful". People -- in general -- are more clever than one person making claims that something is or is not "usefule". – S.Lott Jun 7 '11 at 1:57
S.Lott. We know that the telephone is useful but I bet there were other ideas and inventions that were less so. The telephone survived up until today. Maybe we didn't need the lightbulb and could have relied on candle light. But someone considered that the lightbulb and electricity was more useful. – berlinbrown2 Jun 7 '11 at 2:12
@Berlin Brown - and now candle light has been elevated to a higher level-it's romantic. Now that is what I call useful. – JeffO Jun 7 '11 at 2:44
It is romantic now and in the past but imagine life if we only had candle light. – berlinbrown2 Jun 7 '11 at 2:45
@Berlin Brown: Bell was not trying to invent the telephone; he was trying to create a "voice telegraph" to replace Morse code at Telegraph stations. He knew that a personal telephone was useless and he should focus his time on something more practical. Do we have voice telegraphs at voice telegraph offices today? – S.Lott Jun 7 '11 at 9:59

Facebook made it possible to connect with high school friends I hadn't seen in 20 years. Now that's what I call building a bridge. If you can help people socialize and/or entertain them, you are doing a great service to the world. Unfortunately, there are many who take on the challenges of tough problems to the detriment of humankind. That' why we have atomic weapons.

Sorry, but I NEED to listen to music, watch movies, read literature, laugh with friends, watch football and play video games. I have the opportunity to not live only for the sake of utility. What you describe would make for a sucky world.

"I must study politics and war that my sons may have liberty to study mathematics and philosophy. My sons ought to study mathematics and philosophy, geography, natural history, naval architecture, navigation, commerce and agriculture in order to give their children a right to study painting, poetry, music, architecture, statuary, tapestry, and porcelain." - John Adams

share|improve this answer

Remember, those developers curing cancer have lives and twitter and Facebook can improve their lives and help free their brains. Same way an mp3 player might improve the working conditions in the lab.

share|improve this answer

Some historical consideration, if you will.

Wiki Wikipedia History of Communication

All dates are stolen from wikipedia, and very very approximate, don't bother to correct them unless there is a glaring error.

  • Invention of speech: Forever + 1 day ago
  • Invention of writing: 3000BC
  • Invention of printing press: 1440
  • Invention of car: 1770
  • Invention of train: 1800
  • Invention of telephone: 1870
  • Invention of radio: 1890
  • Invention of plane: 1900
  • Invention of computer: 1940
  • Invention of internet: 1960
  • Invention of space shuttle: 1970
  • Invention of World Wide Web: 1990
  • Invention of Google: 1998
  • Invention of Facebook: 2004
  • Invention of Twitter: 2006
  • Invention of StackOverflow: 2008

Ok, so what do all of these items and dates have in common? They're all transportation & communications technologies. As transportation is improved, more people are able to come together from a greater distance. As communications are improved, more people are able to share in the resources of a community.

Facebook and twitter provide forums for communication, and communication is very important. Albert Einstein wasn't a genius on an island, he was a genius who surrounded himself with amazingly smart people to learn amazingly complex things.

I believe many of the technologies on this list would have been developed faster with the presence of social networking. Imagine if Orville and Wilbur Wright had posted their flight video to YouTube? It would have gone viral, and we probably wouldn't have taken 45 years to break the sound barrier.

@Berlin Brown you mention that researchers need complex models and software to solve their problems. I believe that completely disregards the creative power of the social human mind. Much progress has been made by the serendipity of an outsider who happens to make a naive suggestion that just happens to work.

And really, if we had to trade away our art and culture to rid ourselves of disease, would our "healthy" life be worth living?

What kind of software should we write?

I prefer not to answer normative questions with no moral context. I try to write the best software that I can. I try to incorporate usability, accessibility, and entertainment to the best of my abilities. I believe that is the kind of software I should write, but you are allowed to disagree.

What technology should we deliver?

Whenever possible I try to make something new. I want the software I write to be useful and helpful. If I make another person's life easier, I feel that I have been successful.

share|improve this answer

We should write usable software that solves a problem.

It doesn't have to solve a problem on a global scale (although it could), it just has to solve a problem and not cause the user any pain. Do that enough times and the world becomes a better place to live.

[cue chirping birds and galloping unicorns]

share|improve this answer

I could be wrong in seeing an assumption in the question: that once a task has been done, humanity should move on to higher tasks. If not, what you are seeing with Facebook or Twitter or the next best thing to come up is, a part of humanity wants to do it in a different way than was done. Facebook or twitter, appear to be new ways of communicating. Communication is an old problem.

If you are looking for interesting/important problems, starting with formalizing common sense (the problem that late John McCarthy spent his life working at) should be good.

Software or not, if you look at Japan's export these days, a non-trivial part of it is machines(usually very small in number) that help make machines(many many, most of which are used in factories around the world). That should tell you something.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.