3,424 karma · joined June 24, 2009
The challenge for any new architecture is to create frameworks and tools that are even better (easier to understand and learn, more efficient to work with, easier to maintain, etc) than what is already out there. That's what will determine their adoption, and that's a good thing: we all want good tools to work with, so the bar should be high.
However, I would like to take it further. Even if you move the data store access into a separate API layer, that API is still written in an imperative language, which limits the transformations that a framework can perform on it. I dream of a fully declarative way of specifying the communication dependencies, which would open up completely new processing modes, such as running all the business logic in Hadoop.
Edit: actually, Java's String.hashCode() has exactly the same problem — prepending null chars doesn't change the hash code. And because the hash function is actually part of the Java standard library docs, it will probably never be changed (unlike Ruby's).
In such cases, where the outcome is highly variable and very sensitive to the inputs, it's wise to have as many good cards as you can get. You can't just bet on one thing; every bit of support or advantage you can get could be the thing that makes the difference. (Sorry for the weird mixing of metaphors.)
1. "You have a point, I had a niggling feeling that my stuff wasn't good anyway, but now I have ideas on how to make it better."; or 2. "Thanks for your opinion, but you are wrong, and I'm going to prove it!"
Both are motivating outcomes of honest criticism.
The Y combinator is one of the coolest ideas in computer science. It's also a metaphor for what we do. It's a program that runs programs; we're a company that helps start companies.
You can see our analysis of freemium business models on the Rapportive blog: http://blog.rapportive.com/is-freemium-right-for-you
Edit: looks like rahulvohra and I had a little race condition here ;-)
Many other companies in our batch soon launched too, so we soon all ended up at pretty much the same stage.
It's easier said than done, though. Development takes significant ramp-up time; if you spend 10 hours a day on it, you get much more than 5 times as much done than if you spend 2 hours a day. We already did what we could in terms of distributing workload amongst people to minimize context-switching.
The amazing thing about a startup is that you can quickly translate your intuitions about a product you think that people want into an actual product. Making a good product and making people happy is what I care about. The other things are enablers.
[Edit - grammar fix]
no lead = there's no one investor who particularly stands out (e.g. by taking >30% of the round); a lead would usually drum up the other investors; with no lead, it's the entrepreneur who drums up the others.
no fixed amounts, no closing: with convertible notes (as opposed to straightforward sale of shares, aka priced round) the entrepreneur can be a lot more flexible. The round doesn't technically have a valuation, but it does have a valuation cap: see my write-up http://www.yes-no-cancel.co.uk/2010/05/05/valuation-caps-on-... for an explanation. The amount raised can also be flexible.
This doesn't require any more of a leap of faith or any lower valuation than a priced round, and the paperwork is simpler. That's why convertible notes are very popular for seed rounds these days.
Would this be sufficient to make you turn Rapportive on again? :)
Just to give one example, http://favstar.fm should be coming soon, letting you see the person's most-favourited tweets :)
It's hard to kill off something you love, but sometimes it's the right decision. I am very sorry though.
Martin (Founder of Go Test It)
Our users' trust is absolutely crucial to what we're doing, so you can expect detailed information on exactly what we do with your private data; and we may also make some things opt-in/opt-out. We have no intention of hiding anything.