"Collaborative software" is an imprecise term. Even ignoring the negative connotations of "collaborators" from World War II, an examination of the term leads to a wide variety of possible interpretations. Solutions run the spectrum from simple email to multi-company supply-side portals. IBM currently has a great ad out for its portal solutions in which it implies that these solutions can create a single point of convergence for everybody from the sheep farmer to the clothing retailer (the poor shepherd is left out; evidently, his technology needs are fulfilled by his crook and maybe an iPod).
(Author's note: Currently, my favorite IBM ad is the one in which the HelpDesk person stops the truck because "the boxes told me" the truck was lost. I hope to address that in another column on RFID somewhere down the road.)
In this column, I will address the technical makeup of team-building collaborative applications. In order to do that, I'll first present some of the many components that might be included in what we would consider enterprise-level collaborative software:
- Instant messaging
- Web conferencing
- Shared calendars
- Workflow management
- Shared projects
- Change management software
- Legacy integration
- Business intelligence
- Portals
And those are just the business applications. Many other offshoots of collaboration that can't really be classified as business software have, or have had, or will have some impact on your daily life:
- Bulletin board systems
- Chat lines (DDials for those who remember them)
- The open-source movement
- Peer-to-peer file sharing (a la Napster)
- Wikis
- Blogs
- MMORPGs (massively multiplayer online role playing games)
But even if I stick to the strictly business-oriented aspects of the collaboration concept, the wide range of options, the many vendors, and the mixed messages are enough to make it very difficult to organize a strategy to take advantage of these new technologies. This column will give you a little better understanding of the issues involved.
The Solutions
Before I break down the players, I need to lay down some simple ground rules as to what we're going to consider as a minimum in terms of functionality. For example, if I were to review every email client, this column wouldn't get past half of them. On the other hand, if I demand too much from any one solution, I might miss some small but innovative products. So, I'd like to start by creating a few basic categories:
- Communications products—These products combine email, calendars, and instant messaging to provide a standard way for people and machines to communicate with each other, both synchronously and asynchronously. Optional components in this category include Web conferencing (voice and picture), contact management software, and support for various handheld devices such as PDAs, phones, and pagers.
- Process management products—These primarily center on centralized calendars and workflow products that together provide automation of business processes that were formerly primarily paper-based. Documents are the underlying unit of work in these systems, and integration with desktop software, particularly presentation software, is a high priority. Project management software is a great option, as are components for sharing documents among multiple users (even in different companies) and for creating intranet or extranet Web sites with interfaces to the information.
- Software development products—Primary components include those for Web enabling legacy applications and for creating business intelligence applications. The best solutions adhere to a standard in which the two can be combined along with other collaborative components. Change management software becomes increasingly important as the environment grows more complex. Interestingly, once you reach the point of the user interface, the only real player in that particular space is the portal. There are competing vendors, but no real competing technology. In fact, the only contender even on the horizon is the rich client platform, which I'll cover another day.
As application designers, we tend to focus our primary attention on the third category. It's an important area, but we can't lose sight of the fact that the other two categories are just as important to the business user. If they're ignored, it's not unheard of to find the application development group using tools dictated by the other two groups.
The Players
Okay, now I can get to the players. When I first began researching this article, I was amazed by the number of companies providing collaboration products. But I was most impressed by the number of companies offering online services, particularly in the communications arena. Let's look at what's available on a piece-by-piece basis.
Communications
As I noted, the really interesting thing about this category is the number of online providers of these services. On the low end of the scale are the plethora of providers of basic "Web board" services. I hesitate to use that term because one of the principal offerings in that particular niche is actually called WebBoard. The "low end" moniker is also a bit misleading; some of these products can charge setup fees of up to five digits along with thousands of dollars a month in user licenses. But these products are getting quite sophisticated, typically with features up to and including online chats and "Web tours" in which the moderator can push Web pages out to the audience. In general, these products are limited in their ability to provide streaming voice or video, but pretty much everything else is available. Many of them provide both hosted services and the ability to host your own.
Next are the interactive online streaming services. In addition to the basic features of the Web boards, these also include streaming voice and video conferencing. The three major online competitors are WebEx, GotoMeeting, and now Microsoft with its Live Meeting software. These companies provide fee-based "managed" conferencing in which they host the entire process without any need for you to purchase hardware or software. Everything (including your corporate information) is stored on their servers. On the other end of the spectrum, many companies provide hardware and/or software to allow you to host your own services in-house. Finally, some companies such as IVCi, LLC provide corporate services that range from completely managed to completely in-house solutions.
However, if you want to fully integrate with your enterprise back-end processes, you have fewer options. Only software such as Lotus Sametime or Microsoft SharePoint will seamlessly integrate with the components from other categories, especially the enterprise integration products.
Process Management
The next category is one that has a very long history and at the same time is seeing a lot of new activity. This category has long been the stronghold of the Notes/Domino products, having been virtually invented by Lotus in the 1980s. The term "groupware" has until very recently been practically synonymous with Notes.
Microsoft really has no competitive answer. Ironically, Notes' worst threat is IBM itself and the new Workplace product line. Although it seems that IBM is putting into place a reasonable strategy to guide Notes/Domino users to the new Workplace technology, there is still a lot of uncertainty among IT professionals—so much uncertainty that if Microsoft had a real process management product, it would be able to move in on Notes in much the same way it displaced Lotus 1-2-3 with Excel. Microsoft has attempted to provide some of this functionality through the introduction of Collaborative Data Objects (CDO), which provide some of the workflow capabilities that Notes has always had. However, I haven't been able to determine what the future of CDO is in the .NET paradigm; Microsoft does not support CDO in the .NET framework (it does support later versions such as CDOEX via COM Interop, but even that is something of a kludge).
There are also a number of companies that provide tools to create your own process management solutions using portal technology. BroadVision does this sort of thing, using an Eclipse-based IDE to allow users to create graphic representations of their business flow, which are then converted to Web portals. Of course, the details of that particular step of the process are a bit sketchy, and I'd have to see it actually work before I passed judgment either way. If you did go in that direction, it would obviously be unlikely to affect your skill-set choices; there simply aren't a lot of people with strong skills in these third-party products, so your staff will be going through a learning curve no matter what.
Software Development
This is really the most interesting area, at least from a developer's standpoint. Whereas the tools for the other areas are at least partially geared toward the end user, the majority of the cool toys in this area are for the propeller-heads. Super-functional IDEs, nifty server software with cool Web interfaces, powerful and highly customizable build and deploy options in change management systems—all of these are the purview of the programmer.
This is also the area where Darwin is whittling away the competition. On the one hand, you have the Microsoft development tools, which have all been pretty much packaged into the Visual Studio suite (older technologies need not apply). On the other hand, you have the Eclipse derivatives, including my personal favorite tool, WDSC. There are a few others out there, like Borland. You also have a number of ancillary tools such as Macromedia's Dreamweaver and the various Photoshop equivalents for creating and arranging static Web information.
But in order to make the right decision on software development, you first need to decide what your application will consist of. The majority of iSeries shops (please excuse me if I'm not quite ready to jump to the System i5 name today) are going to have a large investment in legacy systems, so legacy integration will be key. However, depending on your legacy systems and on the expectations of your users (especially your power users), you may find yourself with a requirement for lots of new development, primarily in the area of business intelligence and Web access, both business-to-business (B2B) and business-to-consumer (B2C).
Finally, the third-party products I mentioned in the previous category tend to overlap into the software development side as well. One of the things that must be weighed when reviewing those products is how well they will integrate with both legacy back-end systems and new development.
Decisions
The communications category is a fairly mature technology arena. If you don't need seamless integration with your enterprise software, so many options exist that this category will likely not be an issue in building your application team. If you don't have the staff to support the functions in-house, you can get a reasonably priced managed solution that will integrate reasonably well with your other desktop software. Alternatively, if you have a requirement to interface with your back-end processes, then you have two directions, Microsoft or IBM. Again, it's unlikely that the makeup of your application team will be decided by this category; the two vendors have more disparity at the level of enterprise integration than in the more mature technology of communications.
At the other end of the spectrum lies the enterprise integration category. In the medium term, you have two choices: .NET or J2EE. There really aren't any other options, although an argument could be made for either RPG-CGI or Linux-Apache-MySQL-PHP (LAMP). RPG-CGI is too rigid and too i5/OS-centric (yes, I said that), while LAMP simply has no real tools, especially from the change management standpoint. The very, very soft nature of scripting languages like PHP and Python make them very difficult to debug and even more difficult to programmatically cross-reference, which means you can write lots more code than you can manage, and that's not the attribute most shops need to emphasize. Productivity is as much about maintaining and enhancing existing systems as it is about writing new code.
If you have a pure RPG shop with no intent to gain any other skills, then RPG-CGI is your direction, while if you're a shop that's being flooded with fresh-out-of-college coders, then the LAMP technology is probably the one you'll be most suited for.
If you're not in either of those camps, then from a development standpoint, it's between IBM and Microsoft, and there's really no compelling argument one way or the other. Personally, I'm a Java bigot, and I absolutely love Eclipse and WDSC as development environments. On the other hand, Visual Studio 2005 is an extremely productive IDE as well. I'm more comfortable in Eclipse-based IDEs, but VS is comparable. The biggest problem is that as Microsoft moves more toward .NET, the older base of Microsoft code (including the mass of free code available on the Web that makes Microsoft programmers so productive) becomes obsolete. In fact, from a long-term standpoint, there are probably many advantages to being a non-Microsoft shop if you plan to focus on .NET technology. The point is that being a Microsoft shop today doesn't necessarily make .NET the best long-term solution.
That brings us to the last category. The process management arena is, to my mind, going to be the most fundamental area of change in the next decade. Don't get me wrong; user interface is still a huge issue, and the whole enterprise integration piece is going to be the sexiest bit of programming done in a long time. But in the long term, the organization and automation of people-centric processes is going to provide the biggest productivity enhancement to companies—and that includes all companies. To that end, the prohibitive favorite is Lotus, but a lot is going to depend on IBM's Workplace strategy.
Final Thoughts
One of the biggest problems with Microsoft technology in the next three to five years is going to be the transition to .NET and Vista. If Microsoft continues to make programming changes seamless (its VB-to-VB.NET wizards are pretty good today; a programmer like myself with passing knowledge of VB can hammer his way through a conversion), it will do well here. The other issue is whether Microsoft will be able to deliver the new Windows operating system before it loses credibility. But Microsoft has it hands down over any competition when it comes to desktop integration.
For IBM, the biggest issue is the positioning of the Lotus family and the Workplace product line. There needs to be a coherent future path, because otherwise it's hard to pick either solution. Integration with legacy systems is the IBM strongpoint, so the amount of back-end processing weighs heavily in the decision.
To me, the decision is relatively simple. If your current legacy systems need little attention but you need desktop integration and powerful business intelligence tools in a short time frame, you may want to begin transitioning toward the .NET framework. In that case, provide your current team with Visual Studio and start looking for younger programmers with .NET backgrounds. If, however, you have a high need for legacy systems integration or if you think that process management is your next center of interest, then I'd stick with the IBM route. Start with Lotus products now, but be sure to talk with your IBM representatives for help in transitioning to Workplace, and no matter what, get WDSC on everyone's desk and start finding some Java expertise.
If you have no need for any of the above and you just want to be able to share calendars and have Web access to projects, then you might be better served with one of the smaller communications-only packages, at least for the time being. Depending on your data security needs, I'd suggest a hosted option; that way, it's less of an investment if your requirements change and you decide to move to one of the other in-house options.
Joe Pluta is the founder and chief architect of Pluta Brothers Design, Inc. He has been working in the field since the late 1970s and has made a career of extending the IBM midrange, starting back in the days of the IBM System/3. Joe has used WebSphere extensively, especially as the base for PSC/400, the only product that can move your legacy systems to the Web using simple green-screen commands. Joe is also the author of E-Deployment: The Fastest Path to the Web, Eclipse: Step by Step, and WDSC: Step by Step. He will be speaking at Local User Group meetings around the country in February, March, April, and May; you can reach him at
LATEST COMMENTS
MC Press Online