Tag Archives: instant messaging

Note: This post is purely personal opinion based on my preferences and work style. If your are looking for an analysis of Google Buzz based on methodical primary research, abort now.

I have heard many people say that their email inbox is the mother of all social networks. For me, however, email is the antithesis of a well-built, functioning social network, because it is a communication channel, not a collaboration enabler.

I value my social networks because I can work with members of those communities to get things done. When I worked at IBM, a very large company, my email inbox was more of a proxy for the organizational hierarchy than an instantiation of my social graph. Too much of my email activity was about low value (or value-less) communications and interactions imposed by command and control culture and systems. When I needed to communicate something up or down IBM’s or a project’s chain of command, I used email. When I needed to get something done, I contacted collaborators on Sametime (IBM’s instant messaging product), the phone, or BlueTwit (IBM’s internal-only, experimental microblogging system). In short, the contacts in my large corporation email address book were more reflective of the organizational structure than of my collaborative networks.

That is precisely why Google Buzz is a non-starter for me. The Google Contact list on which it is based does not represent my collaborative network, on which I rely to get work done. Very few of the people with whom I collaborate are represented, because I don’t interact with them via email. At least not often. A quick analysis of my Google Contacts list shows that Google Voice usage contributes more actionable, valuable additions to the list than does Gmail. My Gmail inbox is filled with communications, not action items, and most of them are low-value messages from application and service vendors whose tools I have downloaded or use online.

Google’s design of Buzz demonstrates ignorance of (or disregard for?) the reality that many social interactions happen outside of email. Had I wanted to use my Google Contacts list as a social network, I would have imported it into FriendFeed months ago. Strike One.

I just mentioned FriendFeed, which was my primary social network aggregator for several months. One of the reasons I backed away from heavy usage of FriendFeed was because it became little more than another interface to the Twitter stream. Yes, it is easy to inject updates from other sources into the FriendFeed flow, but, in reality, the vast majority of updates cam from Twitter (and still do.)

I see the same thing happening with Buzz. Too many people have linked their Twitter accounts, so that everything they tweet is duplicated in Buzz. And Buzz doesn’t allow for integration of the vast number of information resources that FriendFeed does. Talk about low-value. Strike Two.

I have not taken enough swings at Google Buzz yet to have recorded Strike Three. So, for now, I have not turned Buzz off. However, I am ignoring it and will not experiment again until Google provides integration with more external social networks.

In the meanwhile, I am still looking for a social tool that blends contacts and information streams from many sources, but lets me filter the flow by one or more sources, as desired. That would allow me to work both formal organizational and informal social networks from the same tool. Gist is promising in that regard, but needs to be able to capture information from more sources with corresponding filters. Hopefully, someone will read this post and either point me to an existing solution or build it. Until then, I will have to continue using multiple tools to communicate and collaborate.

In a Regulatory Notice released earlier today, the Financial Industry Regulatory Authority (FINRA) opined that brokerage firms and their registered representatives must retain records of all communications related to the broker-dealer’s business that are made through public blogs and social media sites, such as Facebook, LinkedIn, and Twitter.

“Every firm that intends to communicate, or permit its associated persons to communicate, through social media sites must first ensure that it can retain records of those communications as required by Rules 17a-3 and 17a-4 under the Securities Exchange Act of 1934 and NASD Rule 3110. SEC and FINRA rules require that for record retention purposes, the content of the communication is determinative and a broker-dealer must retain those electronic communications that relate to its “business as such.”

Brokerage firms will now be required to archive and make discoverable business-specific content produced by their employees. They will also have to establish and maintain procedures that ensure a supervisor has either approved an interactive electronic communication before it is posted, or that a “risk-based” method of post-communication review exists and is exercised.

“While prior principal approval is not required under Rule 2210 for interactive electronic forums, firms must supervise these interactive electronic communications under NASD Rule 3010 in a manner reasonably designed to ensure that they do not violate the content requirements of FINRA’s communications rules.

Firms may adopt supervisory procedures similar to those outlined for electronic correspondence in Regulatory Notice 07-59 (FINRA Guidance Regarding Review and Supervision of Electronic Communications). As set forth in that Notice, firms may employ risk-based principles to determine the extent to which the review of incoming, outgoing and internal electronic communications is necessary for the proper supervision of their business. “

In addition, FINRA’s guidance states that all organizations under its purview must establish and communicate social media usage guidelines for their employees, and that those individuals must also receive employer-provided training on those guidelines.

“Firms must adopt policies and procedures reasonably designed to ensure that their associated persons who participate in social media sites for business purposes are appropriately supervised, have the necessary training and background to engage in such activities, and do not present undue risks to investors. Firms must have a general policy prohibiting any associated person from engaging in business communications in a social media site that is not subject to the firm’s supervision. Firms also must require that only those associated persons who have received appropriate training on the firm’s policies and procedures regarding interactive electronic communications may engage in such communications.”

FINRA’s guidance marks the beginning of a new era for financial services companies and their use of external social media. However, the Financial Services sector is not the only one that will be subject to regulation of communications made via blogs and other types of social software. An IBM Senior Product Manager related last week at Lotusphere that IBM customers in the Healthcare and Utilities industries were also beginning to ask about the management of user-generated and social content.

If your organization is currently required to comply with regulations pertaining to the use of email and instant messaging for business communication, expect to see similar requirements placed on your management of external blog and social media site posts in the near future. At some point, it is likely that these regulations will also be applied to internal communications conducted via enterprise social software.

Today is the long-awaited day when 100,000 lucky individuals receive access to an early, but working, version of Google Wave. I hope I am in those ranks! Like many people, I have been reading about Wave, but have not been able to experience it hands-on.

Wave has been a hot topic since it was first shown outside of Google last May. Yet it continues to be quite misunderstood, most likely because it is such an early stage effort and most interested people have not been able to lay hands on the technology.

The confusion surrounding Wave was highlighted for me yesterday in a Twitter exchange on the topic. It all started innocently enough, when Andy McAfee asked:

To which I replied:

That statement elicited the following comment from Jevon MacDonald of the Dachis Group:

I am not a technologist. I seek to understand technology well enough that I can explain it in layman’s terms to business people, so they understand how technology can help them achieve their business goals. So I generally avoid getting into deep technical discussions. This time, however, I was pretty sure that I was on solid ground, so the conversation between me and Jevon continued:

Now, here we are, at the promised blog post. But, how can Jevon and I both be correct? Simple. Google Wave encompasses not one, but several protocols for communication between system components, as illustrated in the figure below.

The most discussed of these is the Google Wave Federation protocol, which is an extension of the Extensible Messaging and Presence Protocol (XMPP). However, Wave also requires protocols for client-server and robot server- (Web service) Wave server communication. It is also possible, but probably not desirable, for Wave to utilize a client-client protocol.

Jevon was absolutely correct about the XMPP protocol enabling server-server communication in the Google Wave Federation Protocol. The Draft Protocol Specification for the Google Wave Federation Protocol lays out the technical details, which I will not explore here. XMPP provides a reliable mechanism for server-server communication and is a logical choice for that function in Google Wave, because XMPP was originally designed to transmit instant message and presence data.

It turns out that the Google Wave team has not defined a specific protocol to be used in client-server communication. A Google whitepaper entitled Google Wave Data Model and Client-Server Protocol does not mention a specific protocol. The absence of a required or recommended protocol is also confirmed by this blog post. While the Google implementation of Wave does employ HTTP as the client-server protocol, as Jevon stated, it is possible to use XMPP as the basis for client-server communication, as I maintained. ProcessOne demonstrates this use of XMPP in this blog post and demo.

Finally, there is no technical reason that XMPP could not be used to route communications directly from one client to another. However, it would not be desirable to communicate between more than two clients via XMPP. Without a server somewhere in the implementation, Wave would be unable to coordinate message state between multiple clients. In plain English, the Wave clients most likely would not be synchronized, so each would display a different point in the conversation encapsulated in the Wave.

To summarize, Google Wave employs the following protocols:

XMPP for server-server communication

HTTP for client-server communication in the current Google implementation; XMPP is possible, as demonstrated by ProcessOne

HTTP (JSON RPC) for robot server-Wave server communication in the current Google implementation

Client-client protocol is not defined, as this mode of communication is most likely not usable in a Wave

I hope this post clarifies the protocols used in the current architecture of Google Wave for you. More importantly, I hope that it highlights just how much additional architectural definition needs to take place before Wave is ready for use by the masses. If I had a second chance to address Andy McAfee’s question, I would unequivocally state that Google Wave is a “concept car” at this point in time.

Postscript: The heretofore mentioned possibilities around XMPP as a client-client protocol are truly revolutionary. The use of XMPP as the primary communication protocol for the Internet, instead of the currently used HTTP protocol, would create a next generation Internet in which centralized servers would no longer serve as intermediaries between users. Web application architectures, even business models, would be changed. See this post for a more detailed explanation of this vision, which requires each user to run a personal server on their computing device.