Determining/Controlling your environment - Presence - Generating Ideas

Hello there. So far we ended with Sound context, and I promised to tell a story about Window management. In fact, I just finished working on Presence module and as far as it is really interesting stuff, I decided to tell about that first. :)

Presence & People

Presence, people - all this stuff is really important for us. We want to have and keep connections with people we care about, who care about us, and we want also to be polite so we need to set our presence for them.

People - this is very easy thing when we come to think about them and ways to use computer to store info about people, yah? Well, it is really easy to add your people, your connections to your favorite Address Book - it can be Windows Address Book before Windows Vista, or Windows Contacts in last OS, or Outlook, or say Windows Live Contacts, or Yahoo Address Book, and vise versa. Right?

The problem is, that we do have connections with people, and these connections do not end where we can easily store people info in one place - most of our peers have not only email and/or phone, but also instant messaging address, right?

What is really ugly, none of apps I've noted (and I believe you know more apps than me), provide a such capability to provide you access to all of your friends regardless what IM they have and easily connect with them.

Example Situation

Particular situation is when your friends are using different IM clients say Skype, or Windows Live Messenger, or ICQ, and your app doesn't provide you with capability to access your friends from it as easy as it should be.

Politics of IM Networks

What is even more worse, the politics of IM networks is easy: if you want to publish your presence to your peers, they should be in the same IM network. Of course, there is a federation, when in Windows Live Messenger you can talk with Yahoo guys, and using our's Office Communicator you can talk also with ICQ or AIM guys, too. But this is only a partial solution.

What Solution May Help?

I believe that we need a more suitable solution here. Some easy way to see your peers, receive their updates, chat with them using IM clients they use, and do not care of having 3-4 IM apps opened at the same time.

I believe it should be one App - say "People & Groups" that will show you all your peers in a way just described. so let me introduce you ideas of People & Groups.

People and Groups

1. Goals:

Have one place in Windows to access your friends, teammates, and other people you know, and manage connections with them

2. Things I expect from this app
  • One single easy People & Groups browser to easily see all of your people, find those you need to connect now
  • One single easy way to connect with these people using different ways - Email/IM/Telephone/VoIP
  • Publish presence to any IM/Telephone/VoIP network I use if possible, and try to make it context-sensitive

I think this should be enough to start. Oh, I forgot about Developers, right:

3. Developer Perspective
  • API to access current user's People & Groups, retrieve presence for his contacts
  • Easy way for manageability of presence in 3-rd party Presence published app - it can be IM Client, or say Facebook, and vise versa.

Okay, the next post should be about creating a People & Groups Framework using .NET Framework 3.5 features.