I'm co-founder of HiveSight (www.hivesight.com), a startup that provides consumer market research online.
I'm also a Ruby enthusiast, so a lot of what we do in HiveSight is built with Ruby. A lot is also built with Java - when it's speed you need, Ruby isn't the way to go. The combination has worked great for us so far.
myspace, facebook, bebo, hi5 - they all make money from advertising.
They're not making as much as you'd expect given the number of page views that they're getting though, so if you're planning a new social application keep in mind that you have to get huge in order to make significants amounts of money.
Search has made gazillions for Google because it captures purchase intent, which they translate into the best possible (for now at least) targeted advertising.
So if you're in search it'd make sense to try the same strategy (if it ain't broken, and it sure ain't, don't fix it). It doesn't have to be advertising, but it has to have something to do with purchase intent, helping people find what they're looking to buy, and monetizing that somehow.
Here's an idea - what if I'm looking for a particular product on ebay, but my purchase decision really depends on how the product looks. Maybe it's some object of art. Maybe etsy would be a better example than ebay. I don't know what you're technology is like so it's hard to tell.
In any case, I'd look at riya.com - are they your competitors?
Speaking from experience: I coded many thousands lines of Ruby code for my startup all alone. Then we raised seed, and hired a few additional developers. Two of them joined my project and took over the development from me. They're both very experienced programmers, but had no prior Ruby experience. It took them less than a month to become productive. Srsly.
In short, if you write good code and bring in good developers, Ruby probably isn't going to be a problem.
I think that names shape the way in which you think about your product, as well as the way that other people you talk to respond to your idea. Hence, a good name up-front is important IMHO.
When trying to select a name, think about the message that the name sends, the impression that it leaves, the way it primes whoever hears it for the first time. It doesn't have to be descriptive of what you're doing, but it should probably convey your general approach to how the company should be - e.g. serious vs. fun (personally, I prefer the "fun", but it's really a personal thing).
Think about what your application's supposed to do - what are its benefits for users, then come up with some metaphors for that. Should be terms that give people a general concept of what it is that you're offering. Then use the various domain search engines mentioned here until you find a free domain.
BTW, make sure you can get the .com, .net, .org, and that all the rest (.biz, .us, .eu) are free. Once you're certain you have a name you'll stay with, register a trademark ASAP.
TortoiseSVN just sucks. I'd rather use the command line. Actually, I do...
For the times you just have to use a GIU, try SynchroSVN. It isn't free, but worth the price IMO.
My co-founder and I worked each in his own home for about 8 months, meeting face to face one per week or two. That worked OK, but it was obvious that we'd be more productive if we both worked in the same place.
Recently we stared hiring more developers (3 so far), and it became clear that we just have to have a central place where everybody spends at least some of the time. We keep the hours flexible, and anyone can work from home as much as they want, but still, getting face time with each other a few days per week is priceless. You can't really coordinate a team's work efficiently when you're completely distributed IMHO.
Depends on what you mean by webservice - SOAP or REST.
Rails works great for REST, but not for SOAP.
For DB interaction, I really like ActiveRecord. Don't think that PHP can offer any serious ORM alternative.
As for scaling, well, Rails has just a few real world test cases, whereas PHP has many.
Depends on what you mean by webservice - SOAP or REST.
Rails works great for REST, but not for SOAP.
For DB interaction, I really like ActiveRecord. Don't think that PHP can offer any serious ORM alternative.
As for scaling, well, Rails has just a few real world test cases, whereas PHP has many.
Can you persuade potential investors that you have a concrete advantage over competitors? Something that they can't (or won't) copy easily?
As for the size of the market, IMHO there's no such thing as "large enough for all of the competitors to co-exist" on the internet. That works maybe when you can carve yourself a geographic niche (e.g. grocery stores, banks, and there's consolidation going on lately in both markets). When online markets mature, only a handful of competitors survive (e.g. search).
You may want to try and redefine your market - as a subset of the large market you see now. Try to show how there are customers whose needs were overlooked by all other competitors, but you're going to serve their needs and thus come to dominate this niche.
If you had/are having fun and don't regret for a minute having left your day job to start your startup, then it's a success.
Of course, it's best to measure that at least a year into the thing.
I guess that's true in most industries - women had to work much harder than men just to get their foot in the door, but eventually perceptions change - when there are enough women there to change the (mostly unconscious, I think) perception.
I think that there's a good chance for a change here. I know very few female hackers, but they tend to be really good - I guess it takes being way above average to be able to penetrate a group that's predominantly the other gender/race/views/whatever. However, if you do have the ability, and the tenacity to survive in such hostile environment, you probably have a better-than-average chance of success.
Senior Software Engineer at a large co. that was still somewhat connected to its startup roots. Then it got acquired by a huge co. with a real stifling culture and it was time to leave.
On the plus side, I made good money during that period, and managed to save a bunch, so now I'm using that to bootstrap my own startup.
We're using both Java and Ruby.
We started out with Ruby and Rails, which worked great for the prototype but we have some very processor-intensive operations and the Ruby code won't scale. Rewriting these in Java produced an instant 100-fold performance improvement, so going forward we're doing that stuff in Java.
On the other hand, we have some text-processing stuff where Ruby really shines. Having used Ruby for that I'd never go back to Java for such tasks.
You've just stumbled onto the reason that big companies take some many more people and so much more time than startups to solve a given problem - they don't (and can't) allow themselves to ignore the extra information and its complicated byproducts.
Nevertheless these cos invariably started out small by solving one significant problem in a great way while overlooking all those other dimensions.
In short, try to evaluate whether the extra information is truly a significant part of the core problem you set out to solve. If it isn't, postpone the solution. If you succeed based on your core solution you can worry about it later, when you'll have plenty of time and money to do so.
Too all the people using comments in the code and the like, that's very good when you're a 1-2 person team, but when you (hopefully) have more coders, possibly QA people and (god forbid) customers who complain about stuff that doesn't work well, you'd better switch to something that's more manageable.
The real question isn't "Can you compete with Google" but rather "Should you compete with Google"?
Startups have slim chances of success to begin with. Making them even slimmer by battling it out with Google isn't a very good idea.
Why not just find another idea (or not start a company around something that one of the web giants is likely to go into soon enough in the first place).
In my first company (founded 9 years ago) we were three founders and I was CEO. The decision was easy - the other two were better technologists, and I had better people skills.
In my new start-up the first thing I did was bring in a friend I trust, with business experience relevant to the venture (but no technology experience) as partner and CEO.
So, what gives?
It was fun holding the title back then, and I didn't do a bad job, but eventually I realized that the technology is more interesting for me, and as CEO you simply don't get to deal with that. Now that I'm a much better techie than I was back then, it was just obvious to me that I shouldn't be CEO.
Definitely.
Unlike what pg thinks, it seems to me that there are a lot of stupid ideas out there that get funded, and that most of them are merely features rather than full blown products, that simply wait for someone to buy them.
I absolutely agree.
I used to work for a big enterprise software company, and it took me a while to get used to the fact that we're selling crappy software for millions of $ a piece.
I think the problem is that large enterprises trust other large organizations to solve their problems. You can't really get ahead in a large enterprise and become a manager with a budget to spend on software solutions unless you have that kind of organizational mindset. You fear change and fear failure, and so you'd rather spend tons of cash on a crappy solution from someone "trustworthy" - so they can't blame you if the software you bought sucks, than on a small startup's product that no one else in your industry is using.
BTW, Crossing the Chasm is a good book on the subject. I recommend it to anyone considering going into enterprise software.
Well you can just start a startup that works on hard problems, instead of one which revolves around your ajax code rendering correctly on various browsers.
You can solve a hard AI problem with a couple of good hacker friends, just as you could do that at Google. True that it'll probably take you more time than building another website around social networking.