what's in season?
Posted on 13 July 2007
Another programming project for those of you who are just itching for something to code.  Basically, I want a website which can tell me, given my current location, what fruits and vegetables are in season right now.  
Some thoughts, questions and requirements
- The site must be dead simple to and very pleasant to use.   This is not something you should have to read documentation to figure out.
 - This kind of thing could be easily international, so I want pictures.  Maybe you can grab them from the Wikimedia Commons.  I guess it would be fair to give you bonus points if you localise the thing, or maybe let me play with the language settings so I learn how to say 'rutabaga' in Arabic.
 - How does the user tell you where s/he lives?  As a default, it would be nice if you auto-detected it, but what might be nicer also is if I could play around and plug in different locations.  How would you pick a location?  By pointing at a map of the world?  Also, maybe you don't just want a single point in the map, but a region of N kilometers around me.  The question is basically, what grows N kilometers from where I live, where I get to specify
 - Likewise, what do you do about the current date?  It would also be nice if I can play around with this, asking not just 'what's in season right now' but 'what's in season during wintertime?'
 - Where is all of your data coming from?  How are you going to store it and look it up?  What kind of data do you really need?
 - If you want to get really really fancy, you can make the site adapt to current events.  Maybe parse newspaper texts to find out that it's really not a good year for mangoes.
 
This is not necessarily a Haskell project (although in my silly, silly eyes, everything is potentially a Haskell project), but this might be a fun way to learn how to do web stuff and maybe play around with databases.  In fact, such a project might also be useful for building a Haskell web tutorial, a kind of site that we can build together.  Simple objectives that everybody can understand, and actually useful for something.
This project might also be a good way to learn about building user interfaces.  Or maybe if you're not interested in working on that stuff, it would be a good opportunity to partner up with somebody else.  They worry about the UI stuff and you worry about the code.  I don't know anything about UI, except that I think it's important to get it right.  If it helps, I greatly enjoyed Donald Norman's 
The Design of Everyday Things, as well as Bret Victor's 
Magic Ink.