skysight-inc/HackerNews huggingface dataset:
I agree that many desktop apps can't be entirely replaced by web-based equivalents. However, if a webapp can provide 80% of the features of a similar desktop app but with a much lower barrier to entry (nothing to install, cross-platform) and additional web-oriented features (collaboration, publishing, Facebook intergration, etc), this webapp can potentially capture a large market share. Google Docs is a good example -- it will never do everything that MS Office can do but it's easy to use and it's certainly good enough for many users. Desktop apps still occupy a niche, but the Web has made this niche much smaller than it used to be.
What's your favorite Javascript framework?
Getting a little fed up with Prototype in Ruby on Rails. What are you all using?
Dunno if it's legal or not, but my understanding is that the powers that be will go after YouTube before they go after you. And if YouTube deletes the video, then your embedded video stops playing, and you're no longer violating anything.
Nothing except code. Taking second snapshot and only storing the differences is a bit harder. Deleting the first snapshot while leaving the second snapshot intact is even harder.
Jottit needs to take the next step and dispense with the dumb requirement that you provide an email address "for password recovery".
extraordinary claims require extraordinary evidence.
The real division is whether you have to install anything.
At the moment I am currently writing an IMAP server in Erlang (google Erlang IMAP and you'll find me pretty fast) and the IMAP protocol is crazy complicated.

Although after you get far enough into the syntax you start to see why the protocol is as complicated as it is. The protocol itself is written as a series of design patterns so each command had a predictable request pattern and a response pattern. After you get past the initial parsing of the command and response strings the protocol become much easier IF you think of them as a series of patterns.
... because Ruby isn't terse enough yet
I wonder if it's that you have to install anything, or if it's just a "click cost" -- for every extra click you ask of the user, you lose potential customers?

Kind of the same thing that we see in web sign-up forms where for every extra piece of information you ask, a huge number of potential users drop off.
A New Prediction Market for the Masses
In Paul Graham's Accumulator Generator comparison (http://www.paulgraham.com/accgen.html) Ruby is now terser than any language except Arc.

foo = 'n -> x -> n += x'.to_proc

f = foo[4]
f[2] # => 6
f[2] # => 8

(This would be even terser:

foo = &'n -> x -> n += x'

but the ampersand syntax is only allowed after a method call.)
I second the second point. It seems somethings change and somethings never change - high school was Xanga and AIM, Colllege is now facebook.
Yeah, but what about syncing? I am ALWAYS adding a contact to my phone then another to my email, then I'm syncing them. I can't just wipe everything out on one end w/a csv upload. Really this is something I believe should happen invisibly.
I think Haskell is overall terser than Ruby. The trouble with the accgen test is that it's imperative, and Haskell isn't meant to be. Here's the Haskell implementation that I would submit:

putStrLn "Don't do that, you nimwit!"
When (and when not) to make a microsite
Nolo books are great.

But your suggestion that he download copyrighted LEGAL ADVICE books from eMule? That's ALMOST funny.

You should check out their Criminal Law Handbook, rms...the ebook is only $29.99 ;-)
The Erlang version is unnecessarily verbose (and also semantically different) because it uses 2 processes. It can be rewritten as

Foo = fun(N) -> put(var, N), fun(X) -> V = get(var) + X, put(var, V), V end end.

It's not as concise as Ruby or Arc, but it's a one liner. However, similar to Haskell, this style of programming is discouraged in Erlang.
I also tend to think of patents as a necessary evil...a defensive measure in a world gone crazy. I've secured a few BUSINESS METHOD patents where software is a large part of the mechanism, but I've never tried to secure a patent solely based on software.

TIME: The USPTO has an expedited examination service if you qualify. Otherwise, you may be looking at 4-6 years. If your claim is very complicated or is disputed it can take much longer. I just read an article about a company that got their patent approved after 18 years! The USPTO is supposedly changing some of their processes, which will theoretically speed up the ordeal a bit.

COSTS: wayt's cost estimate is more accurate than most. Most patents cost much more than people initially budget. I've spent as much as $225K getting a patent...and I've fortunately never had to defend one from a major company, which could skyrocket your costs into the millions.

Eusman's suggestion about getting a provisional patent is a good one if you think your startup will be on firmer financial footing within the year. You should note that you have to have not only implemented your software etc., but you have to have overcome any objections from the USPTO or disputes/counterclaims from others before the year is up. A surprisingly small number of people successfully do that. Most people are just giving their competitors a cheat sheet.

PPAs are cheap, though, so I would almost view them as using options to protect a portfolio. Most expire worthless, but if you need it you'll be thankful you paid for the insurance. The words "Patent Pending" on your business plan and press releases can also go a long way in some circles. Just a PPA can secure that.
Blind faith is the essential ingredient for all the atrocities and religious wars.

I'm glad to hear that, as we can certainly agree there.

However, I don't see many creationists with such an intelligent and nuanced approach.

As for bad scholarship during the middle ages, remember that scholars were under threat of torture or death if they gave the "wrong" answer (Galileo is a prime example, but not the only one).

When I hear people claim the world is only a few thousand years old (despite evidence to the contrary), I cannot help but think they want to push us back, and put us under that kind of scholarly intimidation again.
1) I personally think installing plugins can be more confusing than installing apps. Inexperienced users see, "please install our plugin," and the lump sum of everything they don't know about computers falls on their head like a cartoon piano and they hit the back button. "What's a plugin? Where do I put it? How will I know it worked?" Before flash video became huge the number one question I got from non-tech friends was, "why doesn't this video work in my browser?" I believe that a plugin that isn't as ubiquitous as flash is almost useless.

2) I've heard of papervision. But see #1. I also went to their site and I couldn't get past the landing page in safari. I'll try it in FFX later but I just would have lost every mac user who tried to install someone else's plugin.

3) If flash connects to your digi camera then it can probably connect to an iPod or any other USB device. If that's the case you've got me, I didn't know that.

4) I didn't mean voip I meant phone as a device to sync contacts. But if, like you said, flash talks to USB then you've got me here.

5) I used a bad example. What if I want to edit a song in a web-based mp3 editor and bring it back to anywhere.fm. Unless each web app has access to the other you can't do that w/o a download and an upload. The file system is neutral territory on the desktop. It's the place every app understands. There is no web file system that every web app can access yet. (I actually think that would make a mean startup though.) Even if you're using a combo of flash, js and proxies, you still have to have an interface to the other web-app. Is there a common web-app to web-app interface that the industry has decided on?

7) You're right it is hard. And I really do commend the people who have taken it so far. But most of your answers remind me of the people I see camping who have solar showers, fold out chairs and a battery powered TV. I look at them and say, "why not just go home?" There are a million hacks that get the job done but each one waters down functionality and increases complexity. Almost every answer you've given involves non-browser SW on the desktop. So we're both straddling the desktop and web-based world. We just don't agree where the balance point lies. I think that in most cases existing desktop apps should be connected to web-services that facilitate backups, sharing and collaberation. You tip further toward the web end. I'm sure there is a time and place for both.
Let them worry about the copyright violation, the only thing you have to worry about is if your users click on videos on your site, that have been removed, and your site just shows a youtube picture with "video is no longer available"
Syncing is very important and I am working on a downloable mobile app that will sync your mobile and web life as well as your friends into one.
This is completely unfounded advice, and in my opinion, stupid advice. Ideas do get stolen, regardless of what you've read.
nice, is that your work?
Do you know someone? Can you give an example of someone that was starting a business told someone the idea and that person went and ran with the business?

I believe that it may happen, but it feels like an urban legend - I've never actually seen it or heard it.
I don't think there was just one single message you were supposed to get, other than the link at the end.

It's not a normal propaganda piece like you're probably used to seeing. Where a propaganda video is based on the idea that the problem is already solved if only people would pay attention. It's presenting unsolved problems and looking for ideas.
It does happen. Not as often as founders fear, but it does happen.

The writer would have been closer to the truth if he said that founders generally err on the side of secrecy.
I love desktop apps.

However, I love good Internet-enabled desktop applications, not the Visual Basic crap that wannabes did before.

I hate that flash 'apps' never have proper scrolling. No mouse wheel support, non standard behaviour, etc, etc.

And I hate that flash 'apps' can't use the right mouse button. See Portal flash version for the stupidity of it.

And most of it: I hate that a single stupid RIA eats all my CPU cycles in what a desktop application would not even use a 1% of it. Ugly flash video included (I see my Internet videos in stage6, thanks).
of all the attempts i have made at estimating.. only one works pretty much spot on.

Essentially, take the gut feeling, double it, double it again, and add an increment.

Example1: gut estimate is "yeah, thats a five hour task".. so, 5 -> 10 -> 20 plus.. oh.. 2 hours, so 22. Seems absurdly large, yes, but factor in all those little thingsl, testing, deploying, etc, and lo and behold, two days plus some is gone.

Example2: Hmm, 2 weeks of solid (40hr week) dev time. So, 2->4->8 + 1 = 9 weeks. Woah, yeah that seems a bit large for project X.. but wait, client drags on assets, unforseen issues here and there, run into a snag for a couple days.. and boom!, almost two months have gone by.

I know it feels dishonest to so drastically overestimate what you Really think it will take, but the truth is the reason there is so much distrust of programmers by business people is that we so consistently miss deadlines. I know the estimate seems huge, but it needs to be, because ultimately it is very realistic, and if you beat it (doubtfully by much), everyone will be happy.

An oversized estimate finished early is better than an undersized estimate finished late. Always.
You're right. The good solution would be to be able to create network-enabled distributed applications with standard GUI using normal and sane languages and widget toolkits, or even better a very high level language.

Using HTML + JS + CSS + Flash to develop desktop stuff is a PITA.
OmniGraffle Wireframe Palette: Speed up your wireframing
I agree. I've benefited enormously from unpatented open-source software and methods, as has everyone reading this. However, as I said initially, there are specific compelling circumstances in this instance. Would it be non-evil if I pledged to license the patent(s) for free or for a nominal amount, say a dollar, to anyone else who offers his patent collection under the same terms or who otherwise contributes to OSS?
Thanks - everyone commenting so far has added something useful. One thing I didn't mention in the initial question - can you recommend/not recommend any specific patent agent/attorney? ratsbane at gmail
:) Hey, I'm just saying it's possible. Hopefully.
Letter to hackers frm a non-hacker: Quit your "wow" app and build us something useful.
First of I am not a hacker, so I can clearly see things you guys can't (vis versa). Stop building cool things and build something useful for the 95% of us who don't know how to. Your web (yes the one you help build) is unstructured and there is so much data that I am sure we will never be able to organize it. But what we can organize is our individual data. BUILD (us) MY OWN API. I don't want to go to 20 different sites a day to do the 20 things I want. Facebook's, Digg's and all this other APIs don't really matter, what matters is mine. Let me rephrase this, APIs are great, but you guys have been going the wrong way about this. It should be the other way around. Services shouldn't have an API (ok they should) but I should be able to gather all my data into one place and let services I want plug into it and do the work. I am tired of supplying similar infos to one million different startups. I want to simply click "ADD" (the Facebook way) and give the service an access level. That is it. I dont even want to know your URL. And when I click delete, give me back my data collected. I want a place where it all comes together. And please do not tell me (us) about your webOS project. I (we) want something helpful not a copy of the desktop.
That's it. Sorry if I offended you guys, don't take it personally.
The Perl Golf anti-pattern.
As he said, he's talking about business ideas, not trade secrets. If your idea is not obvious, most people will think it's stupid anyway.
"The laptops were designed specifically to run Linux programs. If the machines run only Linux, Microsoft will lose an opportunity to expose tens of millions of children worldwide to its Windows system."

Sounds like a great opportunity for desktop Linux. Let's hope they stick with it.
BlueprintCSS 101
I'm sorry to say that but what you're looking for is called the desktop (not that it's a bad idea). Unless you really like ads, privacy issues, slow applications and inconsistent user interfaces.
At least you realize the ethical issues. That's a start. I think making a pledge like that would certainly lessen the damage. Or perhaps just donate some of your profits to the EFF or other org.

And whenever you talk about having patents as part of your business model, perhaps mention the ethical dilemnas involved lest you inadvertantly inspire a future Microsoft or SCO.
hmm, i dunno... self-modifying code can lead to insanity... :)
I didn't think it was a conclusion, just agreement based on experience.
I am sorry to say that but I want mobility. I dont want to drag a laptop or PC around.
After First Succeeding, Young Tycoons Try, Try Again
You must not be very familiar with UK press, then. The Daily Mail is famously bad. It's like The Sun for people too pretentious to read the real thing.
Isn't it more a question of how much of your computer you are willing to expose without explicitly authorizing it? As long as webapps don't demand much, you let them bypass explicit installation. Even Gmail 'installs' something to run locally according to some broad interpretation of the term. The difference between that and signed oneClick type installs with auto update from a trusted source is pretty slim.

I just can't help but think that for webapps to get fundamentally richer, they are going to need increasing access to client resources, such as the ability to communicate with each other across process boundaries. At that point, security concerns will probably dictate a somewhat more formal installation process for them as well.
Great 3d, no. But check out unity 3d, which is a very small plugin, and quite impressive for what it is:

http://unity3d.com/
Born to Build, Not to Play: an Entrepreneur's 'Curse'
YUI's worked pretty well for me. The documentation is decent, and the code seems to have good support from Yahoo.
"Of course we aren't talking trade secrets we're talking business ideas, and ones that aren't glaringly obvious."

Glaringly obvious to who? Your start up idea might not seem glaringly obvious to you but don't assume it isn't to your competition!
Prototype plus YUI, looking at jQuery
"After a certain point, money is meaningless. It ceases to be the goal. The game is what counts."

Aristotle Onassis
A nasty side effect of using a terse language for apps that are split between a nice, algorithmic core and verbose, overly generic library calls for UI and storage, is that the algorithmic part shrinks to an almost nonexistent fraction of total code volume, and only the ugly parts remain visible.

I hope MS's productization of F# includes partial classes with type inference across (loaded) files, so that F# become as code gen friendly as C# and VB is. And that they add F# as an output language for their code generators. That way one will only have to deal with a graphical representation of the ugly parts most of the time.
"It does happen." I believe it has happened, but the whole point of the post is do you know anyone that this has ever happened to?

And if you don't know anyone this has happened to, how do you know that it actually happens?
Flying Cars.
Flying Cars? whats your point?
If they do that, then F# isn't much different than any other language.

No -- I think they should leave F# to go a different path. Let folks code terse web apps and projects.

Of course, since it's Ocaml, you can work and use it just like the other .NET languages. I'm just not sure why you'd want to do that.
This is shorter than both the Ruby and the Arc versions:

{x set y+eval x}

It's in q, a verbose version of a language called k.

Applying it to a symbol/variable `n will give you a functional projection you can apply to any i.
Not my YC submission
Here is a project that I am working on. Basically going to be a stock investment community with aggregate data. We want to have an 'open platform' with 2 way communication, meaning you can gather our data via web services. But first, we need sign-ups!!
How come my text doesn't show up below, when I click discuss.

Here is what I wrote:
Here is a project that I am working on. Basically going to be a stock investment community with aggregate data. We want to have an 'open platform' with 2 way communication, meaning you can build apps for our audience as well as gather our data via web services. But first, we need sign-ups!!
DabbleDB: transitioning from database tool to data-driven app development platform
"Flying Cars" isn't a good answer to your question, agreed, but it is an obvious idea - to everyone.

Chances are that if you are starting a business and you have competition already that they have thought of your idea or something similar and chose not to do it for whatever reason.

My business is www.shelfmade.net - I am now friends with a guy at sharedbook.com. Look how similar the businesses are. I have told him my ideas and he has told me a good deal bout his company. As obvious as I think my idea would be to his company, they are just not into it. They are not going to steal the idea unless I first prove it - then they would know about it anyway.

(Sorry my thoughts are a bit scattered- don't directly address your question, but I'm sure there is a point somewhere)
I have no idea what you're talking about so I don't even understand what itch you want to have scratched.
The predictions are per-developer, so it shouldn't matter how many developers you have. I think it would work for any developer who wants to improve their ability to set deadlines, it just has some ramp-up time before the predictions become useful.
A vote for MooTools, although jQuery is very nice as well.
jquery... hands down
Ask YC: Best way to learn CSS/UI design?
What is news.YC's take on learning CSS with limited prior experience? Are there specific books and/or tutorials that you could recommend?

In our previous startup, I was mainly involved in writing the back-end code. This time however, I'll need to contribute to the CSS interface coding too.
I didn't actually interview anyone in person (good idea, of course); I had to do everything over the internet. So I looked at what they had online. The one that picked had extensive contributions to forums, etc. Another reason was that the price was on the lower end of the range (4K or so).
Facebook employees know what profiles you look at
do you have any programs to try out? I make music on the mac and I am always on the look out for cool/new weird synths. etc, let me know if you need a beta tester. :) nice tunes.
Start with CSS tutorials (box model etc):

http://www.w3schools.com/css/default.asp

http://www.html.net/tutorials/css/

and then move to these two books:

http://www.zeldman.com/dwws/

http://www.simplebits.com/publications/bulletproof/

And you should know more than web designers that charge a ton of money to develop table-based sites.
Just read the W3C spec.
Besides the standard specifications, tutorials you'll find everywhere I would recommend you to analyse the existing stuff, pages you especially enjoy, or those created by CSS gurus etc.

Just like with code or any other activity, it is great to try to mimic giants.

Also, two notes.

One. Don't know how about others but I've found myself rather unable to learn conceptually new things on deadlines or working on real projects. So, at least, don't feel bad if you won't deliver good stuff.

Two. There's a lot of "layers" in the UI: information architecture, usability, CSS, graphics, and perhaps some other I forgot to mention.
In ML you can get a similar terseness to that of Haskell, but with support for imperative programming. If we allow the increment function to be predefined (as the Arc example does):

let inc a b = a := !a +/ b; !a

then foo becomes:

let foo n = inc (ref n)

or, with the help of the composition operator:

let (<<) f g x = f (g x)

let foo = inc << ref
Sounds perfect for a OLPC laptop!
Google Video - GIT
I would first make a distinction between CSS and UI design. You can make sucky UIs in CSS and you can make great UIs without CSS.

UI design is really more of a set of beliefs than coding.

Start by reading Defensive Web Design for the Web by 37Signals guys.

Jakob Nielsen's useit.com alertbox articles are a great place to start too-- http://www.useit.com/alertbox/ Back in high school I printed all his useit.com articles at the library printer and compiled it neatly in a binder:)

Also checkout Jakob Nielsen's Homepage Usability: 50 Websites Deconstructed.
MooTools is the truth.
I hope I am 'cursed' with Entrepreneurship.
for learning CSS, start with the basics tutorials http://www.w3schools.com/css/default.asp
try to create a couple of pages, try a CSS framework like blueprint. your next step would be trying to customize the CSS of a wordpress template. play with background colors, font colors, change the layout of elements.
as always, constant practice makes perfect.

UI design on the other hand is something completely different (although you need to know CSS/HTML and javascript to do it). read the online book designinginterfaces.com, the 37Signals blog, try to change the structure and layout of a blog template.

you will find it hard and the first few tries won't be pleasant to see, but if you keep doing it for a few months, then you will be actually be able to do UI design.
I want to see a Web 2.0 startup called UrGrammr.com - just for the irony.