Talkin to the Machine: Thoughts on Direct NetWeaver Participation in Social Computing Environments
During the TechEd in Munich, I had dinner with Owen Pettiford where we started talking about crazy ideas that involve SAP technology. We discussed the possibilities of conducting an Instant Messaging session with a NetWeaver system. We didn’t focus on the technology involved. We were more interested in what the content of the hypothetical conversation might be.
We thought it would be intriguing if your SAP CRM System started chatting with you. What would it say? “I’m bored. Please sell some stuff or find some more customers so that you can add new data to my tables.” How would these IM-based conversations be different from other ways to communicate with your NetWeaver systems? Other communication channels are usually one-sided – for example, Innovative ways to use alerts and System Monitoring configuration guide for Dummies. The question is whether a communication channel that was more conversational would be more useful than other possibilities? And if it were more useful, what topics would be most appropriate for this channel. Would topics related to administrative tasks or those linked to Business Intelligence analytics be more suitable?
Now you might be thinking what is the relationship of this rather absurd thought with social computing?
Social computing is about relationships and the information – irregardless of its form- that flows between members in certain networks. Now you might have noticed that I didn’t say “relationships between individuals”, I said “relationships”. This is because, as individuals we have relationships with a variety of other objects / entities besides other individuals. Now, you might be saying that a toaster might not be able to talk back but if you think about way technology is heading, everyday household objects may soon have the ability to post data on the Internet. Eventually, we may have social networks of purely non-human entities (toasters listening to automobiles listening to cell phones).
One might imagine that there is a Twitter-like environment for non-human devices. In the human-based environment, Twitter users can select friends from whom they want to receive tweets, which are a form of micro-blog that is restricted to 140 characters. Each Twitter useer also has followers – who read his/her micro-blogs – and friends – whose tweets he/she receives. Since the Twitter API contains the function “new” (which sends a new direct message to a specified user), it is possible to send a tweet via an external application.
You might question the value of befriending an inanimate object. However, if I “befriend” an airline in Twitter, then I may receive micro-blogs concerning special sales or offers. Craig just SDN “Fans” that SAP has joined Facebook, so it is now possible to be a fan of SAP in this ever-growing almost ubiquitous social network. If I can befriend SAP what about “befriending” my favorite SRM system so that I can receive its tweets. There is of course a distinction between SAP – which can be viewed as having some of a personality as a corporation with products / customers- and a particular SRM system in my corporation which is really only of interest to a particular group of users in my corporation. Forget about the obvious security / compliance problems dealing with the information flow from possibly internal systems to an external social network. Your first criticism is probably going to be: who has ever heard of machines directly participating in social computing – or indeed Web 2.0- environments. Well, what about this site that allows Microsoft XBoxs to blog about their interactions with their owners. Take a look at this 360Voice.com to get a feeling what these machines might tell us….
This site apparently uses the public profiles the Xbox presents when connected to the Internet to compile information that it uses for largely humorous blog entries. This entry from the site’ FAQ has some insights into how it works:
- I just registered. Why do I not have a blog yet?
It takes two full days for your blog to start appearing. This is because we have to gather enough data to see when things have changed. The first day puts all of your game data into our system. The next day allows us to see what has changed and generate your first blog entry.
Of course, XBoxes are usually linked to a particular individual whereas corporate systems are used by multiple individuals. The blogs that originate from these consoles usually are just manifestations of the gaming behavior of their owners. What is critical is 1) the use of the Internet to publish this information and 2) the site is largely for human consumption rather than machine consumption. The next step in this evolution might be where machines interact with other machines in a social computing setting.
A Caveat: One thing that I haven’t forgotten is that machines usually act based on the requirements of their users/owners. What interests me are environments where human interaction isn’t directly involved but where the Web 2.0 philosophy that is evident in such sites as Facebook, LinkedIn, etc. still dominates the manner in which entities interact. The question is whether social computing is restricted to just human interaction or whether the lessons learned / used technology can be used in other environments.
Now comes the leap to SOA environments…
If we are talking about communities of machines/systems instead of humans, one interesting aspect might deal with SOA-related activities. One of the most interesting aspects of work in SOA environments involves the identification of which services are appropriate for a certain context. I once wrote a Enterprise SOA Explorations: Thoughts on the Effective Search for Services that described the essential characteristics of effective searches for services and depicted the information necessary for users to find the service that they needed. I focused on the ability of various entities involved in service consumption – within and beyond the corporate firewall- to collect and compare information about services to provide the best information for the end users.
Doesn’t this description sound familiar to other social network sites where users can compare/rate hotels, banks, etc. What about a site where various service consumers (primarily involved systems rather than humans) post information/their experiences about various services that they have in common. Such participants could discover the relationship to one another via common usage of services, a common industry, etc.
Such “community members” could then make suggestions to end users / BPXs on the best services that meet their needs. Currently, most SOA efforts are just beginning and the quantity of services that are commercially available is still rather limited. However, as Service-as-a-Service (SAAS) takes off and more corporations offer their services to be used by external entities, then the need for “comparison shopping” for these services will increase as well.
Now you might be thinking to yourself “I like the idea of having all these ESRs and other Repositories posting information on used services. I, the End-User, can then select the service that has the best rating and best fits my needs (irregardless if they be based on cost, quality or performance measures).” Such a system would be a social network for humans that was based on service metadata that was collected via mechanical means. The next step would be the use of such metadata in a social computing setting that was populated by machines/systems – for example, if such systems made the decisions on which service to select for a particular process collaboration. Why would anyone (BPX, architect, etc.) wish to handover this critical task to someone / something else? What about situations where the BPX has no idea what the actual manifestation of the service selected at runtime will be? In such situations described by research regarding Enterprise SOA Explorations: The BPX is dead. Long live the BPX., the SOA engines decide at run-time which services are selected for a particular collaboration. These decisions could be influenced by the information collected in our SOA social network.
If you look at how some analysts define social computing, it involves the relationship between communities and institutions and the ability of technology to put power in hands of communities. Although they usually assume that these communities are human, the definition might also apply to groups of non-human entities. If you look at the interactions between humans in such Web 2.0-based environments, there are some interesting ramifications for SOA environments where machines from different settings interact with each other.
Once two systems from company A and company B have identified their common interests / services in our new social network (someone has to think of a cool name…), then the next step is for them to follow each other’s tweets on Twitter.
At the beginning of this blog, I discussed the content of IMs between humans and NetWeaver systems. I end this blog with a similar question. What would a CRM system tweet?