Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
On Comet, Paul Graham, and YC rejection (cometdaily.com)
34 points by heyadayo on Jan 8, 2008 | hide | past | favorite | 50 comments


Sounds like focusing on technology, rather than a clear problem that you have a solution to.

Comet technology (If you want to call it that) is fantastic. I wrote http://www.mibbit.com using the techniques, and you can bet it loads a lot faster than flash/java applet/anything else. Also these days with browsers on far more platforms, you're not guaranteed flash support. (Not to mention it being proprietary/slow/etc)

Focusing on comet though seems like saying "I want to do a web2.0 startup" or "an AJAX startup". They're all just buzzwords with little substance.

Does look like you've got a great system, just need the killer app now :)


Handy app. Much more convenient than java clients. '/list' is pretty ugly, tho. :) Didn't test much beyond that and joining a chan to chat for a sec.


Thanks for the feedback, and agreed about /list. I'm thinking of the best way to present the /list data at the moment, I'd kinda like a hierachial system...

computers -> linux -> #ubuntu

Probably user generated categories, but not sure yet.... ah well, it's on the todo anyway :)


Show, don't tell.

Don't tell me (or pg, or anyone else) that Comet is a cool new technology which will transform the web -- show us something which you can do with it. Lots of people say "hey, I'm cool", but few of them actually are -- until you show us something which your cool new technology can do for us, you fall into the category of unsupported hype.

We were ultimately not given funding, probably because our proposal seemed to be "Look at this cool new technology that will transform the web. We're experts on it." rather than "Here is exactly what we want to make and precisely how we'll make money."

I obviously can't read pg's mind, but I strongly suspect the issue was more that you hadn't convinced him that Comet was useful rather than due to your lack of concrete business model.


Correct me if I'm wrong but hasn't "Comet" been around for ages? - the only change is that someone has put a catchy name to it. Or is it something more than using iframes to keep a connection open to the server and stream live data over that connection?


Indeed. The same is true of ajax really.


cperciva: on the one hand, you're right -- We didn't convince YC that Comet was a useful technology. But its not a matter of showing versus telling. We showed a few prototypes (http://www.orbited.org/livehelp.html for example) and proved that we could do cool things. The Rejoinder was, "But flash can do that." and we were unprepared for that response. The point of the article is to illustrate that pure html/javascript technology apparently is given no credence in the eyes of YC, an important player in the venture industry.

I clearly think Comet is a useful technology, but then again, I lead development on an open source comet server (Orbited) and I write for www.cometdaily.com. So why doesn't someone more unbiased let me down easy. That is, explain to me why Comet is not a useful technology.


I did look at Comet when it was mentioned here a while ago and my general reaction was that it was total overkill for most applications. It's worth remembering that the so called 'Push Technology' of the 1990s (such as PointCast) was doing a straight HTTP GET at regular intervals, the only push was that the user didn't push a button for an update. Now in the noughties we're doing similar stuff in the background with XHR polling from timers.

If what you really want to do is _real time_ pushing of data to the client then you need to come up with a really compelling situation in which that's needed. The current Comet proposal seems as you say somewhere on your blog "a big hack". What it really needs is simplicity. Tell me how this is better than polling using XHR.

In fact, if you want to excite me then give me a chunk of Javascript that as the following methods:

stream_to_me( url, callback )

I call this, it returns to me immediately. It handles a background connection to url and streams data off it using standard HTTP (perhaps it's holding a connection open, perhaps it's polling, user shouldn't care and should be transparent to the remote web server).

When it's got a complete chunk of data (perhaps it's a complete piece of XML) it calls callback with the chunk.

That would be compelling to me because I could just include that little library and then get async. callbacks with data coming 'live' from my server.


The JavaScript you described exists - it's called dojox.comet, and it looks like this:

dojox.cometd.init('http://example.com/cometd'); dojox.cometd.subscribe('/channel', callback);

That's basically what you described, but with the additional concept of "channels" to make it easy to support lots of different event streams.


I wrote more about this here: http://simonwillison.net/2007/Dec/5/comet/


Nothing is really ever about technology; it's about its application. And no one is willing to pay their time/effort/etc. to a new technology unless it has seriously significant advantages. So what is the application that Comet provides that is a killer?


I think that anyone with a technical background would agree that technologies like comet are useful. But it seems like yc wanted you to differentiate comet from the other approaches.

How would you even make money off comet based widgets or even some kind of platform for making them? The problem is that no one wants to pay for development platforms or pre-built widgets. All of the best stuff in this category is free....django, YUI, jquery, rails, comet blah blah....


You can't manipulate the DOM from flash. This seems to be a big difference IMO.


Framing it in terms of useful technology or not is kind of missing the point. AJAX is good enough, or at least almost all developers out there think so.

What are you planning to do? Make something for end users, or a tool kit for developers?

Either way, you've got to bring some real value to the table. Cleaner code or xy% reduced bandwidth isn't going to cut it. You have to have concrete benefits. What does this technology enable that wasn't possible before?

If you can answer that question, you're good to go. If you can't, no ammount of justification or 'developer education' will save you.


useful to whom?

It's obvious YC likes stuff that is made for what the mass would like to use.

I'd say YC probably choose to interview you mostly because you seemed to have talent. Maybe if you had displayed more flexibility on doing maybe other things maybe YC would not have rejected you.


I agree. I'm surprised YC didn't suggest building some consumer facing app that makes use of your comet stuff. There are many application areas that could benefit from real-time capabilities.

Also, Paul has talked about how turning a luxury into a commodity is usually a good recipe for success. Most real-time applications are very expensive and use lame desktop client/server architectures. Imagine something web-based and free that does the same thing.


I understand being upset about not getting funded. But, that's the game, folks. Just because PG didn't like your idea, that doesn't mean you're a failure, it just means that PG didn't fund you. So, take a night off, have a beer with your co-founders, sulk a bit and then get up the next morning and work on your product.

Make something that people want. It's all about making something that people want. Everything else is distraction. What PG said, PG's attitude towards Flash vs Comet is irrelevant. Not having mind share in the hacker community regarding your favorite technolgies is tough, but success in getting hackers to use your comet framework for development is much different than success in getting users to use the cool stuff you put on the web using comet

No one in user land cares about the framework, they just care about the cool and useful website you built. So, focus on that.


I think PG probably knows exactly what Comet is. I also think his question: "aren't all web pages real-time?" was most likely a loaded one.

If I were interviewing you, you bet I'd ask something similar. I'd want to find out if you grasp the implications of using Comet as your company's technical backbone.


Yes, or he misunderstood the question about real-time. If PG doesn't know about Comet, he surely knows about Ajax, and so he surely is aware on how most web pages aren't real-time.


The fact that this article doesn't even consider the widgets themselves to be the reason for the rejection probably sums it up. Your customers don't care what you're using to poll. While it might be true that Comet will enable someone to develop really good 'live' web applications it doesn't sound like it will be you, you're too caught up in Comet itself.


I think you're exactly right. We thought our expertise was valuable, but what YC wanted was a business, not technical expertise alone.


We don't look for business expertise so much as the raw materials that go into it. E.g. the judgement to realize that publishing (supposedly) verbatim quotes from your YC interview on the web would cause any future investor to think twice before talking to you.


He certainly managed to generate a great deal of buzz. If it's for enough buzz, I'd be willing to make investors think twice.


Paul, its important that the Comet community understands how little mindshare we have. If you hadn't heard of the technology after reading thousands of startup ideas, then what chance do we have? Thats compelling enough reason to post what I remember of the conversation. I sincerely doubt my article would make other investors nervous. The interview contents don't reflect poorly on YC, they reflects poorly on our (my partners and I) ideas and the entire Comet community.


If nothing else, publicly speculating that your interviewer is bad at his job, is somewhat less than tactful.


> If you hadn't heard of the technology after reading thousands of startup ideas, then what chance do we have?

You're fundamentally mistaken. The technology is 1%. Execution is 99%. You need to stop being so obsessed over technology and focus on the execution of the technology. Build great stuff on top of Comet and it won't matter what mindshare it has or whether PG has heard of it or not.


It seems as if Comet is more important than your startup. Maybe a startup isn't the right way to promote Comet, if Comet is truly what's important to you?


Consider two things: 1. interview questions may be more to do with finding out how people answer, 2. posting (possibly sensitive & flawed) recollections of an interview reflects a lack of acumen.


Lots of important technology makes no money, and is a poor investment. Do Prototype, Mochikit, or Twisted have VC funding?


I haven't looked up comet into detail, but I suppose it is using Server Push, which was described in the first CGI book I ever read, 13 years ago. There is the problem of realtime updates with AJAX, and of course that Server Push odditiy has come to mind several times when I discussed it with friends. Maybe if Comet pulled it off in a proper way, it could be rather cool. However, ultimately it would also be a hack of sorts, which gives me an uneasy feeling about basing my business on it.

Sorry for the uninformed blabbling, I just wanted to challenge the "community has never heard about it" stuff - at least I have heard about it, sort of, but I did not yet consider it the next killer application.


The good is the enemy of the best here. With few exceptions, good sites deliver most their value without resorting to push techniques.

Suppose YC hacker news incorporated some kind of "push" system. Unless it was very unobtrusive I probably would try and turn it off since I want things to stay static while I'm reading.

I could imagine this being useful to complement a management interface, especially for providing detailed progress indicators.

Is Virtualmin ( http://www.virtualmin.com/ ) doing anything with Comet?


Why would an end-user care about Comet over AJAX?


Example if GMail used Comet, your Inbox would get updated the second you got a new mail instead of every x minutes.

You can achieve something close to it by using very insistent polling but this causes an unreasonable load on the server. Whereas with push technology you can get live updates without this unnecessary load.

How is that for a compelling argument?


It's not.

Your most compelling argument would be something like "GMail would be 10x as popular with sub-second client updates and Comet would make that possible with the existing resources."

Note that the premise is clearly false - GMail would not be significantly more popular with subsecond client updates. That leaves you arguing that push would save resources but I'd guess that the current polling intervals are such that 10% is spent on them, which limits the benefits to 10%.

You need to show that comet enables valuable new apps, makes existing apps significantly more valuable to users, or makes it easier to produce new apps. And, even if you do, you're not going to make much money.

Note the weasel word "most" - your best argument isn't all that good. Your users, the app writers, are going to make far more money.


Google chat couldn't exist without Comet, (unless they redid the entire thing in Flash and please don't get me started on the whole Flash/Silverlight mess)

A lot of tech decisions don't deliver 10x improvement in the value-add for you users, but even a 10% value-add can be a powerful differentiator in a competitive market.

And finally Comet isn't really a significant technological hurdle. Implementing it versus simple AJAX isn't a very big increase in your tech efforts and might be very much worthwhile.

I'm not saying you should use Coment in all your future web dev, this isn't fanboism. Just spend an hour or two to get a rudimentary understanding of the technology its costs & benefits so you can decide for yourself if it is a good fit for your next project.


Gmail does use comet. For the chat.


i think they might even use it for the inbox with the update to "version 2." i've noticed emails appear almost immediately in gmail lately.


That's a great argument. Could even be a show stopper under certain conditions.

Next stupid question(s):

Even though I've written quite of bit of AJAX (Javascript / PHP / MySQL), I have not yet committed to any technology for my release 1.0.

If I wanted to put together a prototype using Comet instead of AJAX, how would you suggest I proceed?

Also, from a business point of view, what are the major pros & cons of comet vs ajax? (hosting, finding help, etc.)


There is no "comet vs. ajax" dichotomy. Comet employs ajax as a means to interpret data pushed from the server. If your application needs asynchronous, live updates, then you need Comet or Flash. If you use Comet, you'll undoubtedly be using Ajax as well.


I hate using these buzz words, but comet allows the user to get data as soon as they should get it. It's a technique that's been propelled to 'buzzword' status, when it probably shouldn't have been.

It'll certainly completely change how websites work though, making them far more responsive and interactive.


I disagree: just like Ajax, Comet is a very necessary buzzword. The technology behind Comet existed for years before the term "Comet" was coined, but very few developers were aware of it because there wasn't a good term for it. The same is true of Ajax. In fact, Comet was coined precisely because the term "Ajax" had had such a large influence on adoption of the underlying technology.

Vocabulary is important.


You don't need to give everything a label, one reason I don't like design patterns. The idea behind Comet is an astoundingly simple one. It's using as many techniques as you can think of to emulate a continuous connection from client to server. That's it.

If developers can't "invent" it themselves, they aren't a very good developer. Giving them a ready made buzzword won't fix that :)

If it was an astoundingly clever algorithm, sure give it a name. But put 10 good hackers in a room that have never heard of or used comet before, and ask them to make a responsive app with javascript, I bet all 10 will 'invent' comet.


+1. That's the really important, bottom line question, and I don't see it answered anywhere.


I've always wanted to be able to run terminal-style applications in a web page without polling. Can Comet do that reliably?


Yes try the telnet app at http://www.mibbit.com


Any chance you can make it do ssh? That would be awesome.


On the ever expanding TODO list ;) Looked into it and it's not too hard to incorporate.


Yet another technology looking for a market application...


It's already used in applications.

IMHO It doesn't really need a 'buzzword'. It's just a common technique.


http://searchyc.com/comet

FWIW, it's gotten quite a few mentions here at hacker news.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: