because Hindley-Milner rocks
I hear that delivery is a feature too. I think that’s one of the reasons why my last project never gained as much traction as it could have gained. There were always new feature requests, requirements changes, constant discussions about algorithms, changes in data representation for “improved” performance/accessibility/whatever, changes in implementation language, etc. by those who had never used it. I know this because lately I’ve gotten a chance to talk with some of these people. Finally allowed into the world of customer interaction on some levels (not much) I have come to realize that there is a large disconnect between what is feasible and what they’d like.
For the first two years we handed them only slides, pictures, or technical reports. In that time the information contained by the DB grew tenfold. No one except us saw the inherent problem with this growth. The customer actually thought more information was better. The processing requirements were left unconsidered.**
Speaking of performance, this was the biggest source of heartache. As much as we protested data growth we were met by requests for increased processing speed. Personally, I don’t know what more I could do to increase performance within the engines without resorting to coding in assembly, assuming multiple processors or writing to a GPU. The “slow speed” frustrated one of the groups using our output enough to request that we hand them partially processed data. However, once we let them know just how much data they were going to receive their reply was “there’s too much data! We can’t process this in any reasonable time.” Go figure.
Which leads me back to the beginning. If only we had been able to put something in the customer’s hands. Then they might have said “You know, 15km x 15km is small enough. If we go to a 1km x 1km breakdown that will be 225 times more data which is just too much.” I’m trying to push for earlier deliveries from us. Once I get that I’ll push for our customer to test drive it. Wish me luck.
**Note: While others who have worked on DB based systems might say “over time all DB increase in size” this was not a situation where each DB table would accumulate new information. Instead, each table was to be created and left as is. They just kept making each table larger.