Fog Creek Software
Discussion Board




patent enablement

How much information, in general, would you as experienced programmers need to produce your own working version of an existing program?  I figure if you have the data model and the User interface you can pretty much create your own version of a program (in some cases you probably only need the UI).

Does anyone think he would need additional information?

Erik Lickerman
Wednesday, March 26, 2003

How about the most important part? A solid understanding of the problem domain. Data model helps. UI stuff helps, but the most important part is not an understanding of how the program does things buy why it does it a certain way.

If you just look at the "hows" of a program and not the "whys" of the problem domain, you will most certainly miss some black-box magic that is supposed to happen every once in a blue moon.

just my 2 cents,

Patrik
Wednesday, March 26, 2003

Many programs have non-trivial algorithms in them. Those you can't duplicate with just data models and UI.

Examples are image processing and 3D modelling/rendering applications.

rexguo
Wednesday, March 26, 2003

To clarify, the above goes for complex systems. If you tell me to implement an email client that can use the protocol defined in RFC 1939, the RFC is all I need to make that happen.

Patrik
Wednesday, March 26, 2003

Point well taken when the point of the program is to execute an original non-trivial algorithm.

Agreed, as well that you need to understand the domain space and the task you are trying to accomplish.

My question had to do with enabling a patent, i.e. enough information than one skilled in the art could produce a working version of the program.  In this case "skilled in the art" would have to involve a combination of programming and domain expertise.  I have no special algorithms, just using a GUI to record and display information in a novel manner.

So thanks, you have answered my question.

Erik Lickerman
Wednesday, March 26, 2003

I disagree with rexguo. In fact, most applications do NOT have unique or difficult algorithms. The major value is putting together a UI around a data model and business logic that's derived from business knowledge.

Most development is vertical, not horizontal.

Brad (dotnetguy.techieswithcats.com)
Wednesday, March 26, 2003

*  Recent Topics

*  Fog Creek Home