We’ve been hard at work on some client projects lately but we’ve also been quietly improving the Spree code with minor patches. Lately we’ve had a lot of people asking about Rails 3 support and other topics regarding the future direction of Spree. I thought I would take a few minutes to outline where the project is headed over the next few months.
Rails 3 Support
The most important development coming to Spree is support for the new Rails 3 release. Spree has always been quick to support new versions of Rails and we plan to continue to keep pace with the fast moving pace of the Rails core team. The newest version of Rails will offer several improvements that will reduce the amount of hacks needed to get Spree working on top of Rails. The upgrade to Rails 3 will yield several benefits.
- Easier integration with Rails apps
- Elimination of the site extension – all custom code can reside in RAILS_ROOT
- Extensions as engines
- Extensions as gems
- More modular design which will allow developers to use only select modules (similar to Rails)
- Faster performance in development mode
- Less code to maintain in the Spree project
The core team has already started to explore the implications of a Rails 3 upgrade. We’re conducting several experiments to test the new functionality which is still in beta and not well documented. Our initial results are encouraging and we’re going to be starting a massive development push on this in May. Our goal is to have Rails 3 support in time for Railsconf.
More Core Members
We’re hoping to add more core team members to the project – ideally from companies other than Rails Dog. The heavy Rails Dog representation on the core team is a byproduct of needing to hire the best Spree developers we could find. All of the core members now on Rails Dog started out as independent contractors.
We’re definitely interested in broadening the representation on the core team. We could certainly use more help with keeping on top of the patches and tests needed for our fast moving code base. Last year we posted something on how we choose core team members if you’re interested.
New and Improved Showcase
The current list of Spree sites is woefully out of date. We’re working on a much improved showcase that will allow members of the community to share their sites with the rest of us. New entries will be moderated and we’ll also have the option of a "private listing" which allows you to register the site but not to share it with the public. We prefer that you share your site with everyone, but if your client is uncomfortable, you can at least share it with the core team. You’ll also receive credit for listing a private site when it comes to your ranking in the new Developer Listing section of the website.
The Spree website is currently undergoing a major overhaul. In addition to some visual and organizational improvements, there will new sections such as the "Developer Listing." This section of the website will list development shops who are currently building Spree sites. We’ll be giving priority to those companies/freelancers who have built the most verified Spree sites. It will also be possible to browse the public sites and extensions contributed by each of the companies/individuals in the developer listing.
The documentation is in need of some major refactoring. We’ve been pretty good about keeping the documentation up to date but it needs to be reorganized along some more useful guidelines. In general, we’d like to see documentation split out into information that is useful for setup/configuration and that which is useful for customization/development. We’re going to try and separate out some of the low level technical detail so its easier to focus on getting up and running. We’ll still have the technical details but in a section that is more geared towards developers.
Full Featured Demo
We’re very interested in building a more full-featured demo of Spree. The idea is to go beyond the basic store that comes "out of the box" and show potential users something a little more sophisticated. The Spree core is not going to contain support for Google Checkout, full text search, Paypal Express, etc. but we want to show that this is easily done with extensions. The idea is to make this open source version of the demo available to everyone so it can also be used as the starting point for a store or simply as a means to study the Spree extension mechanism more closely. We don’t have an estimated timeframe for completion of this demo. Most likely it will be in the Fall of 2010.
Finally, the Spree project will hit "1.0" status sometime this year. This is mostly a symbolic milestone but its an important one. Once we reach 1.0 status we will be much more hesitant to change anything that will break existing sites and extensions. We still try to minimize this type of change now but sometimes its justified in order to significantly improve the core based on valuable insight we have gained from our users and real world deployments. The 1.0 release will take place after the Rails 3 support is released and all of the important extensions have been upgraded.