Blog

Archive for May, 2010

May 04 2010

Spree Roadmapby Sean Schofield

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.

Developer Listing

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.

Improved Documentation

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.

Spree 1.0

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.

May 01 2010

The State of the Spree Community - May, 2010by Sean Schofield

This week we started launching the first of several Spree projects that the Railsdog team has been working on. Since things are relatively quiet this weekend (for once), I wanted to take the opportunity to pause and reflect on the state of the Spree project and our community.

Statistics

The Spree project is really starting to pick up steam. Here are some quick stats:

  • 15,000 gem downloads - Over 10,000 of these downloads are from July 2009 until now (via Rubygems.org)
  • 2,000 gem downloads since March 25, 2010 (the last release)
  • 365 forks on Github (#6 overall on Github)
  • 1,177 watchers in Github (Top 30 overall on Github)
  • 99 different contributors to the source code
  • 21 different contributors to the documentation
  • 22 different translations (with more expected now that we have the spree-i18n project)
  • 825 members on the spree-user mailing list with over 7,000 messages
  • Over 100,000 visitors and 250,000 visits to the Spree website
  • Over 20,000 visitors to the Spree website last month

Real World Deployments

Spree continues to be deployed in live sites around the world. Many of these sites have already been announced on the spree-user mailing list. Others will be announced shortly on the newly designed Spree showcase (more information on this in the next post.) The Spree project continues to improve with each customer implementation. New tools for converting sites and integrating with fulfillment centers are being written each day. We continue to receive numerous donations from the community in the form of Spree extensions.

Strong Community Interest

The Spree project continues to garner a strong level of interest from the Rails community and is attracting an increasing level of attention from outside of the Ruby/Rails space. We received very strong indications that there would be keen interest in a Spree conference and we made some preliminary plans to hold one. We ultimately decided against holding such a conference this spring because we felt there was not enough time to organize a proper venue. We'll definitely be revisiting this idea in the near future though.

Spree will also be prominently featured at this years Railsconf in Baltimore, MD. Spree will be discussed in an expert panel on e-commerce which I will be moderating. There will also be a birds of a feather session dedicated to the Spree project that same evening at 8:00 pm. Many of the Spree core team members will be at the conference along with some of the active contributors in our community.

Steady Progress

Another important measure of the health of the community is consistent contributions. How frequently is the project updated? How active are the contributors? Is the project steadily being improved or is it slowly losing the interest of its developers and users?

We're pleased to report that the Spree project continues to receive a consistent stream of contributions from our developers and community.

Spree Activity

The Ruby on Rails project is probably the best known open source Ruby project out there. Take a look at their contribution history below. You will see that they have a similar healthy trend - one that we're proud to emulate.

Rails Activity

Just to contrast, take a look at the activity level of the Paperclip project. Its actually one of the more popular projects on Github but as you can see in the graph it does not receive a steady level of contributions over time. In fact, this is fairly typical of many open source projects and it does not necessarily reflect the usefulness of the project in question.

Paperclip Activity

I want to be clear that we're not bashing the Paperclip project. Its a great plugin and we use it ourselves in the Spree project. Paperclip is a small tool for a very specific need. It solves this need very well and its used by thousands of Rails developers with the same problem.

I'm comparing Spree to Paperclip for one reason - to show that Spree is something special. Its different than most Ruby projects out there on Github. It has a vibrant community with thousands of real world users. It solves a complex series of problems that require continuous improvement and refinement. Like Rails, Spree has an active community and a bright future ahead of it.

The Road Ahead

The core team has been working hard behind the scenes to prepare Spree for its next big step forward. In my next post I will be discussing the road map for Spree and how we envision its evolution in the future.