I do really like Mike's parentscript idea, by the way, but I thought
I'd throw this out there as well just for discussion.
What about an open-source, hostable implementation of the
functionality of Yahoo Pipes? (http://pipes.yahoo.com/pipes/). It is
the first and only application I've found where "web 2.0" can even
begin to approach the visionary way people describe the concept of
"mashups". But right now, Yahoo is the only game in town, and it's
closed source, closed-hosting and limited-volume, meaning it's not
particularly useful other than for personal use or a toy.
What about creating a Clojure application that is embeddable on any
Java server that can provide this kind of functionality to transform,
process, combine & retransmit data?
This is less of a "clojure framework" kind of project than most of the
other suggestions, although it could definitely double as a more
generic Clojure data processing library. But it's primary value seems
to be that it would be a great evangelistic tool for Clojure - by
simply packaging it as a jar that can be thrown into any existing
webapp, it could allow Clojure to get a foot in the door in the heart
of the market I feel it would be ideal for.
I thought it might be good for our group for the following reasons:
1. It will scale well depending on how much work we want to put into
it. We could get a simple RSS aggregator working in a couple of hours,
and it's all incremental steps from there. If we put enough work into
it and it picks up community support, it could even turn into an
enterprise-level open-source tool.
2. The programming work is very parellelizable and atomic. After
writing a basic framework, the rest of the work involves writing short
and sweet filter, processor & converter components.
3. It involves a lot of different types of programming. Server
programming, data manipulation, web programming & gui programming (if
we wrote a standalone Swing app to configure pipelines). It's likely
that each of us will be very familiar with at least part of it's
application domain.
4. It plays to Clojure's strengths. The problem in question is very
well suited to functional programming & lazy sequences. Most of the
functionality is already built into Clojure in the form of the seq-
processing functions.
Anyway, it seems like a cool idea. I have no particular attachment to
it, in the sense that I'd be perfectly happy to do something else,
also, but this is something that I'd love to work on someday. I'd do
it myself if I didn't already have a side project.