On my site (www.dipoll.com) I offer FB connect, Twitter connect, and regular email/password registration. 95% of my users join with Facebook connect.
I may very well do away with Twitter and email registration. Some of those 5% of new users might use Connect, and some might leave. That's fine. What I care about is streamlining the experience for the vast majority of my user base.
"I too believe you should have your own auth system as a base, but maybe someone can provide some numbers proving that it actually is a waste."
This is the way to look at it. Each service should test, analyze their numbers, and make the decision that makes sense for them. Blanket statements like "startups should never only use X for authentication" are just wrong.
So, this isn't a useful number for the OP (as it doesn't compare against a direct email/password registration), but people may still find it interesting:
My application (an alternatie to the iPhone App Store) supports Facebook Connect and Google Login (using OpenID). As I'm selling products, I can do a direct revenue breakdown on the two services, which shows a 2:1 advantage for Google accounts.
(If anyone is interested, the 2:1 Google advantage holds even if I control for "in the United States"; about 50% of my sales are in the US, so I have a great statistical sample, and the login breakdown for the rest of the world is nearly identical.)
Maybe not great for real uses as the top hit isn't always right, but I know of several parties where this on full screen would be an instant win at least.
Funny you should ask about this when me and 4 others are having a hackathon this weekend.
The plan for us so far is to use fri/sat/sun and spend aprox.. 5/10-15/5 for a total of about 20 hours * 5 = 100.
Normally you'd probably opt for longer stretches but I want to ensure we aren't tired when monday comes.
Pair programming: Yes, if it feels right - but I'd rather call it group programming, utilizing everyone.
Sit everyone in the same room, face to face and side by side. A ring is perfect.
Have a whiteboard and papers in the room.
-- Time plan
Friday:
Set up initial plan - what to build
Describe initial functionality and spend a bit of time to make a few use cases
Discuss and lay out impediments
Create something like tasks for what needs to be done
Hack, hack, hack till a first iteration
Replan after first iteration that solves something - change the path?
Saturday will be all about iterating.
If someone feels to brainstorm something, do this right away unless someone is in the zone.
Try to include every one in every discussion and keep it under 10 minutes.
Decide and try fast.
By the end of saturday we should have something working thats about where we want to be.
Sunday will hopefully be for adding sugar coating and the features we thought of during our sleep.
Maybe refactor.
Final touches.
At the end do a summary, get input on how we felt the hackathon went, what have we learned etc.
Launch it and blog it.
-- Time splitting
We have a dedicated designer, some dedicated backend devs and some frontend so not everyone knows the same stuff - task delegation becomes logical and we dont have to split that much between these tasks.
Focus on function.
Design on a non completed function is worthless.
A completed function without a design is not (default browser styling)
Focus on value.
Regarding breaks I think I will try to take break whenever I'm NOT in the zone. For a hackathon your basically not producing unless your in the zone, you wanna be in the zone every minute you sit in front of the monitor.
Surely you can. Wouldn't you be loyal to your own startup if it turned into a corporation? Any way, you should be loyal to your employer while working there, but that shouldn't be mistaken for selling your soul to them.
I don't see the problem with being a job hopper except it sounds really hard to jump jobs once a year or more often considering it takes about half a year to get settled into a new job.
Personally I've set myself a 5 year limit as max time to work at one company before moving. This is part of my not-form-lifelong-habits program.
So even if I do have my dream job I force myself to leave after 5 years.
Forced perspective is good for you, you should always try to push forward and you can't do that by sitting tight in a job.
I would be skeptical about hiring someone who switched jobs 6 times the last 5 years, but I'd be even more skeptical hiring someone at 30 with less than 5 jobs on their CV as that might suggest them being lazy sods who didn't have summer jobs etc.
I doubt I would design a site differently, but I sure as hell would make sure I connected to the "open graph".
Its simply to big a win, it can't be ignored unless your a big enough player.
And may i restate: The API is slick and sexy and feels damn open.
The only downside here is that its a company like facebook that ends up as the biggest winner. But should you as a minor site really give a damn? I mean, its unlikely that facebook is in competition with you anyway so its not like you actually lose anything by giving them data.
And isn't this really a step in the direction the entire web have been crying out for a long time? No more data duplication, "let me put my info one place and then pluck it from there".
I consider todays f8 to be quite major for web developers like myself and obviously for facebook as this means they are actually heading towards their goal from some time ago; Becoming a platform.
Indeed privacy concerns aside, but I completely agree.
This will have a huge impact on the web, how can you pass up on 400M users (will probably be 1B in less than two years) and their data on your site?
I love the idea of heading to amazon and get a list of movies I haven't seen that my friends which i share movie taste with have rated highly on IMDb. I mean, woha!
Regarding the privacy concern its merely a shift in what is private and what is not - this I think can not be stopped by now.
Most of us will not make millionaires by programming, sure, but I would still consider it a lucrative profession:
You can enter it without any education other than self thought much easier than most professions, that more formally requires some degree.
It can potentially offer a great deal of freedom compared to a lot of other professions. Freedom as in most programmers doesn't really need to have 8-4pm office hours, it's possible to do quite a lot of your work even while on the road.
The pay might not be sufficient for getting rich instantly, but certainly enough to live a good life.
However, the fact that you have to spend so much time researching in you spare time to keep up isn't always reflected in the pay.
I agree on the spare time facet, but I feel my life is improved beyond professionally by such research. I pick up economic, psychological, and scientific knowledge that I don't think many get exposed to for an extended period of time. As an aside, the educational portion really is the way things should be in society - you prove yourself for a job rather than buying a degree.
Edit: CS is lucrative at the high levels and the average of 60k can be plenty to transition to being an entrepreneur.
Sound advice and well written, even if its old its a nice collection of thinks to think about. I wonder if "people" will start understanding #17 (No project is ever simple) some day.
1. It may be our own fault -- A lot of things have known solutions, and if they aren't simple we haven't created good enough tools/abstractions. This doesn't apply to truely new stuff, but I could argue that a lot of stuff isn't that new.
2. Absolutely, but so often its like the old kung fu movies jokes. The chinese being spoken is 3 words, and the translation is 3 lines, and the inverse. It makes a naive sort of sense that it should be a simple to do if it can be described simply. (of course karma can be built by letting hte user over describe some things and having them done realtime, some are then more likely to beleive you if you say "its harder than it sounds")
It would sure make freelance work a little more pleasant. How many times have you heard "This was supposed to be a 3 week project...that was a year ago"? You'll probably never hear something like "Well, we thought it was going to take 2 years and require a mainframe, but we banged it out in 6 months running on Postgresql."
I have heard this though, from the designers of a system (about 4.4 years through a five-year research grant): "You're going to implement how much of this in 6 months?" and after I told them, "Can't be done! Flat out impossible."
It took me 6 months and a couple days, working 40 hour weeks.
I think it takes an actual "simple" project. Mine[1] was supposed to be trivial. Someone who comes now an see the 350 lines of code may think it was easy.
It wasn't. It's not even complete, and it took me several weeks of free time (much of which was spent simplifying my code).
What the heck ... there are some bad ideas in there.
#3 - The people worth being social with are those who are themselves (to the extent anyone is fully themselves), so if you merely play a character it will not help you form any interesting relationships (which is why we socialize, right?).
Indeed, the "you" part must be served at the correct dosage, but don't just act like whatever others expect you to.
#4 - Indeed, before you say anything make sure you listen a lot, rather keep your mouth shut and get a view of what people are talking about and their stances. But, when you finally say something, make sure its never superficial but relevant and stuff that intrigue the others. Asking deep questions regarding something is the best way of showing an interest. If its too boring a conversation, listen for a while and move on - not your crowd.
#6 - Agreed, don't be too pedantic, but if that's your flaw no one will dislike you that much for it - and if they do, screw'em. I'm too pedantic, and some people hate it so i try to tone it down, but I believe in being yourself so it sometimes comes out either way.
#9 - Someone will ask of your job, and when you answer "IT" they will 90% of the time ask you to explain further, unless they already view you as completely uninteresting, at which point nothing matters really. I have tried to explain to some extent what i do as a programmer more than a 100 times, and especially to women with no technical understanding there's just no working analogy and after 15 minutes of back and forth we tend to settle at "computers and stuff" and I can use that settlement as a humorous thing - in other words, something positive. If you are remembered as the person that simply couldn't explain what the heck he's doing then that beats not being remembered, 10 out of 10 times. Just go for it.
People tend to like passionate people, show your passion but restrict yourself from the geeky way of presenting it. And take equal passion in understanding what they tell you, if someone talks about the fashion business you probably wouldn't understand a thing would you? ;)
Make a joke on your own behalf out of these things.
In general these tips sounded like a guide to lowering your social self esteem and how to not meet and get to know people. If that's your thing - stay home in the first place.
Rather talk to people, take interesting, share of yourself, don't hog a discussion though and let everyone have their talking turn. Be a good listener first and then talk, no one likes braggers indeed.
Learn to take an interesting in dead boring things that others find interesting, you might even be surprised just to watch how passionate someone will be over something so amazingly stupid. Remember to keep eye contact with people your talking to (not constantly though, most will be intimidated). Probably the best tip for looking interested is focusing on their nose, people cant tell the difference between that and true eye contact most of the time. (It will be easier for you, after all, these are things you have issues with probably).
I'm not saying I'm some expert, but I'm an overly social geek who loves people and knows a lot of them, and all of them know I'm a geek and i clearly say that I am as well. I've never gotten any disrespect for being a geek, although once in a while it will make women lose their interest as soon as they hear it - though not most of the time.
"In general these tips sounded like a guide to lowering your social self esteem and how to not meet and get to know people. If that's your thing - stay home in the first place."
sorry i didn't make it clear enough in the original article, but these 'tips' are for occasions where you're forced to be there in the first place (e.g., dragged there by significant other, family members, work colleagues, etc.), not for when you're voluntarily trying to go out and meet new friends (or prospective dates). maybe i should add in a bigger disclaimer up-front (i think i said it in the "Summary" box, though)
I too believe you should have your own auth system as a base, but maybe someone can provide some numbers proving that it actually is a waste.