Project Roadmap

From iFolder

Table of contents

Introduction

This document describes the high-level roadmap for the Open Source iFolder Project (http://www.ifolder.com). This document does not describe the roadmap for the Novell iFolder product or any Novell product that may include components from the open source iFolder Project.

Background

The iFolder project stems from a research project run deep in the bowels of Novell. For the sake of discussion, let's refer to that research project as "foo". We'll skip all of the details of "foo" and get to the results and why the iFolder project was started. Before we list out the points discovered, it's important to state that when we mention information workers, we are talking about normal every day computer users who don't have "the nack". When boiled down and simplified, "foo" gave us the following points:

  • All current file sharing is too difficult to setup and use
  • Information workers don't get rights beyond read/write, and read-only
  • Information workers don't get nested rights
  • Most collaboration is done using email
  • Email is a users list of what's important to everyone else
  • Information workers expect their disconnected experience to be the same as the connected one

The current iFolder team at Novell was invited to participate in "foo" and incorporate it into their next product. At the same time all of this was happening, Novell aquired Ximian and embraced Linux and the open source community. The decision was made to build a foundation where many of the "foo" discoveries could be solved and to build it as an open source project. Thus you have the birth of the iFolder project.

What is Simias?

The dirty little secret of the iFolder project is that there is a much richer project hiding inside called Simias. When we went to build the foundation to address the "foo" issues, we knew that there had to be a real product that people could install and run. The core technology would contain the object store, sharing, syncing, access control, and collaborative properties needed to solve "foo". iFolder would be a simple "view" to present Simias data in a way that people would understand and be able to use the first time they saw it.

At some point, Simias will need to be broken out of the iFolder project and managed on it's own. See our future plans for more details on that.

Release strategy

Early on in our process we have had some confusion as to our versioning. I think we've settled on it so from iFolder 3.2 and Simias 1.2 the versioning will be done as explained here.

Iteration Release
The iFolder project is run in three or four week iterations. At the end of an iteration, the entire project should build and install but may or may not upgrade from a previous iteration or release. Iterations are simply a fixed period where a set of features are targeted. The features may or may not be finished at the end of an iteration but progress on those features is reviewed at the end of the iteration. Iterations are generally more stable than the nightly builds but not nearly as stable as a release. These releases will be versioned with an odd version like iFolder 3.5 and Simias 1.5.

Stable Release
At the end of a stable release, the entire project should build, install, and upgrade from a previous release. Stable releases are what we recommend users download and run who are not involved in the development, documentation, or testing of the project. Stable releases are planned based on a set of features, not on a time frame. As the set of features planned for a stable release are met, the time frame of the release becomes more concrete. These releases will be versioned with an even version like iFolder 3.6 and Simias 1.6.

iFolder 3.0

The iFolder 3.0 release included the following:

Simias 1.0

Collection Store

   - Schema-less object store consisting of Nodes and Collections of Nodes
   - Support File Nodes with managed or un-managed files
   - Rights levels of Read/Write, Read-Only, or none at a collection level
   - Search for nodes based on properties and types
   - Domains that define a share set of collections in the store
   - Rosters that define members of collections per domain
   - Authentication and Authorization to collections and nodes
   - Events for changes made in the store

Synchronization

   - Sync store data and files using rsync algorithms
   - Sync over http/https
   - Detect when connection is up or down and resume sync

Overall

   - Run on Linux, Windows, and Mac OS X
   - Built on .Net  --push forward the Mono project
   

iFolder 3.0

Overall

   - Native UI for clients on Linux, Windows, and Mac OS X
   - Build iFolders on the simias Collection foundation
   - Create unlimited number of iFolders
   - Share iFolders Read/Write or Read-only
   - Allow others "admin" rights to re-share the iFolder
   - Place iFolders anywhere the user has read/write rights on disk
   - Show sync status/progress of iFolders
   - Language enabled UIs

iFolder 3.1

The iFolder 3.1 release was mosly bug fixes on the 3.0 release. We also added workgroup functionality which enabled work to continue on the Gaim and Bonjour additions. iFolder 3.1 is included in the SUSE 10 Linux distribution. iFolder 3.1 release included:

   - Internationalization of Linux and Windows UIs
   - Peer-to-Peer domain enabled in Simias with simais-bonjour package

iFolder 3.2

This release was based on the 3.1 code base and was primarily bug fixes for the service packs of Novell's OES product. No major features were added to this release.

iFolder 3.4

This release is targeted at Novell's various distributions based on the SUSE10 code base (including NLD 10). There have been some minor updates in this branch including a new service model in Simias. The major effort in this release will be an updated client UI to improve usability.

iFolder 3.5

This will be the first release of the iFolder Enterprise Server as open source software.

iFolder 3.6

This release will concentrate on two major features : Encryption and Multiserver support. This will close the feature gap between iFolder 2.x and users can migrate from iFolder 2.x to iFolder 3. Scalability has a top priority in this release.

More on iFolder 3.6 Planning Page.

Future features we are considering

We may or may not do these things, they are just things we have thought of or people have suggested we do. Of course, if you want to work on these things, then they'll happen sooner! Drop us a note on the ifolder-dev (http://forge.novell.com/modules/xfmod/maillist/?group_id=1372) list if you're interested in pitching in!"

  • Bookmarks - Create collections of bookmarks and sync them between machines and users. Boyd Timothy (http://blog.timothy.ws/index.php?/archives/28-Functioning-iFolder-Bookmarks.html) has already done some significant work on this but would like to get help to move it along.
  • Blogs - When the iFolder project was first created, Calvin (http://cgaisford.blogspot.com) and Brady had a small project called slogger that would allow you to blog in a Collection as a team and surface the collection on the backend through an RSS feed. The code is still out there in CVS, but it needs some serious love to work with Simias today.
  • Wiki - Wouldn't a wiki be awesome that was local and you could work on it at any moment and it would sync up when you connected?
  • Tomboy - With a little work to Tomboy (http://www.beatniksoftware.com/tomboy/), you could not only sync your notes to other machines, you could place notes in Collections (like iFolders) and have share notes.
  • f-Spot - Integrate Simias with f-spot (http://www.gnome.org/projects/f-spot) and be able to have shared collections of photos managed right in f-spot.
  • Calendars - Shared "team" calendars.
  • Gaim - Maybe a gaim plugin that would setup a collection to sync settings and conversations between machines.