Project of the Month, July 2008

By Community Team

ICEcore


Project Leader:

Brent McConnell

Brent McConnell
Experience: Community Manager
Education: BA Mathematics – University of Virginia
Location: Boston, MA area

Key Developers:

Peter Hurley

Peter Hurley
Experience: Lead Hacker
Education: BS Information Technology – MIT
Location: Boston, MA area

David Lapalomento
Experience: ICEcore Hacker
Education: BS CS – University of Texas
Location: Boston, MA area

Why did you place the project on SourceForge.net?

Where else would you put an open source project? 😉

How has SourceForge.net helped your project succeed?

SourceForge gives you access to a tremendous infrastructure that allows users to manage development projects and coordinate remote activity. It’s a thing of beauty.

The number one benefit of using SourceForge.net is:

Lots of bandwidth, storage, and great tools.

Project name: ICEcore
Date founded/started:October, 2007
Project page: http://sourceforge.net/projects/icecore/

How would you describe ICEcore?

Brent McConnell: ICEcore is an extensible collaboration platform that unifies team workspaces with real-time conferencing. It allows teams to boost productivity and reduce communication costs by providing a collaboration platform users can adapt to fit their own changing needs. ICEcore allows users to create teams and share, discuss, and manage information exactly the way each user wants and still have everything cataloged and searchable from one index.

The reason we say ICEcore is an extensible platform is because it is built on the idea of an entry definition which functions as the data model. You can then add your custom views to display that entry. This allows for total customization just the way users want it. If you don’t have the application you need for your collaboration project, it’s easy to add.

Peter Hurley: On-line collaboration: discussions, blogs, wikis, workflow and online meetings, desktop sharing, conference calls, VoIP. One very unique quality is the flexible ACL facility that is coupled with the Lucene search engine and the workflow facility. Instant view of anything you are allowed to see.

David Lapalomento: ICEcore is a suite of team productivity and messaging tools. It’s composed of a number of web-based content-sharing tools like blogs, wikis and discussion forums, and also communicates via Jabber for real-time status and messaging.

Why and how did you get started?

BM: ICEcore is really, believe it or not, a grandchild of AltaVista. The history is long and complicated but to reduce it to it’s core elements, the AltaVista Forum team was spun off and became SiteScape. SiteScape later rearchitected the Forum product into ICEcore and open sourced it late last year around the time Novell purchased SiteScape. So here we are with a great open source corporate sponsor and a new, very cool, open source project.

PH: The project was started 3 years ago. It was suBM:itted as an Open Source project last summer. We wanted to build an open replacement for the SiteScape Forum (nee Altavista Forum) using Java, J2EE and other open source components. We also wanted this to be JSR168 compliant.

DL: I heard from the community manager, Brent McConnell, that there was an opportunity to develop ICEcore full-time in late April and I jumped on it.

What is the software’s intended audience?

BM: ICEcore is all about making teams work better together. With its flexible design it can really work for any audience that needs to collaborate. Out of the box, ICEcore ships with discussion forums, wikis, blogs, file folders, and project management functions, but can be configured to support any type of information that requires collaboration.

PH: Enterprise organizations.

DL: Right now, I suspect most ICEcore instances are set up at medium to large-scale businesses. I’d love to see it trickle down to small businesses and less formal organizations.

How many people do you believe are using your software?

BM: I would love to know that myself. Between the supported version, Novell’s Teaming + Conferencing, and the open source ICEcore version I would say there are tens of thousands of end users.

DL: As with all open-source projects, it’s difficult to say exactly. Counting all of the existing installations from ICEcore’s closed-source days, it’s certainly a fair number.

What are a couple of notable examples of how people are using your software?

BM: The Forum product, and now ICEcore, are big in the educational space. Schools love it because they can setup workspaces for each of their classes and the teachers can share information and homework assignments. There are also some very large customers of the supported version that use it for Communities of Practice and have estimated the cost savings from these installations into the millions of dollars! All because ICEcore reduces communication barriers and makes it easy for teams to collaborate.

DL: Just recently, we’ve had some discussions on the forums about developing a custom blogging application on ICEcore. ICEcore already has blogging capabilities built-in but it’s interesting to see people using the platform to create and extend the existing tools.

What gave you an indication that your project was becoming successful?

BM: [Being named] SourceForge POTM 🙂

DL: I think the biggest indicator has been how eager everyone we’ve talked with is to integrate ICEcore and collaboration tools into their infrastructure. It seems everyone is looking for a package like ICEcore to bring their team members together.

What has been your biggest surprise?

BM: I think my biggest surprise has been that being successful in open source is not as easy as just releasing source code. It requires a lot of outreach and communication with the community to get a project off the ground these days. Five years ago I think it was easier because there were fewer options for open source software. Today, however, the number of GREAT open source projects is huge in every space. This means that not only does your project have to be of high quality, but you also have to reach out through lots of different channels to have your message heard.

PH: Our biggest surprise was that the first big customer wanted to migrate their Filenet environment to ICEcore. This meant creating 250,000 folders with over 2 million files. The surprise (pleasant as it was) was that the architecture performed well (after a couple of tweaks), with no appreciable performance loss. The second surprise was that the second customer wanted to put 80,000 users on the system. While that hasn’t happened yet, creating all of those accounts did not cause any problems.

DL: My biggest surprise was hearing the vision for the project moving forward. It already brings an enormous amount of functionality to the table out of the box; it’s exciting to know that there’s no shortage of inspiration to take ICEcore to the next level.

What has been your biggest challenge?

BM: See above 🙂

PH: High performance, real time modifications to Lucene documents. Certain ACL changes cause massive numbers of Lucene documents to be updated. We achieved this by making these changes directly into the Lucene database without having to perform a full re-index of the affected documents.

DL: Juggling all of the things we’re trying to do with ICEcore. There’s more good ideas than we can possibly implement.

Why do you think your project has been so well received?

BM: I think ICEcore has a unique solution to a problem that has nagged corporate managers for a long time. Most collaboration solutions are point solutions, meaning that they do one thing and do it well (sometimes). This leads to information being scattered throughout the enterprise in lots of different applications and not very accessible. ICEcore solves this by using one application to manage team contributions. Wikis, blogs, discussion forums, even email can be managed in ICEcore and searched from just one index. This allows team members to work the way they want and still have everyone on the team be able to find what they need.

PH: Ease of navigation and data discovery; WebDAV integration for direct inline editing of uploaded documents; integrated workflow; scalability and performance.

DL: I think a lot of it is because ICEcore is the whole package. There’s a lot of separate solutions for these problems, but I’m not aware of anything that unifies them like ICEcore.

Where do you see your project going?

BM: We want to be the “hub and spoke system” for collaboration in the enterprise. Everything connects through ICEcore for collaboration. We have the extensible platform, now we want to see developers take advantage of the platform to create the next generation of collaboration applications. Actually, we’re adding some very cool new functionality and have some big news about the future of our project coming up, too. We plan to announce both at OSCON this month, so everyone should be sure to keep their ears open for it.

PH: More social networking; better performance; more customization hooks and facilities.

DL: I want to see ICEcore develop as a platform for building team applications in the future. To that end, I’d like to trim the system itself down to something lean and mean, and bundle all of our features as plugins.

What’s on your project wish list?

BM: First on our list is improving the custom application support in ICEcore. Although the product is extremely configurable and customizable, we lack a quality user experience (ie. UI) for extending the platform. This is first and foremost. On a similar note, these custom applications should be created and configured in many ways through convention much like popular Web frameworks of today (Rails, Grails, Django, etc). ICEcore is a framework for collaboration applications and should be as simple to extend as other web frameworks.

DL: Besides the enhancements to ICEcore extensions, I’d like us to embed a database and servlet engine into our binary releases to really streamline the installation process for less-technical users.

What are you most proud of?

BM: I love the way the community of open source users have found and supported our project. It’s an amazing process when you stop and think about it.

DL: Right now, I’m most proud of the ICEcore team for making the leap to open-source software. It’s a very different model but I think it will make ICEcore a better system in the long run.

If you could change something about the project, what would it be?

BM: I’d like to see our installation process made easier. We are working hard to make this happen but we’re still not quite there. Although the installation can be tricky, we have created a VM to help manage this challenge for our users. Download it from SourceForge 🙂 and enjoy.

DL: I’m not thrilled with our usage of JSPs to provide view templates. I feel strongly about separating logic from the views and I think JSPs make it too easy to mix them up. It would be great to explore some other options in this space.

How do you coordinate the project?

BM: We coordinate the project with, you guessed it, ICEcore itself. If you go to our community site at http://www.icecore.org you are actually in a working instance of ICEcore. We have created our own bug tracking system by using the extensibility of ICEcore and rely on our discussion forums and wikis for product documentation and support.

PH: It’s a small team all co-located.

DL: Currently, coordination is handled very informally. The project is still establishing its identity as open-source and I expect we won’t be able to be so relaxed about things for much longer.

Do you work on the project full-time, or do you have another job?

BM: I have the luxury of working for a company that truly believes in open source, Novell. They not only “talk the talk” but continue on a daily basis to “walk the walk” by providing financing and resources to open source projects.

PH: Full time (and then some)

DL: I work on ICEcore full-time.

What is your development environment like?

BM: ICEcore runs on both Windows and Linux. ICEcore Team is a Java web application and can run on any Java 5 compliant JVM. ICEcore Conference is written in C and C++ and is built with Linux and Windows in mind primarily.

PH: We all use Eclipse. Most of the development is done on Windows XP systems.

DL: openSUSE + Eclipse

Milestones:

Milestone Date Description
ICEcore 1.0.0 October 2007 Initial release
ICEcore 1.0.1 November 2007 Performance and stability enhancements
ICEcore 1.0.2 January 2008 Improved UI
ICEcore 1.0.3 June 2008 Much improved development API
ICEcore 1.1 alpha1 May 2008 Style updates, “full-screen” mode
ICEcore 1.1 alpha2 July 2008 Better support for developing and installing custom extensions

How can others contribute?

BM: The easiest way to contribute to any open source project is to use the software and give us your feedback. This is simple and very helpful. If you want to file bug reports, even better:-)

The next thing we would like to see users take an interest in is our platform capabilities. Our developers are currently charting the course for several enhancements to our development framework on icecore.org. Give us your thoughts on what you think a collaboration framework looks like, then help us develop out our application library.

PH: We have a new “remote application” architecture (similar to the one on Facebook). We would love to have people write applications that augment the capabilities of the current system. Specifically, report writers and management applications.

DL: I’d love to see people developing their own extensions and submitting them back to the community. We could also really use ICEcore packages for the big Linux distros to ease installation. Beyond that, if anyone sees an opportunity to extend the existing teaming tools I think that would be great, too. All the ICEcore developers are available to assist through the community portal.


Check out our previous projects of the month.


Leave a Reply

Your email address will not be published. Required fields are marked *