Hacker News new | past | comments | ask | show | jobs | submit | more its_so_on's comments login

Thank you very much for taking this step. (Not disclosing long-term plans just because they're frighteningly ambitious). Hopefully this goes double for ideas you chose not to take 7% of for a couple of grand :)

(As that adds real injury to mere insult.)

I genuinely appreciate it.


Wow, I am going to save this one:

"It's not really that HTML5 requires extra work, it's that it lets you get away with not putting in extra work and then the lack of that work ends up biting you in the end."

I have never experienced such hard-torque spin in my life. It's not that you would need to put in overtime if you worked here. It's just that we really let you get away with never putting in overtime, if you don't want to. And then that lack of overtime ends up biting you in the end.


The point he's making is this:

If you put in <x> effort into HTML5 you'll have a slow, shitty version. If you put in <x+y> you'll have a nice fast version.

If you put in <x> effort with a native app, you have nothing. If you put in <x+y> you have a working, fast app.

You get a working prototype faster with HTML5, but that's not a fair comparison with a native app which took more work to get working at all.


But it's not really true, at least if you want a truly fluid UI... although I think it's possible to make UI written in HTML5 feel native, I have yet to use a single complex webapp that truly accomplishes it, unless it's hidden in a UIWebView in some app I use. (Gmail might come close if it didn't apparently use onclick instead of ontouchstart, and custom scrolling instead of -webkit-overflow-scrolling: touch, for no discernible reason.)

It's not just that JavaScript is slow, although that doesn't help - having to worry about the performance implications of using libraries rather than directly using browser APIs, or being forced to use native scrolling because JavaScript scrolling just can't avoid lag, is a waste of time. It's also that where native UI frameworks are designed for performance from the start - every single UITableView is drawn lazily (implementing "immediate-mode" infinite scrolling on top of the deferred mode DOM is awful), you can fluidly move between low-level and high-level drawing APIs (Canvas is a very sharp boundary), animation feels built in rather than a recent hack (and I hope you're not targeting anything other than WebKit) - in HTML you have to fight against an absurd layout system to do anything and, in some sense, work around it to do anything fast; there are usually many ways to do it but most of them are slow.

And it doesn't help that where native frameworks have built-in controls to do a lot of things - and those controls look and feel native simply because they have the home field advantage of being what everything else has to mimic - HTML5 is left with a bunch of shitty webapp frameworks and the option of reimplementing everything yourself. The creators of those frameworks seem to assume things like if the animation looks vaguely like the original, there's no need to actually get the details right to avoid uncanny valley, or make it performant at all, so you probably want to make it yourself. I hope you know what you're doing.

As much as I love HTML5, you have to fight every step of the way to make something that works right. Getting a prototype out is easier with HTML5 than native, but for a moderately complex app, making it actually work right is vastly harder.


FWIW, I've had to do my desktop web development without the benefit of frameworks for the last 4 years, since the latency constraints on Google Search preclude using them. It's nowhere near as hard now as it was in 2007, when you had to worry about IE6/IE7/Firefox/Safari, and IMHO is the biggest hole in most web developer's skillsets. Mobile HTML5 is easier still as the vast majority of the market uses Webkit, though the Mobile Search team here tells me that you can't assume that since there're still a bunch of shitty Blackberries around. If you still need JQuery/Prototype/Closure to do anything useful in Javascript, I really would recommend learning the browser-native HTML5 APIs and CSS3, because they aren't that much harder and perform much better.

(I do like the better layout systems and widget libraries of native frameworks - I did desktop app development with Swing and MFC before HTML/JS, and it really was significantly easier to put together a complex UI that matches the native look & feel with those. HTML5 gives you the opportunity to be creative that you don't have when you overrely on a framework, though.)


Livestand by yahoo! on iPad, but y! killed it. i hope they bring it back. it was really awesome app.


To be clear, I'm not necessarily backing his argument. Just clarifying it.


there's another route. break down what you want to do and you can basically get it done for free. For example:

--------------

Requirements.

1. requisition an Amazon EC2 instance for me.

No other steps.

--------------

then a tech guy on IRC will do it for $5. Next, you want to get someone to do the following. I need a programmer to put a plain rails installation on my amazon ec2 instance.

--------------

Requirements.

1. Install rails on my amazon server.

No other steps, no configuration.

--------------

Then someone from IRC will do it for you, shittily, for $10.

Next, you want to do the hard part. "I need someone to create a page in my rails installation that says Enter your email address in the box below. It doesn't have to work. Like this: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_for...

--------------

Requirements doc:

1. The following code translated into a rails app that doesn't have to do anything:

- http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_for...

There are no other requirements.

--------------

Someone will do it for you for $5. Next you would say:

"I need to get this rails form working." and link to the page showing the non-working form.

--------------

Requirements doc.

1. Whenever a user submits their name and address on the following rails page __________ it should be added to a database connected to rails.

There are no other requirements.

--------------

Someone on IRC will do it for $10.

Next you would requisition a non-working table of other names who have used that field. Next you requisition someone to get the table working.

Next you requisition a change from "name and email address" to the REAL point of your form. Maybe you're building an online trading platform where people can enter information about collectable turds, and you will be monetizing this.

--------------

Requirements doc.

1. Change "name" and "email address" to two different fields I give you, keeping the application working.

No other requirements.

--------------

Someone will do it for you for $10.

In this way you can boil the chicken slowly, and by the time you've blown through $85 you'll have a complete turd-trading platform with built-in recurring billing and a % commission your turd platform takes on every transaction.

Yes, not everyone can pull it off. Your main risk is that you have to kind of screen the fifty-sixty programmers who will be comming in and out of your amazon instance.

But with a little dedication, you can pretty much get unlimited work for free and get to keep 100% of it. The point is to only do one super-simple thing at a time.

I guess you have to have some technical understanding of what's happening behind the scenes to pull this off though. Maybe enroll in a quick seminar :)

Good luck with your turd platform.


That seems like a clever idea, but really each step you're describing would take about five minutes for someone who knows what they're doing.

If you can enumerate your requirements so precisely, I'm sure you can find someone decent for less than $60/hour to execute them.


> I guess you have to have some technical understanding of what's happening behind the scenes to pull this off though.

I think this is the major problem. If you have enough technical understanding to explain the problem in that much detail, you likely have enough technical understanding to do it yourself. Most of those steps you can do yourself faster than you can write out the detailed requirements for it.


sure, this will work if what your doing can be generated essentially off templates.

this will start breaking down when you start building components which are inter-related. every incremental change now requires understanding of the ball of spaghetti that exists.


which is why the guy above is so very, very wrong that these steps actually take five minutes, as opposed to just looking like they do :)


But you don't have that problem if you used a single competent coder.


a competent coder will not build a person's turd-trading platform in five-minute increments for $60 per 12.


No, but you can pay them to work for an hour making an ugly form attached to a database.


This is a neat way of doing this, thanks for sharing! I'm going to try this out if I get the chance, any irc network in particular you found effective?


Sounds like something you could do through Odesk for about the same cost and probably more conveniently than IRC.


That's fair, but on irc you filter out people who don't get it much quicker and not necessarily looking for work.


I personally hate recognizing anything. If you think about it, even distinct text characters one next to each other are a skeumorphism from movable type.

Obviously the only correct interface is a simple vertical list where hovering over invisible areas of the screen reads you out loud an option and then clicks it. Actually why read it out loud at all, a skeumorphism from interacting with a person.

The only correct interface is a blank screen representing state with groups of pixels that turn off and on without any skeumorphism, but simply representing the state the program is in. Like the LED light showing whether your monitor is off or on, but 1280x1024 of them.

anything other than that is just art monkey fluff, designers butting into electronics where they don't belong.

a good rule of thumb is: if you recognize what's going on instead of having to decode it, you are dealing with bullshit overpriced overdesigned fluff.


going native is like going skinny-dipping. a lot of freedom and exquisite possibilities, but with it comes responsibility - and you can easily get yourself into trouble.


I wrote the following email to PG some time ago, which I hope have helped inform the present essay.

----------------------------------------------------

1.

You know, I came across:

" I think they're not so much dense as bitter. There's a subset of HN readers who regard startups as a whole as a sort of con game, and are angry that the participants get so much attention. There may not be that many of them, but their anger makes them disproportionately active as commenters and voters. "

I want to tell you that I don't like the fact that you and ycombinator only look at immediate sales vehicles and hardly any big ideas, like Google or Skype. Mine is a Big Idea - it's not a sales vehicle. You almost have negative things to say about $100B market aspirations. And your results speak for themselves - smaller companies with no big vision.

That's what I don't like.

----------------------------------------------------

2. this was after leaving him this comment which I hope he also saw

(PG here on HN): Financially, as if you were an investor. They're the people whose job it is to evaluate startups' prospects, and they care above all about two things: the founders and the market. The founders should be relentlessly effective, and the market should ideally be of a size that can only be obtained by riding on trends beyond the startup's control (but visible to few besides the founders, or the market would already be full). Joining the young Microsoft, for example was a bet on Bill Gates and microcomputers, both of which turned out to be very good bets.

As a hacker you may be able to judge market bets as well as or better than many investors. E.g. I think HN readers knew Dropbox was onto something before most investors did. So if you go wrong it will be in judging founders. For many hackers, especially the unwordly sort, it's hard to distinguish true Bill Gateses from mere good talkers.

I wish I could offer some advice about distinguishing, but that would take a whole essay. The best simple hack I can think of is completely self-serving, but I'll offer it anyway: piggback on our filter. YC specializes in distinguishing between genuine Gateses and good talkers. We're occasionally fooled, but far less often than a typical hacker looking for a job would be.

reply

*

1 point by its_so_on 0 minutes ago | link | edit | delete

where's your Microsoft?

My only problem with your filter is that it filters out companies that genuinely have a plan to grow to revenues in the billions or tens of billions annually. This doesn't happen by chance alone, but through planning and commitment. That very commitment is a red flag for you and reason enough for you to say "no".

reply

----------------------------------------------------

3.

To drive the point home: it's almost impossible to adjust to investors like YC with a big idea. You can't sell what you have, however cheaply - which I think is ridiculous.

If you are holding a winning lottery ticket that is worth $20 billion and you need $500,000 to go and cash it, you would think that selling 7% of your company for the 500k amount is a no-brainer. Yeah, it's expensive, but so is taxes. You can live with 93% of the $20Billion. Expensive for you, not for the investor.

The ticket in this example is worth $1,400,000,000 (7% of the $20b) minus a bit of net-present-value calculation, and you are selling it for $500,000. This means the built-in return is 2800x or 280000%. Selling this share is very expensive for you, the owner of the company/holder of the winning ticket.

But would an investor like YC jump on this? No. An investor like YC will go ahead and take the step of applying a "0.000..% chance of successfully cashing" to the winning lottery ticket you hold. (If you are honest with them about what you will do and what you need to do it.)

NOT 1%, leaving an expected 28x or 2800% return (2800x built-in * 1%) from the 2800x or even 0.1% which would leave a 2.8x or 280% expected return (2800x * 0.1%) out of the built-in 2800x. But, exactly 0.000..% with unlimited precision. And then, obviously, in their estimation "it doesn't make sense to invest." (Even though in reality they have a built in 2800x return from the terms you are offering them. A cool 1.4 billion dollars basically for free.)

Then they will go ahead and say "no".

What is interesting is that you can show that the "0.00..%" they go ahead and apply to you really does have unlimited significant figures. If you were to hypotehtically need only $50,000 instead of $500,000 in this round you have to lie if you want their money.* The above calculation still produces a "no".

Yet another way to show significant figures in the 0.000%: if your winning ticket has 200b written on it (mine doesn't, mine has 20b written on it) it does not increase your chances of funding or interest in it. The 0.0000 that YC and several other "investors" apply really has that many sig figs.

So now you understand why I would never like to be associated with an outfit like YC. If I need money to cash my check, why would I ever want to associate with someone whose only M.O. implies they will go and apply a 0.000000000000% (infinite zeros) factor to it? I don't need that kind of tarnish. Where is YC's "Google"? Nowhere. They wouldn't touch a $200B or even $20B seed-stage company with a 200-foot pole.

* how can you build a $50b company from $50,000? Maybe you're an Indian-American entrepreneur and an able CTO and single founder, and you can get nearly unlimited high-quality output for peanuts, while personally overseeing it, from your Indian network. Then $50,000 is easily as much as $800,000 in the hands of a non-tech MBA who must first of all find a CTO and then insists on expensive labor.


Wait I don't understand, are we assuming that the lottery ticket has a 100% chance of being worth $20 billion? Are we ignoring the fact that there's a sizeable chance that it is worth $0?


The lottery ticket has $20 billion winner written on it. I gave you a range of probabilities that the ticket can actually be cashed. The point is that this probability is clearly not exactly 0.00000... given others have cashed theirs.

But YC assigns it a probability of exactly 0.00000... that you can cash it, given any amount of "seed" money.

However, if you lie and claim the ticket has "$20million winner" written on it (you are misrepresenting the business plan by a factor of 1000 in this case) their ears will perk up and they will assign a non-zero probability (actually an extremely high one), and give you a seed to go ahead and cash it, in exchange for owing them 7% of the winnings.

Given the size of these seeds this behavior doesn't make any sense at all. It is like refusing to take 7% of big winners, only small winners, when most of the lottery payoff is in big winners.


I love how people are always up at arms how "a nation state" OBVIOUSLY means Israel in a given story why don't they come out and say it???, or OBVIOUSLY means China in another story, or OBVIOUSLY means the NSA, come on!!

Meanwhile, the reporter is the only one smart enough not to speculate based on nothing.


Brandon, a couple of technical questions. First, you talk about the "probability" of any car getting damaged. But surely a car wash is not qualified to act as an actuary (if it was it should immediately shut down all operations and do acturial consulting work instead). So a car wash company isn't faced with a "probability" of a car being damaged - it's faced with a "price" for being insured.

Clearly if the amount of the coverage (again, in this artificial scenario) is less than you can "fix" a Ferrari for, then perhaps they should turn Ferrari's away if they are very risk-averse. (again, all this is in the artificial model.)

But if the insurance-company says, "We can increase your coverage to (cost of fixing the ferrari) for a difference of (difference)" then the only way they can possibly pay that difference is by lowering their margins on every car wash, or by discriminating and factoring that difference only into the appropriate washes.

all this is more correct than your claim, isn't it? (again, in the proposed model.)

incidentally, I consider the proposed model to be extremely braindead. A car wash is not actually going to pay for any damage, and if it did it certainly would never actually pay for a museum-quality paint job, and if it DID then the price would not be ten bucks per car wash, a shop that can afford these kinds of lavish customer catering and appeasement would be starting at fifty dollars or something.

What actually happens is there is a sign saying they disclaim all responsibility for any damage. What also actually happens is normal price discrimination.

so I think a clever answer to "Why are you charging me more just because I have a ferrari" is "only ferrari owners would care about a small scratch from a CAR WASH, and we don't get many of you, so we have to charge you more to pay for that there sign there (point to large disclaimer sign.) Ten bucks please."


This was an good explanation and it made me consider some things that hadn't occurred to me so thanks :)

I figured the probability isn't handled by the car wash itself but instead essential to derive the price of the quote. Surely they must give an insurer the volume of cars coming through, yes? What seemed unlikely to me is that the car wash must also show the types of cars getting washed. This would be something handled by the insurance company after making certain assumptions that factor into the risk.

Assuming that each car wash did pay damages (which as you mentioned they don't), do you think they would charge premiums for washing all luxury cars? The price to insure against damages seems like it should be fixed per car (even if based off volume). One month might be oversaturated with $30,000 cars and another month might have more $20,000 cars. Will the cost to insure the car wash against potential damages these months not be the same even when a higher saturation of more expensive cars incurs more risk for the insurer?

My answer to this forms my basis of why I didn't like the example, even artificially, which is that the price to insure every car is the same based on the likelihood of all cars getting damaged and the price to fix them (monthly insurance cost/amount of cars). The insurance cost has no respect to which cars go through the wash - probably because it's too much of a hassle for the insurer to police which cars are actually visiting and making a more accurate calculation of risk. Instead, they assume every wash has a certain amount of luxury cars - even if they don't. Obviously this wouldn't hurt margins if they accepted the cars that are covered but it doesn't stop them from raising margins, which they still might do.


pg, if you think potential size is interesting, why are you so against the biggest ideas?


just have your secretary print your email twice a day (1). you can read it at your leisure (2), and dictate your responses whenever you want. (3)


what is this, 1950? Sounds like something from Mad Men.


i think it's a reference to knuth's advice on the matter


Automator, a printer and Siri might be pretty close.


It sounds like something 1950 got right. At least to me.


Better write your comments on the print out and have it faxed back by your secretary.


I'm trying to get all of that to sync with my beeper. The future is now!


I guess I still need some time for that, I never was the early adopter... :-)


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

Search: