It's quite simple, really.
- Find semi-successful open source app
- Convince yourself that writing C++ is the ultimate form of masturbation, and that learning Qt is better than spending time with your girlfriend, because it's so beautiful
- Remind yourself why MOC doesn't suck.
- Take the name of the app, sed /[cg]/k/, check that you didn't end up with three k's in a row. If there are no k's, stick a k on the front.
- Think of every user-facing function your app could provide
- Foreach function: create an abstraction layer that supports at least 3 other backends poorly
- Foreach function: create toolbar button
- Foreach function: create menu item
- Make sure it has split windows and tabbing and support for KParts. If you can't figure out a UI, just mimic a Windows one.
- Make sure it uses Phonon, and KAddressBook. And a dockable Terminal.
- NEVER use a library with a g in the name. EVER.
- Publish on KDE-Look.org
- Promise everyone that you're going to port to Windows, then don't
- Once every few years, use your toolkit rev'ing as an excuse to start over from scratch.
See? Piece of cake! Next time, I'll show you how to write a Gnome one.