I think that the best, and maybe the only, thing to do to get better as a programmer is to program, i.e. to create new stuff, build new apps, solve new problems.
But during our daily jobs we (well I can only speak for myself :)) usually do a lot of maintainance programming, debugging, support and other work that could be categorized as "not so fun".
So I'm looking for some interesting ideas to keep my fingers fast and my mind sharp. It could be anything: a desktop app, a web app or just some cool feature added to an existing product you once thought would be really useful.
So what's your favourite non-implemented programming project idea?
Thanks for all your answers!