crowdSPRING 2.0 update Tal | September 3rd, 2009
We, the development team, have been working hard to get crowdSPRING 2.0 ready for release, and haven’t had much time to interact with the community, except to take a break once in a while to see what exciting projects are posted, and see some inspiring creative work. But, just to keep us from being forgotten (we need to be fed and watered at least once a day), here’s a quick update from the dev garage.
The bottom line is that things are looking very good and we’re all excited about this release. We’re now hammering down the last few engineering and testing tasks, and expect to be ready in about a month. What will happen then is that overnight we’ll be utterly transforming crowdSPRING’s software base. The new tech will allow for higher availability, performance, and will make it much easier for us to implement features and tools that you, crowdSPRING users, want.
The entire site and all its plumbing has been rewritten from scratch. We’ve essentially reverse engineered crowdSPRING 1.0’s data structure, which is based on a generic content management system, and created in its place a database tailored exactly to crowdSPRING’s needs. It’s like replacing your fleet of giant battle walruses with a small band of highly trained assault dolphins.* On top of that, we have a user interface built in the Python programming language, clustered and served through a load balancer.
The construction is mostly done. We’re working hard now on getting all the current site’s data into the new site, while maintaining integrity. It’s straightforward but painstaking work, as we want to make sure that no project, no entry, no portfolio item is lost. Another big task is testing, making sure that all features work as they’re supposed to, and that they can handle busy loads. Those of you have been using crowdSPRING for a while know that it’s not trivial: things like the project wrapup have complex workflows that need to be carefully tested. We’ve also implemented entirely new backends for search and notification, requiring their own special fine-tuning.
If you haven’t had enough geekery yet, here are some more factoids about our development process:
- Django provides most of the plumbing between data and user interface. We have some criticisms of it, but overall find it incredibly productive.
- We’re agile, but flexible, too. Developers are given the freedom to work in the style they find most productive, and coordination is constant.
- Most of our development work is done in Ubuntu, installed on MacBooks. We deploy on a mix of Ubuntu and Red Hat.
- We’re doing cool stuff with Amazon’s S3 and EC2 services.
- John likes good soup.
That’ll do for now. Ross is giving me the evil eye, mumbling something about him paying me to code, not to write blog entries. Ross in a bad mood is like an attack of robot oysters on a shoal of war anemone. [NOTE: Ross's revenge - a picture of Tal upside down. YES - that is Tal in the photo above]
So, back to work for me (I’m working on migrating the wrapup comments to the new system). For my next entry, I hope to show you some pretty graphs about our performance and scalability. Graphs are hot.
* Remember Darwin the Dolphin?