When an embedded project grows to a certain level of complexity, there can be a requirement for multitasking - the ability to run overlapping tasks, rather than the sequential one-after-the-other order of a normal Arduino sketch. This can mean a shift to a more powerful platform, but it doesn't have to: Yves Demirdijan's OS47, spotted by our friends at Freetronics, allows any ATmega328-based Arduino to perform both pre-emptive and cooperative multitasking with no additional hardware. That includes the Arduino Uno, the Arduino Pro Mini, and even our pocket-friendly Breadboard Arduino Compatible Kit (BBAC). If you think multitasking might be just what your next project needs, it's certainly worth having a play with the library by working through the tutorial.
In short terms, OS47 is a tiny kernel OS for your Arduino sketches. It can help you to improve your productivity to develop parallel tasks on your microcontroller.