Document based application design
One of the most common use-patterns of applications on modern platforms is that of document-based applications - applications which can have several active user-controlled contexts.
Some familar examples might be a word processor where the user may have multiple document windows concurrently, or a web browser which allows a user to have a number of different browser windows open at the same time.
Document based applications provides information and tips on how to code this style of application.
Coding for portability
Writing code that will compile and then run on different platforms can be surprisingly easy. Writing portable code describes some straight-forward steps to take to make your program easy to port to new platforms.