JBoss does collaboration
A rich open source platform on offer
MS Exchange – it's healthy, but missing something. That, at least, appears to be the opinion of Andrew Oliver, project lead on the JBoss Collaboration Server team. And he has a point.
There's an Andrew Oliver podcast here.
Microsoft has never really "got" collaboration. Back in the 1990s, in the days of Windows for Workgroups, I remember a Microsoft conference speaker explaining to me that there were two sorts of collaboration, a serial progression of emails from person to person (the Microsoft definition) and everybody working on the same thing at the same time with version control and collision resolution (everybody else's). Definition two was, apparently, really hard; but glorious Microsoft research would encompass it some time in the 21st century. Perhaps this guy should have looked up Doug Engelbart's 1968 work at Stanford Research Institute in Menlo Park, here, some 25 years earlier.
Exchange (in conjunction with other bits of Microsoft technology such as Sharepoint) now has all the tools and power it needs for true collaboration. However, as far as I can see, it seems to be used by most people merely as an upmarket email engine (despite the rich Exchange apps Microsoft trots out as demonstrations of what is possible; and the valiant attempts of some users to run their whole companies on it).
In contrast, Lotus Notes, has always seemed to facilitate the production of true, user-led, collaborative applications, despite offering a rather clunky programming environment. So, between Exchange (commercially healthy, but often just email-oriented) and Lotus Notes (commercially less healthy and, Andrew says, "in divestiture" - although I think that reports of its demise may be premature; but a true collaborative enabler, well ahead of its time, none-the-less), perhaps there's a hole in the market.
In comes JBoss Collaboration Server, an open source project that aims, as far as I can see, to compete effectively with Exchange, while offering the collaborative programming environment of Lotus Notes, in an up-to-date and usable form. Of course, Ray Ozzie, inventor of Notes and developer of Groove Networks' Virtual Office (now Office Groove 2007), is now working high-up in Microsoft, so the competition from Exchange probably shouldn't be discounted just yet.
However, from its presentation at JBoss World 2006, JBoss Collaboration Server is an Open Source initiative well-worth watching too. There are some excellent pointers to success already. For a start, it stores its data in an RDBMS – any JDBC3 database, although it specifically caters for Oracle, MySQL and PostgreSQL. You generally have database expertise inhouse, you don't want to be forced to add Jet (or even SQL Server) expertise just for the convenience of your collaboration tool vendor. And, of course, custom reporting (and extension) via SQL is straightforward.
Then, JBoss Collaboration reuses the JBoss JAAS authentication framework – any authentication framework JBoss supports is available for Collaboration. Why reinvent the wheel?
And, the philosophy is not to rebuild existing clients such as Outlook but to exploit them and "push them harder". After all, Exchange now supports just about all the function needed for collaboration.
Interestingly, the project is using Flash, not Ajax, for the client. Apparently, it has the expertise available (James Ward, main author of the Collaboration Client, is a bit of a Flex guru), Adobe is "open" enough (more so than Macromedia was) and Flex 9 is fast enough, with its JIT compiler. Perhaps the real reason, however, is that (in this application) Ajax requires more tedious coding than a small team can cope with and Flex provides a rich and consistent runtime across "all" (most) platforms, although the Linux client is currently lagging a bit because of Adobe's priorities...
JBoss expects to pick up Notes users to start with, by offering a similar collaboration-oriented environment, with particularly good mobile support. Nevertheless, Exchange is firmly in its sights and for version 2.0, due around the end of 2007, Andrew promises to port the whole Exchange protocol (a "weird fork of DCE"; apparently, he’s good with hex dumps) to Java and open source - not just the web communications subset available through Novell's Ximian.
Andrew sees a true collaboration platform as more than just a mailserver and client with a calendar thrown in. At the very least, it includes the "glue" that holds it all together; and it is expanding to include chat, files, voice - and mobile "clientless" services (Aron Sogor, main author of JBoss Calendar, has a Vodafone background). Andrew says he sees mail-based applications as just a subset of general collaboration-based application services and, of course, collaborative applications are often event or workflow-based.
JBoss Collaboration will use an LGPL licence (basically, you give back to the project any JBoss code you modify), will use open protocols wherever possible (where not, it will transfer "in clear" XML etc.), and is committed to database and platform independence. It relies on Java 5, for improved garbage collection, especially over multiple CPUs.
I think that writing true collaborative applications: email and calendar-enabled but using mobile location-based facilities to truly enable "workgroup computing" (a term I lay some claim to having invented, many years ago in The Book of Workgroup Computing, when I felt that "groupware" was over-emphasising the software over the business process), is a real opportunity for developers today. I shall follow the development of JBoss Collaboration Server with interest. ®