On Jun 1, 2007, at 10:25 AM, Russell Wallace wrote:
I'm talking about the process of going from a stack of CS papers to a working, useful program. I'm pointing out that most of the difficulty lies in that process, not in generating the CS papers.


Designing a useful new algorithm may take six months of research and development, but an implementation of that algorithm will take something on the order of a week of effort. There is nothing hard about implementation, a monkey could do it given adequate instruction. There is no shortcut to actually having those instructions.


The non-spatial database problem is sufficiently nontrivial in implementation that entire corporate lifespans, man-centuries of effort, get spent on implementing database systems (_not_, by and large, on figuring out the algorithms and data structures). Why do you think the spatial database problem will be so much easier?


You are conflating unrelated things, and making a rather significant number of assumptions about how an algorithm might be used. Approximately *zero* implementation effort would be spent on the implementation of a spatial algorithm as a percentage of total effort. A new algorithm is nothing more than an enabling technology with inconsequential implementation time in most cases. All that other window dressing is application specific and quite irrelevant. My window dressing has no bearing on anyone else's window dressing, and is a completely separate calculus. Having the algorithm defines what is possible and what is not, having an implementation of that algorithm is a minor expense and often not even reusable in any case.

The economics of many applications pivot entirely on whether or not that algorithm exists, because if it does the expense of implementation becomes entirely inconsequential and if it does not no amount of implementation investment will overcome the lack of it. You seem to be denying this reality. If this algorithm was patented, the market would be defined by the ability to do the R&D, if it was not the market would be defined by the ability to pay the very modest implementation expense and organizations that had large amounts of pre-existing window dressing at their disposal would have a significant advantage because they've already finished most of their investment in turning out a useful product. For example, dropping new index types into existing transactional database engines usually takes effort measured in man-months.


The vast majority of all people that might want to use an algorithm (e.g. scalable spatial indexing) will never have any use at all for your implementation but will have a huge amount of use for the underlying algorithm that makes implementation possible at all. You put way too much value on algorithm implementation. The basic Google software implementation could be built from scratch today for less than a million dollars -- chump change -- and is therefore obviously not the gating factor in building another Google.

Cheers,

J. Andrew Rogers

-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?member_id=231415&user_secret=e9e40a7e

Reply via email to