Quora vs. StackExchange: Why, Joel, Why?
techcrunch.com
techcrunch.com
StackOverflow should change absolutely nothing about their login process. It is perfect. I anonymously answered one question, and all of a sudden I have a profile. No confirmation e-mail, no Facebook or Twitter crap. Just use the site and bam! you're registered. It remembers me every time I come back and it makes absolutely no fucking attempt to worm its way into my social graph.
http://stackoverflow.com/users/account-recovery (this is linked from /users/login)
It does require that you provided a valid e-mail address at some point, which we don't require.
If you do provide one, it lets you recover your cookie based account is all.
The "account" is as throw away as you want it to be, basically.
Looking at the code, we do require something that looks like an e-mail, for recovery purposes (I assume, that code predates me by a bit). It is not, however, verified.
You can get the lion's share of a Stack Exchange's utility without registering, and this is quite intentional.
(a) the end user has lost something invisible that they didn't even know they had
(b) the method of recovering the invisible token is to go to what is probably the last place they are going to look
a + b = full retard
// and you should never go full retard
Maybe it works for you, but I'm still utterly confused about how to login. But hey, I only have about 25 years of coding and online experience.
To be fair, it's not SO's fault.
On the login page they list a bunch of common providers you can login with if you already have an account with them: Google, Yahoo, AOL, Facebook, etc. Click their icon, type in your credentials.
If you don't have an account with one of those or don't wish to use them then it has a big register link to sign up with a myOpenID account.
It may have actually been useful if it leveraged DNS SRV records so you could login as foo@bar.com and it would query SRV _openid.bar.com for the URL.
Then one day I was signed out -- the cookie finally timed out, or was cleared somehow, etc., and I arrived at the login page, and was totally stymied. I always sign up for new services using their_domain@my_domain.tld, and that hadn't been possible here, apparently, because asking for a reminder with stackoverflow@my_domain.tld failed.
Ah, I must have registered with an account at any of these half-dozen sites. Well, I have accounts at all of them -- sometimes multiple accounts for different purposes -- all using different email addresses. I had no recollection at all of which I had chosen; I was totally stymied.
After a few days of trying different ways of getting in, I finally figured out the right one (still don't recall), and then could set stackoverflow@my_domain.tld as my backup email, so now I'm covered... but it was the worst sign-in experience I've ever had.
That was an absurd statement. Why don't you rather tell us what confuses you about the login process?
Now I open Firefox. I try to login to OnStartups, because it doesn't know who I am. I click on Yahoo, go through the authentication process. Guess what: it says it can't find that account on OnStartups (wrong answer), but finds it on StackOverflow, and asks me if I want to link it to my new account. What???
It's almost as bad as the experience I described with multiple Google accounts: http://blog.fairsoftware.net/2010/11/15/the-10-step-google-l...
I do think the no-login approach is exactly right, but their implementation seems a little buggy.
Something for other HNers to keep in mind if they are considering openID for their next project (flee, flee!)
In fact, when it comes to security, I assume most developers are about two steps away from handing out root on request.
But OpenID is easy to screw up. Practically everyone has enormous problems with their implementations. (This goes seven times over for yours truly.) Which is (yet another) knock against choosing OpenID for anything important, versus systems which evidence exists can be implemented correctly. It is possible to bork username/password, but it is possible to implement it mostly correctly, too. I do not think it is possible to implement OpenID correctly. (For what it's worth, StackOverflow's is the best implementation I've seen from the user's perspective.)
If anything on a site is ever confusing, it's always the site's fault, not the user's. So don't feel bad.
It's a pretty fundamental part of usability, design, and business in general. Blaming your users is never a good idea.
Sometimes providing a perfect user experience is equivalent to solving the halting problem and not recognizing this is as big a problem as believing that all problems are the user's fault.
Nitpicking specific examples and then saying "oh, well this disproves it" proves nothing. 99 out of a 100 times, blaming the user isn't the right move. For the sake of brevity, I used ever and always.
Personally, I prefer keys (long, randomly-generated passwords stored in a file or device) to passwords, but I don't know of any reasonable way to authenticate to a webapp with a key.
Users had complaints about Windows UAC doing this for every instance (not just downloads).
Right. This misunderstanding was the entire point of my post. Distinguishing between the "safe" downloads and the "unsafe" downloads is an instance of solving the halting problem.
Also, I was thinking of the Chrome "Run Application" dialog, not the UAC.
So it is in your best interest to "solidify" your membership if you care about your account.
Quote of the year.
As someone who goes to Stack Overflow regularly I see this situation all the time. It goes like this...
1. Person asks a question (e.g. "I need to build a service that will serve school districts in Los Angeles County. How do I go about doing that?")
2. Someone comes along and answers the question with something that seems right (e.g. "Here are a bunch of links on building REST services...")
3. That answer gets upvoted and the answerer gets his reputation boosted
4. Later someone comes along with the right answer (e.g. LA Unified requires all services to be WSDL discoverable so you need to look at SOAP"). But it's too late because the question's already scrolled into the abyss.
So the guy who gave the wrong answer gets a better reputation and the guy who got the right one gets nothing (and the person who asked the question likely took the upvoted answer and didn't check back so they waist untold hours on the wrong thing)
They've taken some steps to alleviate that (badges for getting an older answer upvoted to +5), but it's still an issue.
But: As a SO-consumer this particular problem doesn't phase me.
The better answers usually have more votes and sometimes the green checkmark is even on the best one - but when it's not, who cares?
To me as a SO-consumer a bigger problem recently has been the duplication. For any given question there may be dozens of threads which makes it harder to track down the good one(s). If SO wants to improve they should imho work on their deduplication efforts.
This might even be automatable to a point; let users vote on questions to be merged, and perform the merge when either the author agrees or a vote-threshold is met.
And who doesn't read the top few answers, if not all of the answers, anyways? Even if you expect the top answer to be the right answer, subsequent answers often help you understand the problem space a lot better.
Moreover, the person asking the question has the most interest, but the least capacity to be patient. And, likewise the initial status-seeking answerers can get edgy for a quick tick.
edit: however, I do not minify on-the-fly, I keep the source HTML, CSS and JS files space and line-break compressed (and variable-name compressed.) The speed increase may be due to less going down the wire, or it may just be faster to process by the browser due to some other mechanism.
Also, having css and JS code within the HTML itself has sped things up too - no external files.
Have a look at the source of http://twitya.com/index.php - I also Gzip that, and this speeds it up as well. I keep a few line-breaks in for readability.
Takeaway: what matters most is having as little data go down the pipe as possible in a compressed fashion, and not worrying about server load - that could be offset by the improvements on the browser.
Also, Gzipping http://hackerbra.in has led to a marked improvement, with its large slabs of text.
SO has one of the best UX on the web. I don't care if you call it Web 1.0, 2.0 or Blue Oranges 35, but don't clean it.
And also - "clean up by letting people log in with Twitter and Facebook"? How do you clean up by adding stuff?
Level 0 (basic):
• XHR, not ajax
• No anchoring namespaces (no /r/ or /b/, just have users/spaces at the root.)
• No file extensions in URLs (no .html, .cgi, .aspx, ...)
• All production HTML/JS/CSS has newlines stripped to 32k characters per line.
• gzip for all html, js, css, json, ...
• Proper password storage
• Not exploitable by injection
• No XSS problems
• ...
Level 1 (extended): Level 0 +
• Proper expires headers
• Proper CDN usage
• All authenticated transactions over https
• All JS/CSS minified but with full versions readily accessible.
• ...
Level 2 (optimal): Level 1 +
• All pages generate in under 300ms
• All images properly sized/crushed
• ...And, when the site has minified the JS/CSS, how would full versions be readily accessible?
A site that is happy with others learning from their own good practices won't want to do things that have the effect of obfuscating their resources, if the savings are very small. So other than the 'levels', you might want to split your benchmarks on whether collateral obfuscation is considered positive/neutral or negative.
As for having min and non-min, I like to have "file.compressed.js" and "file.js" available. We shouldn't shut off all avenues of learning for the sake of expediency.
Going for the vertical communities (which have some overlap, no doubt) is a very clever strategy - it works.
Pray tell exactly what Quora is achieving with its strategy. Right now it looks like an over-hyped version of Stack Exchange - Startups.
But I doubt online reputation is that important. The reason I visit StackOverflow is to find answers to programming questions, not to look for experts. As for the experts, they don't need high karma on some Q&A site to get job offers.
The network effect and the quality of contributors is everything. Start in an entirely new field and you'll end up with the blind leading the blind, and the quality and reputation of the site will plummet. Just take a look at That Other Q&A Site.
For a new field, the site needs enthusiastic and highly competent contributors; otherwise it will fail.
But one thing I think they're messing up is the process for launching new StackExchange sites. They're trying this thing to qualify new sites to ensure they have critical mass, but I think it's too restrictive and hurting their growth.
As an example, I "pledged" to contribute to the AI stack exchange site if it were to launch. When it launched as a trial it received maybe 100 questions and some good answers in the first few weeks. I got answers to all my questions - good ones which pointed me toward research I hadn't found in Google etc.
But a week later it had been shut down and they emailed everyone saying it didn't meet minimum activity thresholds. Those questions and answers are no longer available on the net.
The question is whether a StackExchange site with relatively small activity is still useful. I think it is - at least it's more useful than not having them at all. Who is to say a small site couldn't become much bigger over time.
Reddit has done well letting users create any subreddit they want. There is a diverse ecosystem of subreddits out there with varying levels of activity. Keeping the long tail of subreddits around to see which flourish doesn't seem to hurt anything - so I don't understand the StackExchange approach to this.
(It reminds me of Wikipedia deleting obscure pages also - what does it hurt to have them?)
As has already been mentioned elsewhere, if the site lacks genuine expertise of the topic, the blind will simply follow the other blind. Putting a site that doesn't work out of it's misery is doing the users a favor in the long run
Some topics - of which AI is quite possibly one - are simply more niche than others, and therefore naturally will have less askers, less answerers and less experts.
Perhaps a better metric than raw activity level would be proportion of questions without an accepted answer? The tumbleweed sites that "don't work" would be characterised by many unanswered questions.
Sites also don't have to be 'important' for them to matter to people.
Of course, it's all ridiculous (for now). Most people in the real world have better things to do than troll around on Q&A sites hoping for karma. Until someone figures out how to convert karma into a competitive paycheck, this is all nonsense.
Someone can be clever and knowledgeable, and still be a poor employee or co-founder. (And, my least productive times are often when I'm most interested in what's happening on reddit/HN/etc.)
What is good about sites like StackExchange is that they encourage public discussion, and knowledge sharing. So if you have a StackExchange account, an HR rep doesn't have to just take your word for it that you're a well spoken, helpful individual---they can peek over on StackExchange and actually see your answers, comments, and questions. The karma attached to them is a meaningless indicator of popularity and not quality.
1. It is useful at work
2. It is useful for getting work
He dimisses the possibility that people asking questions about photography might not be photographers doing it for a living ( and a hodgepodge of sites focused on photography, mathematics, Apple, video games, board games, role-playing games, and science fiction. Interesting? Sure. Important? Hell, no. )
Besides who can be more obsesses about scores than gamers?
Here's a meta question asking about the differences between the two sites:
http://meta.math.stackexchange.com/questions/41/differences-...
I do not think reputation should be owned by a single site because unlike social networking, there are going to be lots of places to contribute to your online presence.
Yes, stack overflow is important when trying to hire a programmer, but I have also looked at blogs, twitter, github projects, etc.
What really needs to happen is for a startup to create a way to aggregate activity online into a central location to disseminate to the world. Blogging made sense as a means to communicate an idea in 2001, but 10 years later, this needs to change. The internet is shifting heavily towards one that is more focused on communities and the interactions in that community are what are most reflective of an internet identity/reputation.
Just think about your own lives. Yes, sometimes you have one off ideas that you would love to blog and tweet about. That's great, you should keep doing that. But I bet you are also dropping bombs of wisdom on various sites like Quora, Hacker News and Stack Overflow that you wish you could share with more people and keep in a more permanent place.
There needs to be a central place to disseminante the highlights of an online presence. And that site should own the online reputation.
More recently, about.me (acquired by AOL) and flavors.me have tackled one portion of this, the user-controlled aggregation of their multiple presences. There may still be prospects for a new service, though the resistance of existing reputation silos could be a problem.
I think those are all trying to tackle a subtle difference than what I am talking about. About.me and Flavors.me is more so about one off content creation and status profile sites (blogs, twitter, linkedin, facebook).
What I'm saying is that things like Quora, Hacker News, are now becoming the preferred medium to share ideas as opposed to standalone sites. Many Quora answers are essentially blog posts.
And Jeff always proclaimed that the purpose of the site is a very pragmatic one. To be a source of help for the specific professional community. Not a place to meet your buddies and hang out.
And there's a place for both. Personally, I like that StackOverflow stays away from too much social interaction and focuses on providing valuable technical content.
I'm giving my nod (for whatever that's worth) to the Stack* sites for putting questions right on the home page
http://quora.com/ puts up a wall.
But what takes the cake is the history tracking that Quora uses. It suggests topics that interest me. Like both Barnes and Noble and Borders... from an article I read on HN yesterday. Blatantly telling your users that you're spying on their activity is a great way to endear them to your service.
Also, the attack on the "other" SE sites is lame. I regularly visit and am active on the Physics SE, and Quora's got nothing on it.
All these "other" SE sites are built around the things that real people are passionate about. That stuff is quite important!
Sadly, many answerers are just point hunters. They seem to monitor questions and quickly google for answers. I observed this asking specific detailed questions. Most answers were something obvious, something without accordance to the details of the question, or just blind guesses. People are just putting answers in the hope they will earn at least an upvote!! It's not only stupid, but i guess it's a massive abuse of the original idea behind this site.
Add the fact that most points are earned by people answering questions about C#/.NET. It's related to the fact that this platform somehow has masses of mediocre programmers, or even people suddenly put in the role of programmers. They go asking tons of questions while they should rather RTFM or polish their skills by coding. No wonder that a mass of questions generates a mass of answers. So the whole stack exchange idea of points is about quantity, not quality.
Lots of short, google-able answers to trivial questions will get you much more points than thoughtful answers to hard questions.
SO can be useful for preliminary screening, but only if you look at the actual answers.
The way I see it there are two main ways to use someone's Stack Exchange reputation.
First just using the fact that they have an account and reputation, in finding out how involved and engaged they are with the community.
Secondly drilling down into the questions they've asked, and the answers provided to get a better understanding of someone's strengths and weaknesses, and seeing where their expertise lies.
Also at the end if there's no other way to make a decision between two people, one can just take the person with the higher reputation score.
StackExchange and Quora are only very superficially similar. StackExchange is very specifically about asking questions that have definitive answers, and getting those answers.
Quora is a question-based social network discussion site.
Not the same thing at all.
People can smell when someone not from their domain tries to make something for them - and it does not smell good. In order for the SO model to work, they need experts versed in the area to be the core of the community. There are two ways to do this: try to attract such people after creating the site, or let the site organically arise because it was created by such people.
What works for programmers doesn't necessarily work for other groups (and vice versa). I will be shocked if any of these becomes a site as important in their respective field as SO.
As for Quora... Please for God's sake TechCrunch will you shut up about Quora. It's a Q&A site with a Facebook login that is liked by the Valley insiders--and is thought important by the same--because the other Valley insiders use it.
Until it gets appeal beyond the Valley it's a storm in a teacup. What's more I'll go out on a limb and say Quora will never get mass appeal.
To the Quora founders: congratulations on the Emperor's new clothes. Sell up before the jog is up.
What question2answer needs is a plugin that calls upon the right users to come in and answer a question according to its tags and categories -- and ideally some shared session/domain login.
With Q&A, one should go out to where the action is happening, so decentralization is the key in this case.
It's less clear right now that the StackExchange / Area51 model is working. The process of selecting topics, building support and getting going looks good on paper, but it looks as though it's lost a lot of momentum.
So the StackExchange team need to take seriously the issue that as things stand, the model of building out into new Q&A territories can't depend solely on people who are comfortable with SO (e.g. devs) and take that familiarity into another sphere (e.g. devs who also bake).
But I am not sure how important can it be in communities with many many users and without a well defined focus. He refers to a few metrics for the social component but it is not clear yet what a good and appealing "reputation metric" could be.
And who is pronouncing Twitter as the silver? None of my Fb contacts are even remotely aware of any of the apps I use, never mind have an account or a need to use them. With Twitter I usually find at least ten followrazzi for every new app/service I sign up for.
Twitter is business. Facebook is the ten dipshits and the nine-toed women I used to know.
I guess this is a fundamental problem with any metric that reflects popularity.