Here is a list of the various developer resources I have tracked down over the years. You'll find links to things like user interface guidelines for the various platforms, API references and other programming goodies. If you have a resource that you would like to see listed here, feel free to email me at aaron@aaronballman.com and I'll try to include it here.

- Windows User Experience
- If you are interested in programming for Windows, then you should check out this resource to learn how to get the proper look and feel for Win32 applications. This document covers (in great detail) all the information you will need to make great looking Windows applications.
- Macintosh Human Interface Guidelines
- If you are going to develop applications for Mac OS X, then you need to check out Apple's interface guidelines. Mac users tend to be sticklers for UI design, so this is an excellent resource to check out to make sure you're designing your application with the Macintosh user in mind.
- Gnome Human Interface Guidelines
- When developing applications that are meant to run on Gnome, you will want to see what interface guidelines are suggested. This resource covers many of the finer points of developing a proper GUI for your Linux applications to run on the Gnome desktop environment.
- KDE User Interface Guidelines
- Similar to Gnome, if you are planning on developing for the KDE desktop manager, then you will want to see what interface guidelines they set forth to ensure your application feels like a native KDE app.
- Gnome APIs (GTK, GDK, GLib, etc)
- When doing any Linux GUI programming, you will run up against two different sets of APIs. The Gnome APIs are a collection of various libraries to do all GUI programming for the Gnome (as well as many other) desktop environment. Many of these APIs are cross-platform and can be used on Windows or Macintosh as well.
- Qt Reference Documentation
- The other set of GUI APIs that you will see on Linux is the Qt toolkit. Qt is mainly used by the KDE desktop environment (among others) and is also cross-platform. This resource will give you a complete idea of how and why to use Qt.
- Microsoft Developer Network
- When developing applications for Windows, you will need to check out MSDN sooner or later to get the latest information about the Windows APIs. This resource covers not only GUI APIs, but every API call for any version of Windows (including embedded systems, handheld devices, automotive SDKs, etc). It's a must-have resource for anyone serious about developing for Windows.
- Apple Developer Connection
- Apple has created a central place for all their developer information called ADC. This site contains information about their Open Source collaborations, all the system APIs, sample source code, mailing lists, etc. If you are planning on developing for Mac OS X or even Mac Classic, then you should check out ADC for all sorts of great information from Apple.
- LibC Programming Reference
- If you are going to be doing any systems programming (either on Linux, or any POSIX compliant system, such as Mac OS X's mach implementation), then you will eventually run into LibC APIs. This is just one of many websites that explains all the various LibC functions.
- The Open Group Base Specifications Issue 6
- This site contains all information pertaining to POSIX compliance and other open specifications. There's a ton of information in here, so if you are ever wondering things like "what makes a valid file path on Linux", then this is the resource to check out.
- RB Garage
- When doing REALbasic programming, you may find yourself needing some piece of functionality that RB doesn't provide for you. In that case, you will want to check out RB Garage, which lets you search through hundreds of REALbasic-related resources. This site is invaluable to anyone programming in REALbasic!
