Now that I'm in a Microsoft shop I've been trying to wrap my head around Microsoft's collaboration offering for the past couple of months. Microsoft's marketing says one thing, analysts and experts say something else, and the people I know who actually do collaborative applications with Microsoft tools tell me something entirely different. Then my own research may or may not match up with any or all of the other sources, so I try it out first hand and get a whole different set of results. Yeah, it's been a little frustrating.
During my research I stumbled across an
article on Redmondmag.com which really helped. It's from December 2006, but it's still pretty relevant. Here are some interesting bits from the beginning of their discussion.
Microsoft's ambitious collaboration strategy is just beginning to take shape, and it's still confusing. Some products and features are far more ready for prime time than others. IT pros are faced with a portfolio that's voluminous, lacks complete unification and, quite frankly, fails to sidestep a rash of redundancies....
"Being a stack architect is very difficult these days. It used to be so simple to pick the right Microsoft technologies and build a stack," says Tim Huckaby, CEO of InterKnowlogy, a custom .NET development shop. "These days, it's overwhelming."
So what's the scope of the product line we're talking about to implement Microsoft's vision of collaboration? The official list from Microsoft includes:
- Microsoft Office SharePoint Server 2007
- Office Communications Server 2007 (formerly Live Communications Server 2005)
- Exchange Server 2007
- Office Communicator 2007
- Office Groove 2007 (formerly Groove Virtual Office 3.1)
- Office Outlook 2007
Note that those are only what is needed for the official Microsoft collaboration platform. Both of the Sharepoint seminars I have attended made heavy use of Infopath 2007 for online forms, and you would be hard-pressed to work in this environment without the rest of Microsoft Office. Microsoft SQL Server 2005 and Windows Server 2003 with Active Directory are considered infrastructure components and not included in the list. To do any custom development (and you will do a LOT) you need to add Microsoft Visual Studio 2005 to the list.
But do you really need all that? Let's get to the root of what collaboration is. According to Merriam-Webster, "collaborate" means:
- to work jointly with others or together especially in an intellectual endeavor
- to cooperate with or willingly assist an enemy of one's country and especially an occupying force
- to cooperate with an agency or instrumentality with which one is not immediately connected
In the business view of collaboration the first definition fits best (although you may also engage in the second and third :-P ). For collaborative business applications this means we need:
- A user interface for collecting, displaying and generally working with data and information
- A place to store the data and information
- A rules engine for notifying others about changes to the data
- A delivery mechanism for those messages
Continuing from the Redmonmag.com article:
Herein lies the problem: While Microsoft talks about building a seamless, pervasive collaboration platform, many analysts and users complain that the company has done a poor job of clearly sorting out and positioning the many product pieces that constitute that strategy. They believe there are some pieces that overlap each other in terms of core functions and they don't get an adequate feel for the company's long-term commitment to some components.
...
"They have been dropping the term 'collaborative' for a few years now, but they only talk about it in piecemeal fashion or as part of some point product discussion. [Microsoft] could do a better job helping the market understand what is really a multi-faceted story, and how these different technologies address very different problems," says Dwight Davis, vice president at Ovum Summit Inc., a market researcher in Seattle."
The experts largely agree that deploying the full Microsoft collaboration stack is difficult, confusing and there is overlapping functionality. You can create workflow apps using Infopath 2007, Sharepoint Server 2007, or even ASP.Net. When you look at the punch list of functionality required to do collaboration it quickly becomes apparent that Microsoft's portfolio lacks cohesion, focus and direction.
Okay, so peeling back the layers and getting down to brass tacks, what Microsoft tools do you need to build the same kind of basic collaborative applications that are delivered on Notes and Domino day in and day out? All you need is a form for users to enter data, a view for them to navigate through documents, and some workflow notifications with doc links. It's a surprisingly short list:
- Visual Studio for creating a user interface
- IIS to host the ASP.Net application
- SQL Server to store the data and notify people about the changes
- Exchange to deliver messages and
- Outlook to read them
Once you get those basics in place there is still a lot of work to do. A key benefit of using Notes is the use of document links. Microsoft doesn't have a rich client like Notes (yet) so that functionality is much more difficult to achieve unless you go with an ASP.Net web-based solution. For security you can map Active Directory users or groups to SQL Server security at the object level, and you can create roles in SQL Server that encompass groups and individual users. Something like Readers or Authors fields is more difficult to implement, but it is still doable. With all that addressed then there is offline data access to consider and finally you can start thinking about application deployment and updates.
The online colleague who outlined the above strategy to me said that Microsoft doesn't provide a seamlessly integrated solution because that isn't the business they're in. They are in the business of building up integrators and resellers who will do the hard work of creating the seamless solutions. By Microsoft keeping things disjointed and hard to understand it ensures the BP's have business, and also ensures that MS will sell more product. I can't argue with that logic from Microsoft's perpective, and seeing Connections and Quickr on the horizon I can't help but wonder if IBM might be heading more strongly in that direction, too. That's a topic for another post, though. ;-)
In conclusion, if you ignore the hype and the marketing you can develop collaborative solutions on Microsoft technologies without ever touching anything Microsoft lists in their collaboration portfolio. It can be a tough uphill slog, fraught with difficult architectural decisions that can't easily be changed later, but it is possible. If you do decide to go with a pre-built solution framework then Sharepoint is Microsoft's answer. However keep in mind that Sharepoint is more comparable to Quickr and Connections than Domino. Microsoft has no direct answer to Domino or Notes.