The methods to bring an idea to fruition are an invention and are patentable.
They're quite different.
Unfortunately, most people here on HN seem think that patents are on ideas, not inventions.
Unfortunately, the Patent Office and the Court Of Appeals for the Federal Circuit (the patent court) agree with the people who think patents are on ideas, not inventions.
The PTO and courts actually prefer nothing but an idea in software, semiconductor, and user interface patents. “As a general rule, where software constitutes part of a best mode of carrying out an invention, description of such a best mode is satisfied by a disclosure of the functions of the software. This is because, normally, writing code for such software is within the skill of the art, not requiring undue experimentation, once its functions have been disclosed. * * * Thus, flow charts or source code listings are not a requirement for adequately disclosing the functions of software.” [0]
But that's the state of patent practice in most subject areas now. And plenty of videos like 2001 have been used as prior art against user experience patents, since the patents usually include little or no technological content. Apple's billion dollar slide-to-unlock, rubber band, and various other patents don't describe even the kinetics of behavior in the patents much less the implementation.
[0] http://caselaw.findlaw.com/us-federal-circuit/1229938.html
Most patents (software or otherwise) are of a complexity where a person of ordinary skill in the art can re-implement it from scratch with a fair level of fidelity by reading just the abstract. Triviality of implementation is not the same as obviousness. And just because software makes it very easy to go from idea to implementation does not mean it's not an invention.
Never. Software patents are almost always intended to monopolize some trivial and obvious function in such a way as to make the established users of that function pay a grifter who juked the Patent Office. There's no reason to patent anything complicated in software because you could just work around it.
Triviality of implementation is not the same as obviousness.
No, triviality of implementation is a superset of obviousness. There are obvious things that are nontrivial to implement, but there are no non-obvious things that are trivial to implement.
Diffie Hellman key exchange
RSA
They both have 1 or 2 liners in various languages, google them.
So, if you invent something today and filed a patent next week, you could still get a patent over somebody else who independently thought of it and filed for a patent tomorrow, as long as you had proof. That's because you were the "first to invent".
Today, however, the other party would get the patent because they were "first to file", even if you have all the proof on the world showing you were first.
Seems unfair? It sort of is, so why the change? Because 1) it's what the rest of the world does, and 2) it happened so very infrequently and the hassle of resolving it was relatively so great, that the US optimized for the common case and got rid of it completely.
Note that prior art is entirely orthogonal to all this. It still applies to all patent applications as before. In this case, if prior art exists that pre-dates both parties' dates of invention / filing, both would end up without patents