Garden with Insight
Why Garden with Insight is not for sale
A little history
We started out wanting to make a garden simulation that was educational, entertaining, and easy to use,
that covered all major aspects of gardening, and was accurate. We wanted to sell the garden simulator and
make a profit so we could invest the profit in other educational simulations in the future. While we
still have hopes of selling a future version of Garden with Insight, for the moment we are giving
this version away.
We decided to work with EPIC (Erosion/Productivity Impact Calculator), an agricultural simulation created
by the USDA Agricultural Research Service because 1) it was well respected and validated; 2) it covered
some of the aspects we wanted to simulate; 3) it came with large data sets; and 4) it was publicly available.
At first we tried to use the EPIC model as a reference, but we found that the documentation left large gaps
that only the source code could explain, and the source code was so difficult to follow that to understand
it we had to translate it. So one of us spent nearly a year translating nearly the entire EPIC model from
FORTRAN to C++. In retrospect, translating the whole EPIC model was a wrong turn for two main reasons.
- EPIC emphasizes water and wind erosion very strongly, and
devotes a lot of complex code to detailed simulations of water movement and runoff. But in a small
garden, erosion is not important enough to merit all that attention. On the other hand, simulating
home gardening does require a fairly complex plant growth model, to harvest individual cucumbers,
for example; but the EPIC plant growth model is very simple and has major gaps (no flowering model,
for example). So we spent a lot of time translating source code that we didn't need, and had to
write a lot of code that EPIC didn't have.
- EPIC, like most agricultural models in FORTRAN, is extremely difficult
to read and understand from a programmer's point of view. And the EPIC source code is about 17,000
lines of FORTRAN. In addition, our backgrounds were not in soil science, so we were learning as we went. The
result is that even after translating EPIC and modifying it for the home garden, we still understand it only
incompletely and feel that our adaptation of it is barely adequate.
We also made some other mistakes along the way, including: 1) using Windows instead of the Macintosh
(we knew the Mac better but went with Windows because of the larger market); 2) using Delphi instead
of Smalltalk (which is better suited for creating simulations) because of licensing fees; 3) being
too ambitious about what to include in our first version (we should have started smaller); 4) doing
too little user testing; and 5) working in too much isolation.
What we've got now
Version 1.0 of Garden with Insight is finally complete, but it is neither as accurate, comprehensive,
or easy to use as we had hoped. For these reasons, we think it will have a small market. It doesn't
fit well into any existing niches: it's not a simple program, or a modeling environment, or a
database, or a game, or a garden planner. While we think the program has merit as a
microworld, that niche is not very well developed. Nor is the
program extendible enough (e.g., via a built-in programming language) to be a true microworld.
People tend to have specific expectations about software based on other products on the market
that appear similar on the surface. In talking with people, we have frequently got these responses.
- Home gardeners ask, "Will it help me plan my garden? Does it have [name of specific plant]?"
- Teachers ask, "Will it fit into my restricted curriculum and short class periods?"
- Kids ask, "Is it a game? How do you win?"
- Academic researchers ask, "How can it be serious if it has a cute front end?"
- Funding agencies and foundations ask, "Why should we give you money when
you can just sell the product?"
Of course, these are stereotyped responses (and a lot of people do like
the product for what it is). It would take a significant investment
to shift these perceptions or address them in other ways (by splitting the product,
for example). We could certainly address some of these issues by focusing the product more
clearly, doing more user testing, writing a teachers' guide, and investing in some
expensive marketing about the value of microworlds and the insights they provide.
At the moment we don't have the resources to do these things. So the strategy we've
adopted is to let the product slowly percolate through the culture on its own by making
it freely available.
If we are able in the future to continue work on this project, we plan to create two new products, described as follows.
- The first product would be a simple, appealing product that teaches organic gardening. This product would have a graphical interface somewhat like the garden window in the existing product, but would cover more of the gardening experience. Elements would include testing the soil, getting weather reports, trading with neighbors, getting advice from the library, selling produce in a market, dealing with insects and animals (both beneficial and pest), thinking about where food comes from and how it is produced, and seeing the long-term negative effects of pesticide use. The program's models would be very simple, probably combining rule-based systems and fuzzy logic with simple growth functions. We would use what we have learned in making the existing product to create these simplified models.
- The second product would be a simulation development system for gardening, agriculture, and other scientific areas. One of the most important things we have learned while making this simulation is that we have learned more about gardening than anyone can learn while using our program, because we learned by writing the program. The logical extension of the existing program is a modeling environment where the user starts by constructing simple models, then progresses to more complex simulations. The modeling environment would include facilities for graphing and statistical analysis, and a debugger and source code control system. (Probably both of these next-generation products would be written in Smalltalk.)
The bottom line
Creating next-generation products based on Garden with Insight in the future is not incompatible with giving it away today. Actually, the name recognition from Garden with Insight may help us to raise funds or sell other educational simulations in the future. Also, we think the general benefit of releasing understandable source code based on EPIC will greatly outweigh the small private benefit to us of selling the product (and thus limiting distribution and use of the source code).
The licenses we have considered in releasing the program and source code are as follows:
- an absolutely free public-domain license (redistribution and reuse are permitted in any form) like that used with Python;
- a license that permits redistribution of the source code but only if changes to the base
system are made available to all (like the
Apple educational object economy license for
- a General Public License (GPL), or copyleft, where redistribution is permitted and all work done using the code must also be redistributable (see the GNU GPL web site for details);
- a license like that used with Inform (an interactive fiction authoring system) where you can use the source code but cannot redistribute it with any substantial changes; and
- a license that allows anyone to download the source code from our web site but only use it on one computer and never redistribute it in any form.
We have chosen the GNU General Public License because we want to preserve the possibility of third parties licensing the code from us for their own commercial efforts, and also because we want an open evolving system for researchers and educators to improve (and the GPL forces university researchers to keep their improvements public).
Just because we have decided to use the GPL for this version doesn't mean we think people shouldn't charge for (or pay for) software. When people pay for software, they usually also get upgrades, technical support, printed documentation, and convenience. Still, we also think it would be nice if there were more free educational software supported by foundations, the government and schools, since education is a public good.
If you have any comments or suggestions about this document or about the Garden with Insight program, please email us.
Back to main Garden with Insight page