One thing that Apple does VERY well is immediately rewarding an end user for staying within their suite of software tools and adding value to their data. Sony does this from a hardware standpoint as well and it is a model that software developers should look at and strive for.
Let me give you an example. I have opened iChat (connected to AIM), and Mail on my MacBook. When I look at my Inbox, I noticed a green ball next to the name of one of my contacts. When I check iChat, I see that that contact is online now so Mail is notifying me as such with a green ball because I put this contact’s AIM name in my Address Book. Knowing this, I opened up Address Book and confirmed that everyone i have on my AIM list is in my address book so they show up as online when I have Mail and iChat open. This also makes iChat show the full name of the people instead of their AIM names so it is easier for me to know whom is online and whom is not.
The moment I put an AIM name into Address Book, it changed in iChat, updated Mail, and made me feel like the time I spent on updating had an immediate affect on the system. Of course this is just an illusion of value but it does give me a warm feeling of accomplishing something that helps my programs talk to each other. Sony does this by making all of their components talk to each other easily. A PSP can connect to your home PS3 and stream video or music content to your PSP in real time. Value added content just for staying brand loyal.
This is a simple concept anyone can use when writing a suite of software. Seek out technologies that may make your development easier and allow your users to have value added services. Things like OpenID will allow for single sgn on capabilities and may give you additional information on your users you may not have had the time to develop independently.