These are projects that I've considered doing, though haven't yet found the time/motivation. I generally write down the idea, and then move on. (Do not develop any of these ideas for personal profit, without getting me involved! Seriously, open-source your stuff, and don't be a horrible person.)
Task-Stack Tracker: when I'm coding, or in the middle of a lot of work, or deep in a mathematical proof, I often find that I overflow my (admittedly small) mental stack. By the notion that computers can help us think better, write a simple mental stack tracer. This is very lightweight, yes, and probably easy to code once the interface is determined. However, since this is supposed to be a tool to help you think, when your brain is already nearly fully loaded, it needs to be very easy to use. The user interface design, here, is actually the most important part.
Generalizable Game Timer: A lightweight timer program that, without requiring much attention during play, can be used as the timer for such varied games as Chess, Scrabble (with variable numbers of players), Go, Boggle, Taboo, and so forth. Lots of options, actually easy to use, and portable to everything. Laptops running any operating system, PDAs ... if you can actually get this to run on phones, total win.
Gaim from GKrellm: Make a plugin that lets you do all day-to-day IM actions from within GKrellm. Gaim and GKrellm are both highly pluggable, so I suspect this is actually quite possible.
Taboo card server/player: Taboo is one of my absolute favorite games. The only problem is that my buddies and I have played it so often that we've memorized half of the cards. What we clearly need is an easy way to generate cards (from, say, a search engine), and easy way to rank cards by how well they work when people play with them, some way to permit card submission, user accounts that track things like preferred card difficulty, how often that user has used any particular card (so you don't give it to them again, soon), and so on. I'm imagining people playing this in real life, with the "reader" sitting in front of a computer/laptop/PDA/cell phone that the rest of his team can't see, while the program times her. However, making this playable via text chat (or voice chat!) would also be cool.
Firefox extension: Meta-tabs: Seriously. Why can't I make a tab that contains other tabs in Firefox? I tend to browse along trees, and would like to be able to group my browsing accordingly.
Wikommunity: The flexibility of wiki editing, like wikipedia or everything2, but where personal identity means more. You can set totally private pages, that only you can read (and the server itself can't even read, because it doesn't keep the decryption key), you can make public pages that only you can edit. You can make groups of friends, and give viewing/editing permissions to individual friends or groups. And, of course, you can make common pages that are publicly viewable and editable. The permissions system needs to have some sane defaults; and the permissions system needs to be robust. It'd be nice to be able to store private information here (like, say, other people's phone numbers and addresses), do social networking activities, and wiki-like content efforts, all at once.
Also, a few hard projects: (;))
- Make a shell to replace Bash that has decent programming syntax. Like, write a variant of Python, or maybe just a Python library, in which you can still run programs without more than a character or two of extra syntax, and do pipes and file redirects easily.
- Write a Unix in OCAML or Haskell.
- Rework a strongly statically-typed functional language, like OCAML or Haskell, so that Lisp-like macros are possible. (I'm not actually sure it's possible, but it would be awesome.)
Or course, you could also just write a game, or submit patches to any open-source project in the world.